2011-08-24 21 views
8

¿Hay alguna forma de heredar el valor del nodo en el atributo content?atributo 'contenido' para heredar el valor del nodo

Me gusta, si el valor de la etiqueta <h2/> se establece en "Título aleatorio", ¿puedo obtener este valor dentro del atributo content en CSS?

He intentado content: inherit;, pero parece que no funciona.

Un ejemplo de mi teoría:

HTML:

<h2>Random title</h2> 

CSS:

h2:after { 
    content: inherit; /* should be "Random title" */ 
} 

Gracias de antemano!

+0

Si solo quiere reflejar el texto, puede usar algo como 'text-shadow: black 20em 0 0;' –

Respuesta

13

No, no hay forma de hacerlo. Eso no es lo que inherit is for.

Lo más cerca que se puede obtener es la siguiente:

<h2 data-title="Random title">Random title</h2> 

h2:after { 
    content: attr(data-title); 
} 

..which es horrible, porque, obviamente, de la duplicación.

+0

Doh, eso es triste. :( – jolt

+0

Tenga en cuenta que si está buscando "heredar" códigos de caracteres Unicode de esta manera, debe usar la forma de escape de caracteres HTML de '& # x [code];', por ejemplo 'data-title =" & # xe001; "'. Esto es útil cuando se usan íconos basados ​​en fuentes como IcoMoon. – Boaz

7

CSS3 tiene un camino, content: contents; pero (a) parece estar ideado de tal manera que no sea útil; y (b) probablemente aún no se implemente en ninguna parte. Ver http://dev.w3.org/csswg/css3-content/#contents0

La respuesta de @thirtydot es correcta por ahora, al menos.

+0

¡No puedo esperar hasta que 'content: contents;' sea compatible! ¡ – allicarn

+0

definitivamente necesita esta característica! – zur4ik

Cuestiones relacionadas