Ich versuche, CSS-Stile auf einige HTML-Snippets anzuwenden, die aus einem Microsoft Word-Dokument generiert wurden. Der von Word generierte HTML-Code ist ziemlich grausam und enthält viele Inline-Stile. Es geht ungefähr so:
<html>
<head></head>
<body>
<center>
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman"'>Title text goes here<o:p></o:p></span></b></p>
<p class=MsoNormal style='margin-left:18.0pt;line-height:150%'><span
style='font-size:12.0pt;line-height:150%;font-family:"Times New Roman"'>Content text goes here.<o:p></o:p></span></p>
</body>
</html>
... und ganz einfach möchte ich den ersten Buchstaben des Titelabschnitts stylen. Es muss nur größer und in einer anderen Schriftart sein. Um dies zu tun, versuche ich, den :first-letter
Selektor zu verwenden, mit einer Art von:
p b span:first-letter {
font-size: 500px !important;
}
Aber es scheint nicht zu funktionieren. Hier ist eine Geige, die dies demonstriert:
Irgendwelche Ideen, was falsch ist / wie man den ersten Buchstaben des Titelabschnitts richtig gestaltet? Ich kann geringfügige Änderungen am Markup vornehmen (z. B. das Hinzufügen eines Wrapper-Divs um Dinge), allerdings nicht ohne Schwierigkeiten.
span
Element verwenden zu wollen , deshalb bin ich überrascht, dass es nicht funktioniert.Sie können das beabsichtigte Verhalten erhalten, indem Sie die Anzeigeeigenschaft des Bereichs auf Inline-Block setzen:
.heading span { display: inline-block; } .heading span:first-letter { color: red; }
<div class="heading"> <span>An</span> <span>Interesting</span> <span>Heading</span> </div>
quelle
Dies liegt daran, dass
:first-letter
nur Block- / Inline-Block-Elemente verarbeitet werden.SPAN
ist ein Inline-Element.Entnommen aus http://reference.sitepoint.com/css/pseudoelement-firstletter :
quelle