CSS-Formatierung abhängig vom Inhalt Containers?
samweis78
- css
0 Gunnar Bittersmann0 berlinsurfer0 berlinsurfer0 shn
0 Cheatah
Guten Abend,
ich hab mich gefragt, ob es bei CSS die Möglichkeit gibt, eine Formatierung anhand des Inhalts eines Containers zu definieren.
Es gibt ja die attributabhängigen Selektoren wo man z.B. notieren kann:
select[name="grp1"] { color:#ff0000; }
Da wäre es doch super, wenn ich auch ein Element definieren könnte, das auf folgendes Konstrukt anschlägt:
<span class="beispiel">Test</span>
das etwa so aussehen könnte:
.beispiel[innerhtml="Test"] { color:#ff0000; }
...
Finde ich jedenfalls.
Oder gibt es das schon? Ich hab gesucht, aber nichts gefunden (hab aber gelernt, dass das nicht unbedingt was heissen muss).
Würde mich über konstruktive Tipps und Meinungen freuen!
-Sam
@@samweis78:
nuqneH
ich hab mich gefragt, ob es bei CSS die Möglichkeit gibt, eine Formatierung anhand des Inhalts eines Containers zu definieren.
Nein. Für welchen Anwendungsfall würdest du das brauchen?
Qapla'
Hi,
du könntest es mit JavaScript und hier speziell mit Bibliotheken wie jQuery oder mootools versuchen.
Unter mootools z.B. so (ungetestet):
window.addEvent('domready', function() {
$$('span.beispiel').each(function(el) {
if(el.indexOf('Test')>=0)
el.addClass('cssbeispielklasse');
});
});
Dann werden die Klassen halt erst beim Laden überprüft. el.indexOf() kannst du natürlich auch gegen reguläre Ausdrücke ersetzen (dann mit search()).
Gruß aus Berlin,
berlinsurfer
Entschuldige, es war schon spät. Natürlich so:
window.addEvent('domready', function() {
$$('span.beispiel').each(function(el) {
if(el.get('html').indexOf('Test')>=0)
el.addClass('cssbeispielklasse');
});
});
Servus,
Mootools ab 1.3 kennt den von Cheatah angesprochenen Selector :contains(), also im Beispiel:
document.getElement("span.beispiel:contains(Test)");
Mootools ab 1.3 kennt den von Cheatah angesprochenen Selector :contains(), also im Beispiel:
document.getElement("span.beispiel:contains(Test)");
Oh, das wusste ich nicht. Danke !
Hi,
Da wäre es doch super, wenn ich auch ein Element definieren könnte, das auf folgendes Konstrukt anschlägt:
die Pseudoklasse :contains() war mal für CSS3 vorgeschlagen, wurde jedoch wieder entfernt. Die daraus resultierenden Probleme ließen sich nicht sinnvoll lösen.
Cheatah