CSS: match all, exclude one
Peter
- css
Hallo und guten Tag.
Für ein print css bräuchte ich: alles auf "display:none" stellen, außer einem div, wobei das div an der Position
body -> article -> div
steht. Dem div kann ich beliebig id und/oder class zuweisen. Es hat Kindelemente (img, p), die ebenfalls gedruckt werden sollen. Beim Suchen im Netz finde ich zu diesem Problem höchst wiedersprüchliche Aussagen. Deshalb meine Frage an die hier versammelte Sachkompetenz :-)
Danke, vG,
Peter
Ja, danke. Werde testen.
Hej Peter,
Für ein print css bräuchte ich: alles auf "display:none" stellen, außer einem div, wobei das div an der Position
body -> article -> div
steht.
"Alles" selektierst du mit dem Universal-Selektor *
Das div
dass du vermutlich auf block setzen möchtest, kannst du vermutlich so selektieren, wie du es geschrieben hast - nur die Minus-Zeichen weglassen (Kind-Selektor).
Vergiss die Nachfahren des div
nicht (Nachfahren-Selektor)!
Allerdings: wenn das funktioniert ist das HTML falsch. Da fehlt das main
-Element!
Marc
@@marctrix
Allerdings: wenn das funktioniert ist das HTML falsch. Da fehlt das
main
-Element!
Und es ist vermutlich ein article
-Element zu viel.
Anders gesagt: Das article
-Element wäre gern ein main
-Element.
LLAP 🖖
Hej Gunnar,
@@Gunnar Bittersmann
Allerdings: wenn das funktioniert ist das HTML falsch. Da fehlt das
main
-Element!Und es ist vermutlich ein
article
-Element zu viel.Anders gesagt: Das
article
-Element wäre gern einmain
-Element.
Mal sehen, wer am Ende recht hat: ich glaube, das article
-Element wäre gern ein main
-Element und div
-Element wäre gern ein article
-Element.
Also kein article
zu viel. 😉
Wer bietet mehr Vorschläge?
So müssen sich Entwickler fühlen, die Rendering-Entscheidungen für den Quirks-Modus treffen…
Marc
body > :not(article)
, body > article > :not(.printable)
{
display: none;
}
Dem div kann ich beliebig id und/oder class zuweisen.
<div class="printable">...