Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wie lässt sich ein Div mithilfe von CSS von seiner Mitte aus erweitern?

Linda Hamilton
Freigeben: 2024-10-30 08:58:02
Original
107 Leute haben es durchsucht

How to Make a Div Expand from Its Center Using CSS?

Ein Div von der Mitte aus mit CSS erweitern

Wenn wir ein Div mit CSS erweitern, wird es normalerweise von der oberen linken Ecke aus erweitert, wobei die Mitte unberührt bleibt. Es kann jedoch Szenarien geben, in denen die Erweiterung ihren Ursprung in der Mitte des Div haben soll. Mit kreativen CSS-Techniken können wir diesen Effekt erzielen, wie unten erläutert.

Der Schlüssel: Rand per Formel anpassen

Um das Div von der Mitte aus zu erweitern, liegt der Schlüssel im Übergang des Randes. Eine Formel wird verwendet, um den Rand anzupassen und sicherzustellen, dass die Erweiterung symmetrisch um den Mittelpunkt herum erfolgt.

Option 1: Innerhalb des reservierten Raums erweitern

Diese Option erweitert das Div innerhalb des reservierten Raums um es herum :

<code class="css">#square {
    margin: 100px;
    transition: width 1s, height 1s, margin 1s;
    ...
}
#square:hover {
    margin: 55px;
}</code>
Nach dem Login kopieren

Option 2: Über umgebende Elemente erweitern

Hier wird das Div über die umgebenden Elemente erweitert:

<code class="css">#square {
    margin: 0; /*for centering purposes*/
    transition: width 1s, height 1s, margin 1s;
    ...
}
#square:hover {
    margin: -50px; /* 0 - (110px - 10px [= 100px]) / 2 =  -50px */
}</code>
Nach dem Login kopieren

Option 3: Elemente erweitern und verschieben der Dokumentenfluss

Diese Option erweitert das div über Elemente davor im Fluss und verschiebt Elemente danach:

<code class="css">#square {
    position: relative;
    transition: width 1s, height 1s, top 1s, left 1s, margin 1s;
    ...
}
#square:hover {
    top: -50px;
    left: -50px;
    margin-right: -50px;
    margin-bottom: -50px;
}</code>
Nach dem Login kopieren

Hinweis zu nicht quadratischen Elementen

Die bereitgestellten Die Lösung eignet sich am besten für quadratische Elemente. Bei nicht quadratischen Elementen muss der Übergang für jede Richtung unterschiedlich angepasst werden. Beispielsweise können wir die Breite doppelt so stark anpassen wie die Höhe:

<code class="css">#rectangle {
    transition: width 1s, height 1s, margin 1s;
    ...
}
#rectangle:hover {
    margin: -50px -100px; /* margin: -50px -((initial margin - width change (or height change))/2) */
}</code>
Nach dem Login kopieren

Durch die Befolgung dieser Techniken können wir den gewünschten Effekt der Erweiterung eines Divs von seiner Mitte aus erzielen, ohne auf JavaScript zurückgreifen zu müssen.

Das obige ist der detaillierte Inhalt vonWie lässt sich ein Div mithilfe von CSS von seiner Mitte aus erweitern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!