2012-05-16 7 views
13

Beispiel Problem zu umgehen: http://jsfiddle.net/6WYXk/Gibt es eine Möglichkeit, das erste Zeichen auszuwählen? : First-letter scheint nicht

Ich habe einige html: <p>% hello world</p>

Ich möchte, dass die% fett machen. Um dies zu tun in der Regel würde ich dies in CSS schreiben:

p:first-letter 
{ 
    font-weight: bold; 
}​ 

aber das macht die% und die h fett.

Im Idealfall würde ich :first-character

+1

+1 interessantes Problem + –

+2

Interessant würde der Browser "% h" als einen Buchstaben betrachten. –

+4

Tatsächlich scheint es Browser-abhängig zu sein - Firefox macht nichts fett, Chrome und Safari machen "% h" fett. Nur Opera hat das "%" nur fett formatiert. (weiß nicht für IE, ging es in einen Kompatibilitätsmodus und konnte die jfiddle Seite überhaupt nicht darstellen :) –

Antwort

10

der Tat eine psudeo Selektor mag, das ist seltsam. Funktioniert nicht auch für andere Symbolzeichen und das gleiche Problem wurde auch elsewhere on SO diskutiert.

Sie sollten so etwas wie dies versuchen:

<p>hello world</p> 
p:before { content:"%"; font-weight: bold; padding-right: 5px;} 

Try it yourself…

+0

Beat mich, um den Verweis auf [die ': First-Letter' Spezifikation zu finden] (http://www.w3.org/TR/CSS2/selector.html#first-letter), obwohl ich Probleme habe zu finden direkte Bezugnahme auf diese Zeichenklassen. (nämlich "open" (Ps), "close" (Pe), "initial" (Pi). "final" (Pf) und "andere" (Po) Interpunktionsklassen, aus der Spezifikation) – Nightfirecat

+1

@Nightfirecat Die endgültige Version ist http://www.unicode.org/Public/UNIDATA/UnicodeData.txt, aber beachten Sie, dass es über ein Megabyte Klartext und nicht sehr einfach zu lesen ist. –

Verwandte Themen