suchen
HeimWeb-FrontendCSS-TutorialWie verwende ich Calc? Zusammenfassung der Verwendung der CSS3-Funktion calc()

Was bedeutet Calc? Wie benutzt man? Dieser Artikel bietet Ihnen eine Einführung in die Funktion calc() in CSS3, wofür sie verwendet wird und wie Sie sie verwenden. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Wie verwende ich Calc? Zusammenfassung der Verwendung der CSS3-Funktion calc()

Was ist calc() in CSS3? Was kann getan werden?

calc()Wörtlich können wir es als Funktion verstehen. Tatsächlich ist calc die Abkürzung des englischen Wortes calcule; es handelt sich um eine neue Funktion von CSS3, mit der die Länge von Elementen angegeben und der Längenwert dynamisch berechnet werden kann. (Empfohlene Studie: CSS3-Handbuch)

Die Funktion calc() in CSS3 ermöglicht es uns, mathematische Operationen an Attributwerten durchzuführen.

Anstatt beispielsweise den Breitenwert des Elements als statischen Pixelwert zu deklarieren, können wir die Funktion calc() verwenden, um anzugeben, dass der Breitenwert das Ergebnis der Addition von zwei oder mehr Werten ist.

.demo {
    width: calc(100px + 50px);
}

Warum calc() verwenden?

Wenn Sie einen CSS-Präprozessor wie sass verwendet haben, sind Sie möglicherweise auf das folgende Beispiel gestoßen:

.demo{
    width: 100px + 50px;
}

// 使用SASS变量
$width-one: 100px;
$width-two: 50px;
.bar {
    width: $width-one + $width-two;
}

Die Funktion calc() bietet jedoch eine großartige Lösung dafür hat zwei Vorteile. Erstens können wir verschiedene Einheiten kombinieren. Insbesondere können wir verschiedene Einheiten für die Berechnung mischen, z. B. Prozentsatz, px, em, rem und andere Einheiten können gemischt werden. Wir können beispielsweise einen Ausdruck erstellen, der Pixelwerte von Prozentwerten subtrahiert.

.demo {
    width: calc(100% - 50px);
}

In diesem Beispiel beträgt die Breite des .demo-Elements immer weniger als 100 % der Breite seines übergeordneten Elements.

Zweitens ist der berechnete Wert nach der Verwendung von calc() der Ausdruck selbst, nicht der Ergebniswert des Ausdrucks. Wenn Sie also den CSS-Präprozessor zum Ausführen eines mathematischen Ausdrucks verwenden, ist der an den Browser übergebene Wert der Ergebniswert des Ausdrucks.

// 在SCSS中指定值
.demo {
    width: 100px + 50px;
}
// 浏览器中编译的CSS及其计算值
.demo {
    width: 150px;
}

Mit der calc()-Funktion ist der vom Browser analysierte Wert der eigentliche calc()-Ausdruck.

// 在CSS中指定值
.demo {
    width: calc(100% - 50px);
}
//浏览器的计算值
.demo {
    width: calc(100% - 50px);
}

Das bedeutet, dass die Werte im Browser dynamischer sein und sich ändern können, wenn sich die Ansicht ändert. Wir können ein Element (Wert: Ansichtshöhe minus Absolutwert) haben, das sich ändert, wenn sich die Ansicht ändert.

<code><span style="font-size: 20px;"><strong>calc()</strong></span>calc()

Verwendung der Funktion

calc Die Funktion () kann numerische Attributwerte verwenden, um Addition, Subtraktion, Multiplikation und Division, die vier arithmetischen Operationen, durchzuführen. Insbesondere kann es in Datentypen wie , , , , , verwendet werden.

Hier einige Beispiele:

.demo {
    width: calc(50vmax + 3rem);
    padding: calc(1vw + 1em);
    transform: rotate( calc(1turn + 28deg) );
    background: hsl(100, calc(3 * 20%), 40%);
    font-size: calc(50vw / 3);
}

Hinweis:

Bei der Verwendung von „+“ und „-“ müssen davor und danach Leerzeichen stehen, wie zum Beispiel „widht: calc(12 %+5em)“ ist falsch, ohne Leerzeichen zu schreiben;

Bei Verwendung von „*“ und „/“ dürfen davor und danach keine Leerzeichen stehen, es wird jedoch empfohlen, Leerzeichen zu lassen.

calc() verschachtelte Verwendung

calc()-Funktion kann verschachtelt werden. Allerdings werden innere Funktionen als einfache Klammerausdrücke behandelt. Beispielsweise ist der folgende verschachtelte Ausdruck:

.demo  {
    width: calc( 100% / calc(100px * 2) );
}

äquivalent zu:

.demo  {
    width: calc( 100% / (100px * 2) );
}

Nehmen wir ein einfaches Beispiel, um zu sehen, wie die calc()-Funktion verwendet wird.

Beispiel: Zentriert Element (vorausgesetzt, dass Höhe und Breite der .demo-Box beide 300 Pixel betragen)

.demo {    
     position: absolute    
     top: calc(50% - 150px);    
     left: calc(50% - 150px);
}
Dies entspricht:
.demo {    
     position: absolute;   
     top: 50%;    
     left: 50%;    
     marging-top: -150px;    
     margin-left: -150px;
}

Kompatibilität der calc()-Funktion

Wie verwende ich Calc? Zusammenfassung der Verwendung der CSS3-Funktion calc()

calc()

Man erkennt, dass die Unterstützung des Browsers für die

-Funktion recht gut ist.

Bei Browsern, die dies nicht unterstützen, ignoriert die Funktion calc() den gesamten Ausdruck. Das bedeutet, dass wir einen statischen Wert zur Verwendung durch Browser bereitstellen müssen, die ihn nicht unterstützen.

.demo{
width: 90%; /*非支持浏览器设置静态值*/
width: calc(100% - 50px);
}

Zusammenfassung: Die Funktion calc() ist in verschiedenen Situationen sehr nützlich. Sie können sie selbst ausprobieren, um Ihr Verständnis zu vertiefen.

Verwandte Empfehlungen:
1. PHP-Video-Tutorial für die chinesische Website:

CSS3-Tutorial


2. PHP-Spezialeffekte für die chinesische Website herunterladen:

CSS3-Spezialeffektcode

Das obige ist der detaillierte Inhalt vonWie verwende ich Calc? Zusammenfassung der Verwendung der CSS3-Funktion calc(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Wie viel Spezifität haben @Rules wie @Keyframes und @Media?Wie viel Spezifität haben @Rules wie @Keyframes und @Media?Apr 18, 2025 am 11:34 AM

Ich habe diese Frage neulich bekommen. Mein erster Gedanke ist: seltsame Frage! Bei der Spezifität geht es um Selektoren, und Rules sind keine Selektoren, also ... irrelevant?

Können Sie @Media und @Support -Abfragen nisten?Können Sie @Media und @Support -Abfragen nisten?Apr 18, 2025 am 11:32 AM

Ja, Sie können, und es ist nicht wirklich wichtig in welcher Reihenfolge. Ein CSS -Präprozessor ist nicht erforderlich. Es funktioniert in regulären CSS.

Schnellschluck -Cache -BustingSchnellschluck -Cache -BustingApr 18, 2025 am 11:23 AM

Sie sollten auf jeden Fall weitausgestellte Cache-Header auf Ihren Vermögenswerten wie CSS und JavaScript (und Bilder und Schriftarten und was auch immer) festlegen. Das sagt dem Browser

Auf der Suche nach einem Stapel, der die Qualität und Komplexität von CSS überwachtAuf der Suche nach einem Stapel, der die Qualität und Komplexität von CSS überwachtApr 18, 2025 am 11:22 AM

Viele Entwickler schreiben darüber, wie sie eine CSS -Codebasis pflegen können, aber nicht viele von ihnen schreiben darüber, wie sie die Qualität dieser Codebasis messen. Sicher, wir haben

Datalist dient dazu, Werte vorzuschlagen, ohne Werte durchzusetzenDatalist dient dazu, Werte vorzuschlagen, ohne Werte durchzusetzenApr 18, 2025 am 11:08 AM

Haben Sie jemals ein Formular gehabt, das ein kurzes, willkürliches Stück Text akzeptieren musste? Wie ein Name oder was auch immer. Das ist genau das, wofür es ist. Es gibt viele

Frontkonferenz in ZürichFrontkonferenz in ZürichApr 18, 2025 am 11:03 AM

Ich bin so aufgeregt, nach Zürich, der Schweiz, zur Frontkonferenz zu gehen (liebe diesen Namen und diese URL!). Ich war noch nie in der Schweiz, also bin ich aufgeregt

Erstellen einer serverlosen Full-Stack-Anwendung mit Cloudflare-MitarbeiternErstellen einer serverlosen Full-Stack-Anwendung mit Cloudflare-MitarbeiternApr 18, 2025 am 10:58 AM

Eine meiner Lieblingsentwicklungen in der Softwareentwicklung war das Aufkommen von Serverless. Als Entwickler, der die Tendenz hat, sich in den Details festzuhalten

Erstellen dynamischer Routen in einer Nuxt -AnwendungErstellen dynamischer Routen in einer Nuxt -AnwendungApr 18, 2025 am 10:53 AM

In diesem Beitrag werden wir eine E -Commerce -Store -Demo verwenden, die ich für Netlify erstellt und bereitgestellt habe, um zu zeigen, wie wir dynamische Routen für eingehende Daten erstellen können. Es ist fair

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung