Ein sehr wichtiger Teil des Frontend-Layouts ist der Aufbau des Seitengerüsts, das auch der grundlegendste Teil ist. Beim Aufbau des Seitenframeworks gibt es zentriertes Layout, mehrspaltiges Layout und globales Layout. Heute werden wir das CSS-Layout in nützlichen Front-End-Informationen zusammenfassen.
1) Inline-block+text-align verwenden
(1) Prinzip und Verwendung
Prinzip: Ändern Sie zunächst die Unterbox von einem Blockebenenelement in ein Inline-Blockelement und stellen Sie dann das Inline-Blockelement so ein, dass es zentriert ist, um eine horizontale Zentrierung zu erreichen.
Verwendung: Legen Sie display:inline-block für das untergeordnete Feld und text-align:center für das übergeordnete Feld fest.
(2) Codebeispiele
<p class="parent"> <p class="child>DEMO</p> </p>
.child{ display:inline-block; }.parent{ text-align:center; }
(3) Vor- und Nachteile
Vorteile: Kompatibilität Nun, es ist sogar mit ie6 und ie7 kompatibel
Nachteile: Der Text im untergeordneten Element wird auch horizontal zentriert. Sie können text-align:left in .child hinzufügen
2) Tabelle+Rand verwenden
(1) Prinzip und Verwendung
Prinzip: Stellen Sie zunächst die Unterbox auf eine Blockebene ein Tabelle für die Anzeige (ähnlich wie
和 | ),再通过设置属性,使表格单元格内容垂直居中以达到垂直居中。 用法:先将父框设置为display:table-cell,再设置vertical-align:middle。 (2)代码实例 <p class="parent"> <p class="child>DEMO</p> </p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren .parent { display:table-cell; vertical-align:middle; } Nach dem Login kopieren (3)优缺点
2)使用absolute+transform
(2)代码实例 <p class="parent"> <p class="child>DEMO</p> </p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren .parent { position:relative; }.child { position:absolute; top:50%; transform:translateY(-50%); } Nach dem Login kopieren (3)优缺点
3)使用flex+align-items
(1)代码实例 <p class="parent"> <p class="child>DEMO</p> </p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren .parent { position:flex; align-items:center; } Nach dem Login kopieren (3)优缺点
水平垂直居中1)使用absolute+transform
(2)代码实例 <p class="parent"> <p class="child>DEMO</p> </p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren .parent { position:relative; }.child { position:absolute; left:50%; top:50%; transform:tranplate(-50%,-50%); } Nach dem Login kopieren (3)优缺点
2)使用inline-block+text-align+table-cell+vertical-align
(2)代码实例 <p class="parent"> <p class="child>DEMO</p> </p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren .parent { text-align:center; display:table-cell; vertical-align:middle; }.child { display:inline-block; } Nach dem Login kopieren (3)优缺点
3)使用flex+justify-content+align-items
(2)代码实例 <p class="parent"> <p class="child>DEMO</p> </p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren .parent { display:flex; justify-content:center; align-items:center; } Nach dem Login kopieren (3)优缺点
多列布局定宽+自适应1)使用float+overflow
(2)代码实例 <p class="parent"> <p class="left"> <p>left</p> </p> <p class="right"> <p>right</p> <p>right</p> </p></p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren .left { float:left; width:100px; margin-right:20px; }.right { overflow:hidden; } Nach dem Login kopieren (3)优缺点
2)使用float+margin
(2)代码实例 <p class="parent"> <p class="left"> <p>left</p> </p> <p class="right"> <p>right</p> <p>right</p> </p></p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren .left { float:left; width:100px; }.right { margin-left:120px; } Nach dem Login kopieren (3)优缺点
3)使用float+margin(改良版)
(2)代码实例 <p class="parent"> <p class="left"> <p>left</p> </p> <p class="rigth-fix"> <p class="right"> <p>right</p> <p>right</p> </p> </p></p> Nach dem Login kopieren .left { float:left; width:100px; position:relative; }.right-fix { float:right; width:100%; margin-left:-100px; }.right { margin-left:120px; } Nach dem Login kopieren (3)优缺点
4)使用table
(2)代码实例 <p class="parent"> <p class="left"> <p>left</p> </p> <p class="right"> <p>right</p> <p>right</p> </p></p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren .parent { display:table; width:100%; table-layout:fixed; }.left { width:100px; padding-right:20px; }.right,.left { display:table-cell; } Nach dem Login kopieren 5)使用flex
(2)代码实例 <p class="parent"> <p class="left"> <p>left</p> </p> <p class="right"> <p>right</p> <p>right</p> </p></p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren .parent { display:flex; }.left { width:100px; margin-right:20px; }.right { flex:1; } Nach dem Login kopieren (3)优缺点
两列定宽+一列自适应(1)原理、用法
(2)代码实例 <p class="parent"> <p class="left"> <p>left</p> </p> <p class="center"> <p>center</p> </p> <p class="right"> <p>right</p> <p>right</p> </p></p> Nach dem Login kopieren Nach dem Login kopieren .left,.center { float:left; width:100px; margin-right:20px; }.right { overflow:hidden; } Nach dem Login kopieren 不定宽+自适应1)使用float+overflow
(2)代码实例 <p class="parent"> <p class="left"> <p>left</p> </p> <p class="right"> <p>right</p> <p>right</p> </p></p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren .left{ float: left; margin-right: 20px; }.right{ overflow: hidden; }.left p{ width: 200px; } Nach dem Login kopieren (3)优缺点
2)使用table
(2)代码实例 <p class="parent"> <p class="left"> <p>left</p> </p> <p class="right"> <p>right</p> <p>right</p> </p></p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren .parent{ display: table; width: 100%; }.left,.right{ display: table-cell; }.left{ width: 0.1%; padding-right: 20px; }.left p{ width:200px; } Nach dem Login kopieren (3)优缺点
3)使用flex
(2)代码实例 <p class="parent"> <p class="left"> <p>left</p> </p> <p class="right"> <p>right</p> <p>right</p> </p></p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren .parent { display:flex; }.left { margin-right:20px; }.right { flex:1; }.left p{ width: 200px; } Nach dem Login kopieren (3)优缺点
两列不定宽+一列自适应(1)原理、用法
(2)代码实例 <p class="parent"> <p class="left"> <p>left</p> </p> <p class="center"> <p>center</p> </p> <p class="right"> <p>right</p> <p>right</p> </p></p> Nach dem Login kopieren Nach dem Login kopieren .left,.center{ float: left; margin-right: 20px; }.right{ overflow: hidden; }.left p,.center p{ width: 100px; } Nach dem Login kopieren 等分布局公式转化:l = w * n + g * (n-1) -> l = w * n + g * n - g -> l + g = (w + g) * n Nach dem Login kopieren 因此,我们需要解决两个问题:
1)使用float
(2)代码实例 <p class="parent"> <p class="column"><p>1</p></p> <p class="column"><p>2</p></p> <p class="column"><p>3</p></p> <p class="column"><p>4</p></p></p> Nach dem Login kopieren Nach dem Login kopieren .parent{ margin-left: -20px;//l增加g } .column{ float: left; width: 25%; padding-left: 20px; box-sizing: border-box;//包含padding区域 w+g } Nach dem Login kopieren (3)优缺点
2)使用table
(2)代码实例 <p class="parent-fix"> <p class="parent"> <p class="column"><p>1</p></p> <p class="column"><p>2</p></p> <p class="column"><p>3</p></p> <p class="column"><p>4</p></p> </p></p> Nach dem Login kopieren .parent-fix{ margin-left: -20px;//l+g } .parent{ display: table; width:100%; table-layout: fixed; } .column{ display: table-cell; padding-left: 20px;//w+g} Nach dem Login kopieren (3)优缺点
3)使用flex
(2)代码实例 <p class="parent"> <p class="column"><p>1</p></p> <p class="column"><p>2</p></p> <p class="column"><p>3</p></p> <p class="column"><p>4</p></p></p> Nach dem Login kopieren Nach dem Login kopieren .parent{ display: flex; }.column{ flex: 1; }.column+.column{ margin-left:20px; } Nach dem Login kopieren (3)优缺点
定宽+自适应+两块高度一样高1)使用float
(2)代码实例 <p class="parent"> <p class="left"> <p>left</p> </p> <p class="right"> <p>right</p> <p>right</p> </p></p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren p{ background: none!important; }.left,.right{ background: #444; }.parent{ overflow: hidden; }.left,.right{ padding-bottom: 9999px; margin-bottom: -9999px; }.left{ float: left; width: 100px; margin-right: 20px; }.right{ overflow: hidden; } Nach dem Login kopieren (3)优缺点
2)使用table
(2)代码实例 <p class="parent"> <p class="left"> <p>left</p> </p> <p class="right"> <p>right</p> <p>right</p> </p></p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren .parent { display:table; width:100%; table-layout:fixed; } .left { width:100px; padding-right:20px; } .right,.left { display:table-cell; } Nach dem Login kopieren 3)使用flex
(2)代码实例 <p class="parent"> <p class="left"> <p>left</p> </p> <p class="right"> <p>right</p> <p>right</p> </p></p> Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren Nach dem Login kopieren .parent { display:flex; } .left { width:100px; margin-right:20px; } .right { flex:1; } Nach dem Login kopieren (3)优缺点
4)使用display
(2)代码实例 <p class="parent"> <p class="left">left</p> <p class="right">right </p> </p> Nach dem Login kopieren .parent { width: 100%; display: -webkit-box; } .left { width:100px; margin-right: 20px; } .right { -webkit-box-flex: 1; } Nach dem Login kopieren (3)优缺点
全屏布局全屏布局的特点
全屏布局的方法1)使用position
(2)代码实例 <p class="parent"> <p class="top">top</p> <p class="left">left</p> <p class="right"> <p class="inner">right</p> </p> <p class="bottom">bottom</p> </p> Nach dem Login kopieren html,body,.parent{ margin:0; height:100%; overflow:hidden; }body{ color:white; }.top{ position:absolute; top:0; left:0; right:0; height:100px; background:blue; }.left{ position:absolute; left:0; top:100px; bottom:50px; width:200px; background:red; }.right{ position:absolute; left:200px; top:100px; bottom:50px; right:0; background:pink; overflow: auto; }.right .inner{ min-height: 1000px; }.bottom{ position:absolute; left:0; right:0; bottom:0; height:50px; background: black; } Nach dem Login kopieren (3)优缺点
2)使用flex
(2)代码实例 <p class="parent"> <p class="top">top</p> <p class="middle"> <p class="left">left</p> <p class="right"> <p class="inner">right</p> </p> </p> <p class="bottom">bottom</p> </p> Nach dem Login kopieren Nach dem Login kopieren html,body,.parent{ margin:0; height:100%; overflow:hidden; }body{ color: white; } .parent{ display: flex; flex-direction: column; }.top{ height:100px; background: blue; }.bottom{ height:50px; background: black; }.middle{ flex:1; display:flex; }.left{ width:200px; background: red; }.right{ flex: 1; overflow: auto; background:pink; }.right .inner{ min-height: 1000px; } Nach dem Login kopieren (3)优缺点
1)使用flex
(2)代码实例 <p class="parent"> <p class="top">top</p> <p class="middle"> <p class="left">left</p> <p class="right"> <p class="inner">right</p> </p> </p> <p class="bottom">bottom</p> </p> Nach dem Login kopieren Nach dem Login kopieren html,body,.parent{ margin:0; height:100%; overflow:hidden; }body{ color:white; } .parent{ display:flex; flex-direction:column; }.top{ background:blue; }.bottom{ background:black; }.middle{ flex:1; display:flex; }.left{ background: red; }.right{ flex:1; overflow:auto; background: pink; }.right .inner{ min-height:1000px; } Nach dem Login kopieren 全屏布局相关方案的兼容性、性能和自适应一览表
当然,最最最最最后,如果您喜欢这片文章,可以疯狂点赞!! Das obige ist der detaillierte Inhalt vonEine Sammlung von Lösungen für das CSS-Seitenlayout. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website! 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
Aktuelle Ausgaben
verwandte Themen
Mehr>
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
|
---|