1vw = 1%, also, wenn sie 100% austauschbar sind, warum sie beide existieren? Ich glaube,% hängt von der Größe des Wrapper-Tags ab, aber vh hängt immer von der Fenstergröße ab, unabhängig von der Größe des Wrapper-Tags. Danke,Was ist der Unterschied zwischen% und vw in CSS?
Antwort
Sie sind nicht unbedingt austauschbar.
Das Verhalten hängt hauptsächlich von der Position des Elements im DOM ab, da dies den Inhalt des umschließenden Blocks des Elements bestimmt. Wenn ein Element eine Breite von 100%
hat, hat es eine Breite von 100%
der Breite des enthaltenen Blocks Breite. Wenn das Element eine Breite von 100vw
hat, hat es eine Breite von 100%
des Ansichtsfensters Breite (das Ansichtsfenster darf nicht das Element sein, das das Element enthält, aber die Ansichtsfenster-Prozenteinheiten sind immer relativ zum Ansichtsfenster).
Eine strikt prozentuale Breite wird immer relativ zur Breite eines anderen Elements sein, aber bei der Verwendung von Ansichtsfenster-Prozentlängen kann die Breite eines Elements tatsächlich relativ zur Höhe des Ansichtsfensters sein. Wenn ein Element beispielsweise eine Breite von 100vh
hat, hat es eine Breite von 100%
des Ansichtsfensters Höhe. Dies ist nicht möglich, wenn ausschließlich prozentuale Breiten verwendet werden.
Ansichtsfenster prozentige Länge wird immer in ihre initial containing block relativ sein, die das Darstellungsfeld ist:
5.1.2. Viewport-percentage lengths: the ‘vw’, ‘vh’, ‘vmin’, ‘vmax’ units
Ansichtsfenster prozentige Längen sind im Verhältnis zur Größe der initial containing block. Wenn die Höhe oder Breite des ursprünglichen umschließenden Blocks geändert wird, werden sie entsprechend skaliert.
Die Prozentsatzeinheiten werden an ihre Mutterelement relativ sein (dh ihre umschließenden Blocks), die den body
/html
Element sein, wobei in diesem Fall passieren kann, wird sie ähnlich sein Längen Darstellungsfeld-Prozent .
4.3. Percentages: the ‘
<percentage>
’ typeProzentwerte sind auf einen anderen Wert immer relativ, beispielsweise eine Länge. Jede Eigenschaft, die Prozentsätze zulässt, definiert auch den Wert, auf den sich der Prozentsatz bezieht. Der Wert kann der Wert einer anderen Eigenschaft für dasselbe Element, eine Eigenschaft für ein Vorgängerelement oder ein Wert des Formatierungskontexts (z. B. die Breite eines enthaltenden Blocks) sein. Wenn für eine Eigenschaft des Stammelements ein Prozentwert festgelegt ist und der Prozentsatz als Verweis auf den geerbten Wert einer Eigenschaft definiert ist, entspricht der resultierende Wert dem Prozentsatz, der dem Anfangswert dieser Eigenschaft entspricht.
- 1. Was ist der Unterschied zwischen * und * | * in CSS?
- 2. Was ist in CSS der Unterschied zwischen Kaskadierung und Vererbung?
- 3. Was ist der Unterschied zwischen CSS erben und initial?
- 4. Was ist der Unterschied zwischen `==` und `ist`?
- 5. Was ist der Unterschied zwischen/* ... */und/** ... */
- 6. Was ist der Unterschied zwischen + = und = +?
- 7. Was ist der Unterschied zwischen $ (()) und Ausdruck?
- 8. Was ist der Unterschied zwischen:.! und: r !?
- 9. Was ist der Unterschied zwischen Verilog! und ~?
- 10. Was ist der Unterschied zwischen Difftime und '-'?
- 11. Was ist der Unterschied zwischen $ und $$?
- 12. was ist der Unterschied zwischen [[], []] und [[]] * 2
- 13. Was ist der Unterschied zwischen `&` und `ref`?
- 14. Was ist der Unterschied zwischen $ (...) und `...`
- 15. Was ist der Unterschied zwischen .Equals und ==
- 16. Was ist der Unterschied zwischen "$^N" und "$ +"?
- 17. Was ist der Unterschied zwischen? und ? = Nil
- 18. Was ist der Unterschied zwischen:
- 19. CSS vw und Prozentwert in Pixelwert konvertieren
- 20. Was ist der Unterschied zwischen: und :: und ::: in Javascript Grammatik
- 21. Was ist der Unterschied zwischen add und [] in der Wörterbuchoperation
- 22. Was ist der Unterschied zwischen "jquery.min.css" und "jquery.css"?
- 23. Was ist der Unterschied zwischen den Perspektiveigenschaften der Perspektive und der Transformation in CSS?
- 24. Was ist der Unterschied zwischen px, em und ex?
- 25. Was ist der Unterschied zwischen ResolveUrl und ResolveClientUrl?
- 26. Was ist der Unterschied zwischen `-Contains` und` -In` in PowerShell?
- 27. Was ist der Unterschied zwischen dem Verkleinern von CSS und dem Komprimieren von CSS
- 28. Was ist der Unterschied zwischen den Pseudoelementen :: after und :: backdrop?
- 29. Was ist der Unterschied zwischen app.use und app.get mit express.static?
- 30. Was ist der Unterschied zwischen den Klassen span-x und der Klasse "column" in blueprint-css?
Auch 'vw' berücksichtigt die Bildlaufleiste nicht, wenn Sie' overflow: auto; 'für Ihr' html'/'body'-Tag haben, das die Standardeinstellung ist. Wenn Sie also eine vertikale Bildlaufleiste aufgrund der Länge Ihres Inhalts haben und dann _any_ element 'width: 100vw;' machen, erhalten Sie eine horizontale Bildlaufleiste, die saugt. – Matmarbon