2014-09-25 15 views
5

HTML:CSS :: przed znoszący :: first-letter code

<h1>Example title</h1> 

CSS:

h1::first-letter{ 
    display:none; 
} 
h1::before{ 
    content: url(http://icons.iconarchive.com/icons/ariil/alphabet/32/Letter-E-icon.png); 
} 

Moje pytanie brzmi: Dlaczego :: zanim zabija :: zasada first-letter ? Co tu się dzieje? Jeśli :: before zostanie usunięte, :: first-letter działa poprawnie.

Czy istnieje alternatywa do kierowania pierwszej litery w tym przykładzie bez zmiany html?

http://jsfiddle.net/Borachio/kvaxmhth/

+1

https://developer.mozilla.org/en-US/docs/Web/CSS/::first-letter – disinfor

Odpowiedz

5

Od the spec:

Po reguły p::before {content: "Note: "} selektor p::first-letter matches the "N" of "Note".

Należy również zauważyć, że nieruchomość display jest nieważny :first-letter i :first-line elementami pseudo. Ponownie, ze specyfikacją:

przyszłych wersjach opisie pozwalają na to Pseudoelement stosować do kilku typów wyświetlaczy.

To jest zamierzone zachowanie.

Obejście:

HTML:

<div><h1>Example title</h1></div> 

i CSS:

h1{ 
    display: inline-block; 
} 
h1::first-letter{ 
    font-size: 0px; 
} 
div::before{ 
    content: url(http://icons.iconarchive.com/icons/ariil/alphabet/32/Letter-E-icon.png); 
} 

Demo: http://jsfiddle.net/kvaxmhth/3/

+0

Więc czemu obraz jest wyświetlany? Wyświetlacz: żadna nie powinna być zastosowana do obrazu w tej logice? – Maigret

+2

Obraz jest obrazem, a nie literą. – Mooseman

-1

Nie uboju i :: first-letter nie ma wartości wyświetlona deklaracja.

Więcej informacji: http://www.w3schools.com/cssref/sel_firstletter.asp

+1

Wydaje się pracować z widocznością: ukryta; chociaż. http://jsfiddle.net/Lukedturnbull/kvaxmhth/1/ –

+0

Tutaj nie działało. –

+1

@LukeTurnbull 'visibility' nie działa w przeglądarce Firefox v32. Jaka przeglądarka działa? – disinfor

Powiązane problemy