Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3

高洛峰
Freigeben: 2017-03-09 10:22:37
Original
1978 Leute haben es durchsucht

Flex-Layout ist zweifellos die leistungsstärkste Layoutmethode für heutige Webseiten, und das flexible Box-Modell „Box-Flex“ ist einer ihrer Vertreter. Hier erklären wir das Layout des flexiblen Box-Modells „Box-Flex“ in CSS3 anhand eines Beispiels

box-flex ist ein neu hinzugefügtes Box-Modell-Attribut in CSS3. Sein Erscheinungsbild durchbricht das häufig verwendete schwebende Layout und erreicht vertikale gleiche Höhe, horizontale Teilung und proportionale Teilung. In den Browsern Firefox und Chrome müssen sie jedoch mit ihren privaten Attributen definiert werden: Firefox (-moz), Chrome (-webkit).

1. Box-Flex-Attribut
Box-Flex ermöglicht hauptsächlich die Aufteilung des untergeordneten Containers nach bestimmten Regeln entsprechend der Breite des übergeordneten Containers.

<p class="box">   
 <p class="col_1">111</p>   
 <p class="col_2">222</p>   
 <p class="col_3">333</p>   
</p>   
<style type="text/css">   
.box {   
 display:box;   
 display:-webkit-box;   
 display:-moz-box;   
 background-color:#fff;   
 width:500px;   
 height:100px;   
 border:1px solid #333;   
 margin:0 auto;   
}   
.col_1 {   
 box-flex:1;   
 -moz-box-flex:1;   
 -webkit-box-flex:1;   
 background-color:#ffc;   
}   
.col_2 {   
 background-color:#ccf;   
 box-flex:2;   
 -moz-box-flex:2;   
 -webkit-box-flex:2;   
}   
.col_3 {   
 background-color:#fcf;   
 box-flex:2;   
 -moz-box-flex:2;   
 -webkit-box-flex:2;   
}   
</style>
Nach dem Login kopieren

Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3

Hinweis:
Der übergeordnete Container muss als display:box definiert sein, damit seine untergeordneten Container geteilt werden können (falls display ist eingestellt :box, der Container ist ein Inline-Element. Die Verwendung von margin:0 auto zum Zentrieren ist unter Firefox ungültig. Dies muss über text-align:center gesteuert werden, unter Chrome ist dies jedoch möglich )
Im oben genannten Beispiel sind die drei Unterblöcke auf 1, 2 bzw. 2 eingestellt, was bedeutet, dass der übergeordnete Container in 5 Teile unterteilt ist und 1/5 (100 Pixel), 2/ einnimmt. 5 (200 Pixel) bzw. 2 der Breite der übergeordneten Struktur.
Das Obige wird entsprechend dem Verhältnis aufgeteilt. Wenn ein oder mehrere Untercontainer auf eine feste Breite eingestellt sind und andere Untercontainer nicht festgelegt sind, wird die Breite entsprechend der Breite berechnet und die verbleibenden Teile werden berechnet nach obiger Methode berechnen.

.col_3 {   
 background-color:#fcf;   
 width:50px;/*设置宽度为50px*/
}
Nach dem Login kopieren

Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3

Wenn im Untercontainer eine Lücke vorhanden sein muss, müssen deren gleichmäßig verteilte Breiten vom Mittelrand abgezogen werden. und dann gleichmäßig im Verhältnis aufgeteilt.

.col_2 {   
 background-color:#ccf;   
 box-flex:2;   
 -moz-box-flex:2;   
 -webkit-box-flex:2;   
 margin:0 20px;   
}
Nach dem Login kopieren

Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3

2. Box-Attribute
wie oben erwähnt Box-Flex teilt die Breite des übergeordneten Containers. Lassen Sie uns nun darüber sprechen, was die Box-Attribute im übergeordneten Container umfassen.
box-orient, box-direction, box-align, box-pack, box-lines
1 box-orient
box-orient wird verwendet, um die Position des zu bestimmen Untergeordneter Container im übergeordneten Container. Die optionalen Attribute sind wie folgt:
horizontale | vertikale | und kann Container horizontal anordnen. Auch horizontal angeordnete Stile werden standardmäßig gerendert. Wenn der übergeordnete Container die Höhe festlegt, ist die Höhe seines untergeordneten Containers unter Firefox ungültig, unter Chroma jedoch gültig.

.col_1 {   
 height:50px;   
}   
.col_2 {   
 height:80px;   
}
Nach dem Login kopieren

Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3

Wenn Ihr Container keine Höhe festlegt, wird der Höhenwert des Untercontainers nur unter Firefox wirksam Die Höhe ist der Maximalwert. Die Höhe des untergeordneten Containers unter Chrome ist auf seine eigene Höhe eingestellt. Wenn er nicht festgelegt ist, entspricht seine Höhe der maximalen Höhe.

.box {   
 /*未设置高度*/
}   
.col_1 {   
 height:50px;   
}   
.col_2 {   
 height:80px;   
}   
.col_3 {   
 /*未设置高度*/
}
Nach dem Login kopieren

Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3

Die Attribute „Vertikal“ und „Blockachse“ haben den gleichen Effekt und können Untercontainer vertikal anordnen. Sie weisen die Höhe des übergeordneten Containers zu. Wenn die Breite des Untercontainers festgelegt ist, ist sie auch unter Google gültig und unter Firefox ungültig. Andere sind konsistent mit der horizontalen Leistung.


Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3

2、box-direction
box-direction用来确定父容器里面的子容器排列顺序,具有以下属性:
normal | reverse | inherit
normal是默认值,如上面测试结果。
reverse表示反转,其表现方式跟normal相反,呈现为3、2、1
Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3

3、box-align
box-align表示父容器里面子容器的垂直对齐方式,属性值为:
start | end | center | baseline | stretch
start、baseline展示效果
Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3

end展示效果
Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3

center展示效果
Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3

stretch展示效果,(谷歌下面如start)
Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3

4、box-pack
box-pack表示父容器里面子容器的水平对齐方式,可选参数如下所示:
start | end | center | justify
css代码

.box {   
 display:box;   
 display:-webkit-box;   
 display:-moz-box;   
 background-color:#fff;   
 width:500px;   
 border:1px solid #333;   
 margin:0 auto;   
 height:100px;   
 -webkit-box-pack:start;   
 -moz-box-pack:start;   
 box-pack:start;   
}   
.col_1,.col_2,.col_3{   
 width:100px;   
}
Nach dem Login kopieren

start:在box-pack表示水平居左对齐,如下所示:
Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3

end:在box-pack表示水平居右对齐,如下图所示
Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3

center:在box-pack表示水平居中对齐,如下图所示
Eine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3

justify:在box-pack表示两边对齐试

Das obige ist der detaillierte Inhalt vonEine beispielhafte Einführung in das flexible Box-Attribut-Layout von box-flex in CSS3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage