各リストアイテムの後に画像を挿入する


144

各リスト要素の後に小さな画像を挿入する最良の方法は何でしょうか?疑似クラスで試してみたが何かがおかしい…

ul li a:after {display: block;
width: 3px;
height: 5px;
background: url ('../images/small_triangle.png') transparent no-repeat;}

助けてくれてありがとう!

回答:


327

簡単な方法は次のとおりです。

ul li:after {
    content: url('../images/small_triangle.png');
}

そして、Firefoxでのこれに関するいくつかの問題
Johnny_D

204
IE7が悪いことに注意してください。
Big McLargeHuge 2013年

@RichardGarside「doctype」とは、このようなことを一番上に意味しているのですか <!DOCTYPE html>
Joe Morano、2015年

この方法の問題は、画像に代替テキストを提供できないことです。これにより、(画像の用途によっては)アクセシビリティが低下する可能性があります。
ダミアン

2
しかし、これを使用して画像に高さ/幅を与えることはできません。
ファイサルアシュファク2015

82

これを試して:

ul li a:after {
    display: block;
    content: "";
    width: 3px;
    height: 5px;
    background: transparent url('../images/small_triangle.png') no-repeat;
}

content: "";コンテンツが「何もない」場合でも、生成された要素のコンテンツを提供するには宣言が必要です。

また、background宣言の構文/順序を修正しました。


13
background-image-sizeを使用して画像のサイズを制御できるため、この手法は単純な手法よりも好きです。
Andrew Hedges

2
画像を水平方向に中央揃えにしたい場合にも、これが必要になります。left: 50%中央に位置合わせされないため、配置できません。left: 0; width: 100%代わりに、背景の位置を50%に設定してください。私にはうまくいきます。必須content属性についてのヒントをありがとう。
ygoe 2013年

1
これがより良い答えでした。また、ブートストラップを使用している場合は、display:inline-block;を使用する必要がある場合があります。それ以外の場合、画像は各liアイテムの下にあり、左右ではありません
Marvel Moe

1
見栄えは良いですが、画像をインラインで表示するには( "li"の後)、 "display:inline-block"にする必要があります。
デッドプール2018

さらにbackground-size: container
ロジャー

11

IE8サポートの場合、「content」プロパティを空にすることはできません。

これを回避するために、私は次のことを行いました:

.ul li:after {
    content:"icon";
    text-indent:-999em;
    display:block;
    width:32px;
    height:32px;
    background:url(../img/icons/spritesheet.png) 0 -620px no-repeat;
    margin:5% 0 0 45%;
}

注:これは画像スプライトでも機能します


4

あなたの問題は、:after psuedo-elementにcontent:プロパティを設定する必要があることだと思います。何かを挿入するように指示する必要があります。画像を直接挿入することもできます。

ul li:after {
    content: url('../images/small_triangle.png');
}


0

これを行う私の解決策:

li span.show::after{
  content: url("/sites/default/files/new5.gif");
  padding-left: 5px;
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.