Dies mag eine dumme Frage sein, aber ich verstehe nicht, warum die display
Eigenschaft (gemäß dem folgenden Link: https://www.w3.org/TR/CSS22/propidx.html ) nicht als geerbt aufgeführt wird.
Ja, <strong>strong</strong>
wird bleiben inline
(und wird nicht zu block
), wenn wir es hineinlegen <p>sentence</p>
, aber was ist mit display: none
? Es scheint , dass display: none
ein Sonderfall ist und in einem solchen Fall der Wert wird vererbt? Wenn wir also über die display
Immobilie sprechen, sollten wir sagen, dass sie nicht vererbt wird, es sei denn, ihr Wert ist none
, richtig?
Gibt es auch andere solche Eigenschaften und Werte? Ich meine die, die in den meisten Fällen vererbt werden, aber nicht in allen Fällen.
Beispiel 1:
<style>
p { display: block; }
strong { display: inline; }
</style>
<!-- `aaa` will stay inline -->
<p>foo <strong>aaa</strong> bar</p>
Beispiel 2:
<style>
p { display: none; }
strong { display: inline; }
</style>
<!-- `aaa` will disappear, so I think it has inherited `display: none`
from its parent. -->
<p>foo <strong>aaa</strong> bar</p>
Es liegt an der Art und Weise, display:none
die definiert ist.
Dieser Wert bewirkt, dass ein Element nicht in der Formatierungsstruktur erscheint (dh in visuellen Medien generiert das Element keine Boxen und hat keine Auswirkungen auf das Layout). Nachkommende Elemente erzeugen auch keine Boxen
Die untergeordneten Elemente erben nicht display:none
vom übergeordneten Element.
Wenn dies der Fall wäre, würde ein untergeordnetes Element mit display:block !important
einen Widerspruch verursachen. Das übergeordnete Element würde nicht angezeigt, das untergeordnete Element (innerhalb des übergeordneten Elements) jedoch, sodass das untergeordnete Element gleichzeitig angezeigt und nicht angezeigt werden sollte.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen