CSS Nachfahren-Selektoren Wert verändern
Tim
- javascript
0 Cheatah0 Cybaer0 Gunnar Bittersmann
0 Cybaer- menschelei
0 suit0 Der Martin
0 suit
Hi,
<style type="text/css">
div p {color:red;}
</style>
Wenn ich nun auf alle p die Text-Farbe ändern will,wie müsste ich das angehen ohne eine Schleife zu nutzen um jedes p seperat einen Wert zuzuweisen?
Die p haben natürlich keinen classnamen und auch keine ID.
<div>
<p>123</p>
<p>123</p>
<p>123</p>
<p>123</p>
</div>
Tim
Hi,
Die p haben natürlich keinen classnamen und auch keine ID.
aber das <div>-Element, nachdem Deine JavaScript-Funktion ihn/sie hinzugefügt hat. Und schon kann Dein CSS-Code die schönsten Formatierungen vorhalten.
Cheatah
Hi,
aber das <div>-Element, nachdem Deine JavaScript-Funktion ihn/sie hinzugefügt hat. Und schon kann Dein CSS-Code die schönsten Formatierungen vorhalten.
du meinst damit dem div eine anderen Klassennamen zu erteilen?
An sich ganz gute Idee, aber ich hätte wohl drauf hinweisen müssen, dass die paar zeilen Code nur sinnbildlich sind, in dem Div steckt leider noch viel mehr und das würde dann aus den Fugen geraten.
Tim
Ahh verstehe doch noch ;-)
An sich ganz gute Idee, aber ich hätte wohl drauf hinweisen müssen, dass die paar zeilen Code nur sinnbildlich sind, in dem Div steckt leider noch viel mehr und das würde dann aus den Fugen geraten.
Ich könnte ja alle anderen Css Angeben nochmals auch in der ErsatzClass angeben, ja stimmt, danke
Tim
Hi,
Ich könnte ja alle anderen Css Angeben nochmals auch in der ErsatzClass angeben, ja stimmt, danke
boah, das ist dann wohl definitiv zu umständlich. Lass die bisherigen Klassen einfach drin und füge eine hinzu. Die anderen Klassifizierungen werden ja wohl weiterhin gültig sein, oder?
Cheatah
Hi,
boah, das ist dann wohl definitiv zu umständlich. Lass die bisherigen Klassen einfach drin und füge eine hinzu. Die anderen Klassifizierungen werden ja wohl weiterhin gültig sein, oder?
dachte ich versteh das, jetzt aber gar nichts mehr.
Tim
Hi,
dachte ich versteh das, jetzt aber gar nichts mehr.
Wenn Du dem DIV einen Klassennamen verpaßt, gelten natürlich immer noch die bisherigen Regeln. Aber gleichzeitig gelten nunmehr auch die Regeln, die für diese Klasse gelten. Bzw. ggf. werden auch bisherigen Eigenschaften durch neue überstimmt.
Gruß, Cybaer
Hi,
da fehlt ein wichtiges Wort:
Wenn Du dem DIV einen
zusätzlichen
Klassennamen verpaßt, gelten natürlich immer noch die bisherigen Regeln. [...]
Cheatah
Hi,
da fehlt ein wichtiges Wort:
Finde ich nicht.
Wenn Du dem DIV einen
zusätzlichen
Klassennamen verpaßt, gelten natürlich immer noch die bisherigen Regeln. [...]
Da das DIV bisher keiner Klasse zugewiesen ist, ist automatisch *jeder* vergebene Klassenname "zusätzlich".
Also entweder ich verstehe dich nicht, oder wir sind beide Korinthenkacker, oder dir schwebt ein anderes Beispiel vor, als das bislang gepostete. =:-o
Denn wenn ich dem DIV (erstmalig) einen Klassennamen verpasse, gilt der bisherige Selektor ja immer noch (was sich dann mit weiteren, zusätzlichen Klassennamen beliebig erweitern läßt) ...
Gruß, Cybaer
Hi,
Da das DIV bisher keiner Klasse zugewiesen ist,
aus https://forum.selfhtml.org/?t=181907&m=1203425:
"[...] ich hätte wohl drauf hinweisen müssen, dass die paar zeilen Code nur sinnbildlich sind, in dem Div steckt leider noch viel mehr [...]"
Ich möchte nicht ausschließen, dass das Element bereits über Klassen verfügt.
Also entweder ich verstehe dich nicht, oder wir sind beide Korinthenkacker,
Das eine muss das andere nicht ausschließen ;-)
Cheatah
Hi,
Ich möchte nicht ausschließen, dass das Element bereits über Klassen verfügt.
Also entweder ich verstehe dich nicht, oder wir sind beide Korinthenkacker,
Das eine muss das andere nicht ausschließen ;-)
Gut, jetzt vertehe ich dich, *und* wir sind beide Korinthenkacker. ;-)
Gruß, Cybaer
Hi,
Also entweder ich verstehe dich nicht, oder wir sind beide Korinthenkacker,
Das eine muss das andere nicht ausschließen ;-)
Gut, jetzt vertehe ich dich, *und* wir sind beide Korinthenkacker. ;-)
naja, eins von zweien, immerhin nicht das schlechteste Ergebnis ;-)
Cheatah
Hi, bin leider gerade erst wieder zurück.
da fehlt ein wichtiges Wort:
Wenn Du dem DIV einen
zusätzlichen
Klassennamen verpaßt, gelten natürlich immer noch die bisherigen Regeln. [...]
Also wenn das DIV bereits eine class hat ist eine zweite auch möglich.
Das habe ich dich schon vor langer Zeit mal vernommen und wieder vergessen und jetzt mal nachgeschaut.
Noch kurz testen... Ja, perfect!
<style type="text/css">
.x{font-size:30px;}
.y{color:teal;}
</style>
<input class="x" type="text" value="test" onclick="this.className='y';" />
<input class="x" type="text" value="test" onclick="this.className='x y';" />
Vielen Dank
Tim
Hi,
Das habe ich dich schon vor langer Zeit mal vernommen und wieder vergessen und jetzt mal nachgeschaut.
Wie, das hast Du nicht in SELFHTML nachgeschaut? Das Du dich nicht schämst! >;->
Gruß, Cybaer
@@Tim:
[…] und wieder vergessen und jetzt mal nachgeschaut.
Die Seite kannste auch wirklich vergessen:
Zum einen verwendet sie unsinnige Klassenbezeichner. (Auch in Beispielen sollte man das nicht tun, sonst gibt man ein schlechtes Beispiel.)
Zum anderen suggeriert die Seite, das Stylen mit mehreren Klassen würde auch im IE funktionieren. Das ist nicht der Fall:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TEST</title>
<style type="text/css">
[code lang=css].foo
{
color: red;
}
.bar
{
color: green;
}
.foo.bar
{
color: blue;
}
</style>
</head>
<body>
<p class="foo">foo</p>
<p class="bar">bar</p>
<p class="foo bar">foo bar</p>
</body>
</html>[/code]
Live long and prosper,
Gunnar
Hi,
Zum anderen suggeriert die Seite, das Stylen mit mehreren Klassen würde auch im IE funktionieren. Das ist nicht der Fall:
Ich verstehe jetzt deine Selektoren-Auszeichnung zwar nicht aber im IE funktioniert das schon <p class="a1 a2">2 Klassen</p>
Tim
@@Tim:
Ich verstehe jetzt deine Selektoren-Auszeichnung zwar nicht
Das wäre aber Voraussetzung dafür, zu verstehen, dass der IE 6 Mist macht.
'.foo
' selektiert alle Elemente, die der Klasse "foo" angehören.
'.bar
' selektiert alle Elemente, die der Klasse "bar" angehören.
'.foo.bar
' selektiert alle Elemente, die sowohl der Klasse "foo" als auch der Klasse "bar" angehören.
aber im IE funktioniert das schon <p class="a1 a2">2 Klassen</p>
Mein Beispiel demonstriert doch, dass dies nicht der Fall ist.
Richige Darstellung: "foo" rot, "bar" grün, "foo bar" blau. Im IE 6 ist aber "bar" blau.
IE 6 wertet '.foo.bar
' als ob da nur '.bar
' stünde.
Live long and prosper,
Gunnar
Hi,
IE 6 wertet '
.foo.bar
' als ob da nur '.bar
' stünde.
Wobei dieser Fall hier wohl nicht von Relevanz ist.
Gruß, Cybaer
@@Cybaer:
IE 6 wertet '
.foo.bar
' als ob da nur '.bar
' stünde.Wobei dieser Fall hier wohl nicht von Relevanz ist.
Ich bezog mich ja auch nicht auf das Hier, sondern auf das Dort.
Eine solche Seite, die Wissen verbreiten will, es aber lediglich zum Halbwissen bringt, ist eher schädlich denn nützlich.
Live long and prosper,
Gunnar
Hi,
Eine solche Seite, die Wissen verbreiten will, es aber lediglich zum Halbwissen bringt, ist eher schädlich denn nützlich.
Da stimme ich dir natürlich zu.
Obwohl, das gilt dann natürlich (leider) für sehr viele Seiten im Web. SELFHTML ist ja auch nicht fehlerfrei oder vollständig ...
Gruß, Cybaer
@@Cybaer:
Eine solche Seite, die Wissen verbreiten will, es aber lediglich zum Halbwissen bringt, ist eher schädlich denn nützlich.
Da stimme ich dir natürlich zu.
Obwohl, das gilt dann natürlich (leider) für sehr viele Seiten im Web.
Da stimme ich dir natürlich zu.
Live long and prosper,
Gunnar
@@Tim:
dachte ich versteh das, jetzt aber gar nichts mehr.
Ehrlich gesagt, ich verstehe nicht einmal deine Frage.
Was heißt „Wenn ich nun auf alle p die Text-Farbe ändern will“?
Willst du das dynamisch (mit JavaScript) ändern?
Ansonsten wäre die Antwort einfach: Gib statt 'div p {color:red;}
' eine andere Farbe an.
Live long and prosper,
Gunnar
Hi,
Ehrlich gesagt, ich verstehe nicht einmal deine Frage.
das ging mir genauso, aber der gewählte Themenbereich "JAVASCRIPT" gab mir dann die Erleuchtung: Er will mit JavaScript auf irgend eine Aktion dergestalt reagieren, dass die vom CSS-Selektor betroffenen Elemente eine andere Schriftfarbe besitzen als die, die im Moment in seinem CSS-Code angegeben ist.
Cheatah
@@Cheatah:
das ging mir genauso, aber der gewählte Themenbereich "JAVASCRIPT" gab mir dann die Erleuchtung:
Seit wann hast du eine Glaskugel?
Live long and prosper,
Gunnar
Hi,
Seit wann hast du eine Glaskugel?
hab ich nicht. Aber ich habe schon den halben Tag lang leichte Kopfschmerzen (mit steigender Tendenz), vielleicht wirken die sich positiv auf meine latenten PSI-Kräfte aus. Ich werde übrigens stets dem Bedürfnis nachgehen, die auf diese Weise erhaltenen Kräfte auf ein Minimum zu reduzieren ...
Cheatah
Tach,
hab ich nicht. Aber ich habe schon den halben Tag lang leichte Kopfschmerzen (mit steigender Tendenz), vielleicht wirken die sich positiv auf meine latenten PSI-Kräfte aus. Ich werde übrigens stets dem Bedürfnis nachgehen, die auf diese Weise erhaltenen Kräfte auf ein Minimum zu reduzieren ...
dann wollen wir hoffen, dass du niemals über den Rand der Galaxis fliegst und dass LX bescheid gibt, wenn deine Augen anfagen silbern zu werden.
mfg
Woodfighter
Hi,
dann wollen wir hoffen, dass du niemals über den Rand der Galaxis fliegst
wenn schon, dann am Ende des Universums (Restaurantbesuch nicht vergessen ...)
cu,
Andreas
Tach,
wenn schon, dann am Ende des Universums (Restaurantbesuch nicht vergessen ...)
das entsprechende Sparkonto habe ich bereits angelegt.
mfg
Woodfighter
Hi,
du meinst damit dem div eine anderen Klassennamen zu erteilen?
anderen? Nö, das dürfte nicht nötig sein. Vermutlich möchtest Du einfach eine Klasse hinzufügen.
Cheatah
Hi,
Wenn ich nun auf alle p die Text-Farbe ändern will,wie müsste ich das angehen ohne eine Schleife zu nutzen um jedes p seperat einen Wert zuzuweisen?
Du kannst auch das CSS selbst ändern (CSSDOM): cssRule("div p","color","blue");
Gruß, Cybaer
@@Cybaer:
Du kannst auch das CSS selbst ändern (CSSDOM): cssRule("div p","color","blue");
Da ist sie wieder, die Spatzenkanone. Wie (fast) immer unpassend.
Live long and prosper,
Gunnar
Hi,
Da ist sie wieder, die Spatzenkanone. Wie (fast) immer unpassend.
Da ist er wieder, der Würgreflex. Wie immer unpassend. :->
Gruß, Cybaer
der Würgreflex. Wie immer unpassend. :->
wenn du etwas schlechtes gegessen hast (sofern es nicht grade spülmittel war) freust du dich ggf. über deinen würgereflex :p
Hallo,
wenn du etwas schlechtes gegessen hast (...) freust du dich ggf. über deinen würgereflex :p
das stimmt - wenn das wirklich der Grund für das Unwohlsein war, geht's mir nämlich eine Viertelstunde später meistens wieder gut. Nur die Ausnahme mit dem Spülmittel verstehe ich nicht; ich bin aber auch nicht masochistisch genug, es einfach auszuprobieren.
So long,
Martin
Nur die Ausnahme mit dem Spülmittel verstehe ich nicht; ich bin aber auch nicht masochistisch genug, es einfach auszuprobieren.
spülmittel war als platzhalter für ätzende flüssigkeiten gedacht
wenn man derartiges trinkt, bekommt man auch einen würgereflex - allerdings sollte man dann tunlichst nicht erbrechen
der mange selbst verkraftet eine säure um einiges länger als die speiseröhre - da durch das trinken einer entsprechenden flüssigkeit die speiseröhre inklusive kehldeckel bereits verätzt ist, sollte man das ganze nicht nochmal durchjagen ums schlimmer zu machen
sofort den giftnotruf anrufen und ab zum arzt und das gegessene oder getrunkene mitnehmen
wasser nachtrinken, milch trinken oder brot essen wie es manchmal empfohlen wird, kann uncool enden