2011-08-24 13 views
8

Czy istnieje sposób na dziedziczenie wartości węzła do atrybutu content?Atrybut 'content' dziedziczy wartość węzła

Podobnie, jeśli wartość tagu <h2/> jest ustawiona na "Losowy tytuł", czy mogę uzyskać tę wartość wewnątrz atrybutu content w CSS?

Próbowałem już content: inherit;, ale to nie działa.

Przykładem mojej teorii:

HTML:

<h2>Random title</h2> 

CSS:

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

Dzięki z góry!

+0

Jeśli chcesz tylko odzwierciedlić tekst, możesz użyć czegoś takiego jak 'text-shadow: black 20em 0 0;' –

Odpowiedz

13

Nie, nie ma sposobu, aby to zrobić. To nie jest to, co inherit is for.

najbliżej można dostać to:

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

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

..which jest oczywiście straszne ze względu na powielanie.

+0

Doh, to smutne. :( – jolt

+0

Zauważ, że jeśli chcesz "dziedziczyć" kody znaków Unicode w ten sposób, powinieneś używać formularza escape z kodem HTML '& # x [code];', na przykład 'data-title =" & # xe001; "' Jest to przydatne, gdy używasz ikon opartych na fontach, takich jak IcoMoon. – Boaz

7

CSS3 ma sposób, content: contents;, ale (a) wydaje się być wymyślony w taki sposób, aby nie był przydatny; i (b) prawdopodobnie jeszcze nie jest zaimplementowana. Zobacz: http://dev.w3.org/csswg/css3-content/#contents0

@ Odpowiedź thirtydot jest co najmniej poprawna.

+0

Nie mogę się doczekać, aż 'content: content;' jest obsługiwane! – allicarn

+0

zdecydowanie potrzebuję tej funkcji! – zur4ik

Powiązane problemy