2012-05-16 8 views
13

Ejemplo problema: http://jsfiddle.net/6WYXk/¿Hay alguna manera de seleccionar el primer personaje? : Primera carta no parecen funcionar

tengo algo de html: <p>% hello world</p>

Quiero hacer la negrita%. Para hacer esto por lo general iba a escribir esto en CSS:

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

Sin embargo eso hace que el% y los h negrita.

Lo ideal sería un selector de psudeo :first-character

+1

+1 problema interesante + –

+2

Interesante el navegador consideraría "% h" como una letra. –

+4

De hecho, parece depender del navegador: Firefox no hace nada audaz, Chrome y Safari ponen "% h" en negrita. Solo Opera logró que el "%" solo se mostrara en negrita. (No sé para IE, entró en algún modo de compatibilidad y no pudo renderizar la página jsfiddle :) –

Respuesta

10

De hecho, eso es extraño. Tampoco funciona para otros caracteres del símbolo y también se ha discutido el mismo problema elsewhere on SO.

Debe intentar algo como esto:

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

Try it yourself…

+0

Pásame para encontrar la referencia a [la definición de la especificación ': first-letter'] (http://www.w3.org/TR/CSS2/selector.html#first-letter), aunque tengo problemas para encontrar referencia directa a estas clases de caracteres. (a saber, "abrir" (Ps), "cerrar" (Pe), "inicial" (Pi). "final" (Pf) y "otra" clase de puntuación (Po), de la especificación) – Nightfirecat

+1

@Nightfirecat La versión definitiva es en http://www.unicode.org/Public/UNIDATA/UnicodeData.txt pero tenga en cuenta que se trata de más de un megabyte de texto sin formato y no es muy fácil de leer. –

Cuestiones relacionadas