Wir haben jetzt begonnen, calc()
in CSS zu verwenden, um Breiten auf ein Ergebnis der Berechnung festzulegen. Zum Beispiel:Was ist das Ergebnis von calc() In CSS
<div id='parent'>
<div id='calcWidth'></div>
</div>
#parent{
width:100px;
}
#calcWidth{
width:calc(100% - 3px);
height:100px;
background:red;
}
Ich weiß, wie calc()
funktioniert, aber ich möchte nur wissen, was in CSS zurückgegeben wird, an der Stelle der calc(100% - 3px);
in dem oben angegebenen Beispiel.
Was ist meine Verwirrung?
Im obigen Beispiel
width:calc(100% - 3px);
sagen, dass die Breite
100%
tatsächlich100px
ist, die zur Laufzeit durch CSS bestimmt wird.Also die berechnete Breite wird
100px-3px=97px
97px sein und wenn Sie es umwandeln in%
97%
richtig?
Aber jetzt gibt es zwei Möglichkeiten
97px
zurückgeführt wird, die als eine Breite eingestellt ist.97%
zurückgegeben wird, die als Breite festgelegt ist.
Meine Frage ist:
In beiden Fällen nun die Breite ist auf
97px
eingestellt werden, aber was ist zurück als Ergebniswidth:calc(100% - 3px);
,97px
OR97%
?
Sie auch diese Geige sehen: http://jsfiddle.net/8yspnuuw/1/
EDIT: Bitte lesen Sie
Freunde Siehe: Nehmen Sie ein einfaches Beispiel:
<div class='parent'>
<div class='child'>
</div>
</div>
.parent{
width:200px;
}
.child{
width:20%
}
weiß, dass ich die Breite von Kind wird 160 px, wenn es gerendert wird. okay! aber das ist nicht was in CSS gesetzt ist richtig? css setzt es in%, es wird nur in Pixeln gerendert.
So ähnlich, Calc verwenden, es %
oder pixel
zurückkehrt
Oder meine Frage zu erklären, lesen BoltClocks answer, was der berechnete Wert ist, (und nicht der verwendete Wert, ich weiß, dass das in Pixeln ist)
Sie können FireBug verwenden, um den berechneten Stil zu sehen, oder getComputedStyle selbst über die Konsole ausführen: https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle und einfach testen :) – Gerino
interessante Frage +1 – Persijn
Angesichts der Tatsache, dass das Endergebnis immer in Pixeln gerendert wird, warum ist das spezifische Format von 'calc()' 's Rückgabewert wichtig? Ich nehme an, dass es immer in Pixeln sein wird, da schließlich jeder berechnete Wert der Längen zugewiesen/gerendert wird, aber ich weiß es nicht genau. –