2016-03-25 6 views
1

Wenn ich meine CSS mit dem W3-Validator validieren, erhalte ich die folgende Fehlermeldung:CSS 2.1 erster Brief nicht Validierung

Das Pseudo-Element :: first-letter hier nicht im Kontext erscheinen kann css21 [first-letter]

Dies ist, was die CSS wie folgt aussieht:

#numbersWrapper p span::first-letter, #numbersWrapper p::first-letter, #lettersWrapper p span::first-letter, #lettersWrapper p::first-letter{ 
    font-size:17px; 
} 

span{ 
    display:inline-block 
} 

Und ein Teil meiner HTML:

<div id="lettersWrapper"> 
<h3 id="MSL">Maritme Signals: Letters</h3> 
<div class="textWrapper"> 
<p>A - <span>Alpha</span> 
<br/><img src= (REMOVED) 
    alt="I have a diver down; keep well clear at slow speed." 
    title="I have a diver down; keep well clear at slow speed."/></p> 
<p>B - <span>Bravo</span> 
<br/><img src= (REMOVED) 
    alt="I am taking in, or discharging, or carrying dangerous goods." 
    title="I am taking in, or discharging, or carrying dangerous goods."/></p> 

Weiß jemand, warum es nicht validiert? Ich habe ein wenig online geschaut und denke (wenn ich richtig verstanden habe), kann man keine Elemente verketten und dann den Anfangsbuchstaben verwenden. Dies scheint jedoch nicht richtig zu sein, da es bei der Anzeige der Seite in Chrome definitiv funktioniert.

+0

Warum würden Sie das 2.1-Profil wählen? –

Antwort

0

CSS 2.1 Pseudo-Elemente (einschließlich first-letter) sollten nur eine : haben. Ihr Code sollte wie folgt aussehen:

#numbersWrapper p span:first-letter, #numbersWrapper p:first-letter, #lettersWrapper p span:first-letter, #lettersWrapper p:first-letter{ 
    font-size:17px; 
} 

span{ 
    display:inline-block 
} 
+0

Oh wow etwas so einfaches, danke! Kann ich fragen, warum das W3Schools Beispiel zwei verwendet? –

+0

Es war ursprünglich nur ein Doppelpunkt. Wenn sie zu CSS3-Selektoren wechselten, wurden daraus zwei Doppelpunkte. Sie können es in den Spezifikationen CSS 3 (https://www.w3.org/TR/css3-selectors/#first-letter) vs CSS 2.1 (https://www.w3.org/TR/CSS2/selector) sehen .html # first-lettern) – scottheckel

+0

Ich sollte erwähnen, dass ich angenommen habe, dass Sie einen CSS 2.1-Validator verwenden, da in der Fehlermeldung "css21" steht. Edit: Habe auch nicht bemerkt, dass dein Titel es erwähnt. – scottheckel