Heim  >  Artikel  >  Web-Frontend  >  Besetzen Floats eine Position in CSS3?

Besetzen Floats eine Position in CSS3?

青灯夜游
青灯夜游Original
2021-12-16 11:18:542634Durchsuche

Floating nimmt Position in CSS3 ein. Schwebende Elemente können sich vom Standarddokumentfluss lösen und die Einschränkungen von Elementen auf Blockebene und Inline-Elementen aufheben, sie lösen sich jedoch nicht vom Textfluss, sodass sie weiterhin die Position einnehmen und andere Textinhalte fortgeführt werden geordnet werden.

Besetzen Floats eine Position in CSS3?

Die Betriebsumgebung dieses Tutorials: Windows7-System, CSS3- und HTML5-Version, Dell G3-Computer.

Floating nimmt Position in CSS3 ein.

Eigenschaften von Floating-Elementen:

1. Floating-Elemente lösen sich vom Standarddokumentfluss und beseitigen die Einschränkungen von Block-Level-Elementen und Inline-Elementen

2 Wenn die Breite nicht ausreicht, erfolgt ein automatischer Zeilenumbruch

3 Das schwebende Element wird zwar vom Standarddokumentfluss getrennt, es wird jedoch nicht vom Textfluss getrennt und hat den Effekt, dass es umschlossen wird durch Wörter

float float gefolgt von position:absoluteEs hat auch die Funktion, sich vom Dokumentenfluss zu lösen, aber obwohl float vom Dokumentenfluss getrennt ist, wird es immer noch die Position einnehmen und so weiter Der Textinhalt wird weiterhin in der richtigen Reihenfolge angeordnet. Wenn Sie Float für alle Elemente festlegen, werden diese wenigen ps nicht überlappt, sondern der Reihe nach angeordnet. Sie können sich auf die Auswirkung der Einstellung display:none und sichtbar:hidden beziehen. position:absolute一样拥有脱离文档流的功能,但是float虽然脱离了文档流但是仍然会占据位置,其他的文本内容会按照顺序继续排列——如果你对所有的元素都设置了浮动,你会看到这几个p并不会重叠,而是会顺序排列。可以参考设置display:none,跟visible:hidden的效果。

其他盒子看不见被float的元素,但是其他盒子里的文本看得见

float浮动:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>浮动float和absolute区别</title>
    <style>
        .box{
            width: 500px;
            height: 300px;
            border: 1px solid black;
            margin: 0 auto;
            position: relative;
        }
        .first {
            width: 150px;
            height: 100px;
            /*float: left;*/
            display: inline-block;
            background: pink;
            border: 10px solid red;    /*增加了边框*/
        }
        .second {
            width: 100px;
            height: 100px;
            background: blue;
            display: inline-block;
            float: left;      /*只设置一个浮动*/
        }
        .third{
            width: 50px;
            height: 100px;
            /*float: left;*/
            display: inline-block;
            background: green;
        }
    </style>
</head>

<body>
 <div>
    <div>123</div>
    <div>456</div>
    <div>789</div>
 </div>
</body>
</html>

将第27行设置改成position:absolute;如下图

 将第27行设置改成position:absolute;加上left:0

Andere Boxen können keine schwebenden Elemente sehen, aber der Text in anderen Boxen kann gesehen werden

float float:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>浮动float和absolute区别</title>
    <style>
        .box{
            width: 500px;
            height: 300px;
            border: 1px solid black;
            margin: 0 auto;
            position: relative;
        }
        .first {
            width: 150px;
            height: 100px;
            /*float: left;*/
            display: inline-block;
            background: pink;
            border: 10px solid red;    /*增加了边框*/
        }
        .second {
            width: 100px;
            height: 100px;
            background: blue;
            display: inline-block;
            position: absolute;
            left:0;
            opacity: 0.8
            /*float: left;*/

        }
        .third{
            width: 50px;
            height: 110px;
            float: left;
            display: inline-block;
            background: green;
            /*position: absolute;*/
        }
    </style>
</head>

<body>
 <div>
    <div>123</div>
    <div>456</div>
    <div>789</div>
 </div>
</body>
</html>

wird der erste sein Ändern Sie die Einstellung in Zeile 27 wie unten gezeigt auf position:absolute; 1.png " alt=""/>

Ändern Sie die Einstellung in Zeile 27 in position:absolute; plus left:0; wie unten gezeigt

Beispiel 3. Vergleich des Flusses außerhalb des Dokuments

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
    .box{width:500px;height:500px;border: 5px solid green;}
        .first {
            width: 200px;
            height: 200px;
            border: 3px solid red;
            float:left;    /*左浮动*/

        }
        .second {
            width: 150px;
            height: 100px;
            border: 3px solid blue;
            
        }
        .third{
            width: 110px;
            height: 100px;
            border: 3px solid grey;
            float:left;    /*左浮动*/
        }
    </style>
</head>
 
<body>
 <div>
    <div>123</div>
    <div>456</div>
    <div>789</div>
 </div>
 <div>我是文字</div>
</body>

Absolut ist die Priorität des Flusses außerhalb des Dokuments

Floating-Analyse

rrreee

Rendering:

                                                                                         ery IN DREECH

| Das zweite Element hat einen blauen Rand

Das dritte Element hat einen grauen Rand – schwebend nach links Hinweis: Schweben bedeutet, sich vom Dokumentenfluss zu lösen. Was schwebt aus dem Dokumentenfluss? Wie der Name schon sagt, ist Schweben gleichbedeutend mit dem Schweben des Elements über dem schwebenden Element (so wie das nicht schwebende Element die Erde darstellt, ist Schweben gleichbedeutend damit, dass weiße Wolken am Himmel schweben und Sie die Erde aus einer höheren Höhe überblicken). die weißen Wolken. Wenn Sie nach unten schauen, ist das Land von weißen Wolken bedeckt, aber nicht die Erde. Auf dem Bild können Sie sehen, dass der blaue Rand von den roten bedeckt ist Das Merkwürdige ist, dass der Textinhalt nicht aus dem Float herauskommt. Dadurch kennen Sie wahrscheinlich den Unterschied zwischen Float und Absolute.

    Wenn Sie das sehen, fragen Sie sich vielleicht, warum sich der graue Rand des dritten Elements in der Mitte des roten Felds befindet und nicht darüber?
  • Antwort: Das zweite Element wird nicht in der Reihenfolge und Position des zweiten Elements verschoben. Das dritte Element kann nur angezeigt werden, wenn das vierte Element angezeigt wird oben schwebend

  • Der Unterschied zwischen schwebend und positionierend:

Floating nimmt auch die ursprüngliche Position ein

Die Positionierung löst sich vom Dokumentenfluss und nimmt nicht die ursprüngliche Position ein

Falls vorhanden Wenn drei Elemente auf Float eingestellt sind, werden sie nebeneinander in einer Reihe angeordnet. Das Problem besteht darin, dass die Höhe des übergeordneten Elements (ohne Festlegung von Breite und Höhe) zusammenfällt und die Ränder zusammengeführt werden Die Lösung besteht darin, den Schwimmer zu reinigen. Wenn für das zweite Element eine Breite und Höhe festgelegt ist, schwebt das dritte Element außerhalb der Breite und Höhe.

🎜🎜Die ursprüngliche Funktion von Floating Float besteht darin, einen Textumbrucheffekt zu erzielen🎜🎜🎜 (Teilen von Lernvideos: 🎜CSS-Video-Tutorial🎜)🎜

Das obige ist der detaillierte Inhalt vonBesetzen Floats eine Position in CSS3?. 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