JOPLOmacedo'nun cevabına eklemek istedim. Onun çözümü benim favorim, ama li'nin birden fazla çizgisi olduğunda her zaman girinti ile ilgili sorunum vardı. Kenar boşlukları vb. İle doğru girintiyi bulmak çok zordu. Ancak bu sadece beni ilgilendirebilir.
Benim için :beforesözde elemanın mutlak konumlandırılması en iyi sonucu verir. padding-leftUl üzerine ayarladım , :beforeelemanın üzerinde negatif pozisyon bıraktım, ul ile aynı padding-left. İçeriğin :beforesağ öğeden uzaklığını elde etmek padding-leftiçin li'yi ayarladım . Tabii ki li'nin göreli konumu olmalıdır. Örneğin
ul {
margin: 0 0 1em 0;
padding: 0 0 0 1em;
/* make space for li's :before */
list-style: none;
}
li {
position: relative;
padding-left: 0.4em;
/* text distance to icon */
}
li:before {
font-family: 'my-icon-font';
content: 'character-code-here';
position: absolute;
left: -1em;
/* same as ul padding-left */
top: 0.65em;
/* depends on character, maybe use padding-top instead */
/* .... more styling, maybe set width etc ... */
}
Umarım bu açıktır ve benden başka biri için bir değeri vardır.