--- title: calc slug: Web/CSS/calc() tags: - CSS - CSS Funktion - Referenz translation_of: Web/CSS/calc() ---
Mit der CSS-Funktion calc() lassen sich Werte für CSS-Eigenschaften berechnen.
calc() kann überall verwendet werden, wo {{cssxref("<length>")}}, {{cssxref("<frequency>")}}, {{cssxref("<angle>")}}, {{cssxref("<time>")}}, {{cssxref("<number>")}} und {{cssxref("<integer>")}} eingesetzt werden dürfen.
{{csssyntax}}
/* Eigenschaft: calc(Ausdruck) */ width: calc(100% - 80px);
Der Ausdruck kann eine beliebige Kombination der folgenden Operatoren sein:
Bei den Operanden darf es sich um jeden Wert vom Typ {{cssxref("<length>")}} handeln, insbesondere können auch verschiedene Einheiten miteinander verrechnet werden.
Das Setzen von Klammern ist ebenfalls möglich.
calc()
-Funktionen können ineinander verschachtelt werden.
calc(50% -8px)
als Prozentwert, gefolgt von einer negativen Pixel-Länge interpretiert. Eine korrekte Subtraktion ergibt sich nur mit einem Leerzeichen zwischen - und 8px: calc(50% - 8px)
auto
behandelt werden. Dies gilt für Tabellen mit dem Typ auto oder fixed.Mit calc()
ist es kein Problem mehr, die Maße eines Objekts in Abhängigkeit anderer Maße festzulegen.
In diesem Beispiel wurde ein Banner erstellt, das die gesamte verfügbare Breite einnehmen, dabei jedoch auf beiden Seiten einen Abstand einnehmen soll, der exakt 40 Pixeln beträgt.
Links ist die Position mit left: 40px
definiert. Mit calc(100% - 80px)
werden von der Gesamtbreite 80 Pixel abgezogen (2 * 40 Pixel), so verbleibt am rechten Rand ein Abstand von ebenfalls exakt 40 Pixeln.
.banner { position: absolute; left: 40px; width: 90%; /* fallback for browsers without support for calc() */ width: calc(100% - 80px); }
<div class="banner">This is a banner!</div>
{{ EmbedLiveSample('Relative_Gr%C3%B6sse_eines_Objekts_mit_einer_absoluten_Positionierung', '100%', '60') }}
Spezifikation | Status | Anmerkung |
---|---|---|
{{SpecName('CSS3 Values', '#calc-notation', 'calc()')}} | {{Spec2('CSS3 Values')}} |
{{Compat("css.types.calc")}}