Odpowiedzi:
Najłatwiejszym sposobem jest po prostu:
ul li:after {
content: url('../images/small_triangle.png');
}
<!DOCTYPE html>
Spróbuj tego:
ul li a:after {
display: block;
content: "";
width: 3px;
height: 5px;
background: transparent url('../images/small_triangle.png') no-repeat;
}
content: "";Deklaracja jest potrzebna, aby nadać wygenerowanemu elementowi zawartość, nawet jeśli ta zawartość to „nic”.
Poprawiłem również składnię / kolejność backgrounddeklaracji.
left: 50%ponieważ nie byłby wyrównany do środka. left: 0; width: 100%Zamiast tego użyj i ustaw pozycję tła na 50%. U mnie działa dobrze. Dziękujemy za wskazówkę dotyczącą wymaganego contentatrybutu.
background-size: container
W przypadku obsługi przeglądarki IE8 właściwość „content” nie może być pusta.
Aby obejść ten problem, wykonałem następujące czynności:
.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%;
}
Uwaga: działa to również z obrazkami
Myślę, że twój problem polega na tym, że element: after psuedo-element wymaga ustawionej w nim właściwości content: property. Musisz mu powiedzieć, żeby coś wstawił. Możesz nawet po prostu wstawić obraz bezpośrednio:
ul li:after {
content: url('../images/small_triangle.png');
}