三栏布局
浮动布局
<section class="layout float"> <style media="screen"> .layout.float .left { float: left; width: 300px; background: red; } .layout.float .center { background: yellow; } .layout.float .right { float: right; width: 300px; background: blue; } </style> <h1>三栏布局</h1> <article class="left-right-center"> <div class="left"></div> <div class="right"></div> <div class="center"> <h2>浮动解决方案</h2> 1.这是三栏布局的浮动解决方案; 2.这是三栏布局的浮动解决方案; 3.这是三栏布局的浮动解决方案; 4.这是三栏布局的浮动解决方案; 5.这是三栏布局的浮动解决方案; 6.这是三栏布局的浮动解决方案; </div> </article></section>
绝对布局
<section class="layout absolute"> <style> .layout.absolute .left-center-right > div { position: absolute; } .layout.absolute .left { left: 0; width: 300px; background: red; } .layout.absolute .center { left: 300px; right: 300px; background: yellow; } .layout.absolute .right { right: 0; width: 300px; background: blue; } </style> <h1>三栏布局</h1> <article class="left-center-right"> <div class="left"></div> <div class="center"> <h2>绝对定位解决方案</h2> 1.这是三栏布局的浮动解决方案; 2.这是三栏布局的浮动解决方案; 3.这是三栏布局的浮动解决方案; 4.这是三栏布局的浮动解决方案; 5.这是三栏布局的浮动解决方案; 6.这是三栏布局的浮动解决方案; </div> <div class="right"></div> </article></section>
flexbox 布局
<section class="layout flexbox"> <style> .layout.flexbox { margin-top: 110px; } .layout.flexbox .left-center-right { display: flex; } .layout.flexbox .left { width: 300px; background: red; } .layout.flexbox .center { flex: 1; background: yellow; } .layout.flexbox .right { width: 300px; background: blue; } </style> <h1>三栏布局</h1> <article class="left-center-right"> <div class="left"></div> <div class="center"> <h2>flexbox解决方案</h2> 1.这是三栏布局的浮动解决方案; 2.这是三栏布局的浮动解决方案; 3.这是三栏布局的浮动解决方案; 4.这是三栏布局的浮动解决方案; 5.这是三栏布局的浮动解决方案; 6.这是三栏布局的浮动解决方案; </div> <div class="right"></div> </article></section>
表格布局
<section class="layout table"> <style> .layout.table .left-center-right { width: 100%; height: 100px; display: table; } .layout.table .left-center-right > div { display: table-cell; } .layout.table .left { width: 300px; background: red; } .layout.table .center { background: yellow; } .layout.table .right { width: 300px; background: blue; } </style> <h1>三栏布局</h1> <article class="left-center-right"> <div class="left"></div> <div class="center"> <h2>表格布局解决方案</h2> 1.这是三栏布局的浮动解决方案; 2.这是三栏布局的浮动解决方案; 3.这是三栏布局的浮动解决方案; 4.这是三栏布局的浮动解决方案; 5.这是三栏布局的浮动解决方案; 6.这是三栏布局的浮动解决方案; </div> <div class="right"></div> </article></section>
网格布局
<section class="layout grid"> <style> .layout.grid .left-center-right { width: 100%; display: grid; grid-template-rows: 100px; grid-template-columns: 300px auto 300px; } .layout.grid .left-center-right > div { } .layout.grid .left { width: 300px; background: red; } .layout.grid .center { background: yellow; } .layout.grid .right { background: blue; } </style> <h1>三栏布局</h1> <article class="left-center-right"> <div class="left"></div> <div class="center"> <h2>网格布局解决方案</h2> 1.这是三栏布局的浮动解决方案; 2.这是三栏布局的浮动解决方案; 3.这是三栏布局的浮动解决方案; 4.这是三栏布局的浮动解决方案; 5.这是三栏布局的浮动解决方案; 6.这是三栏布局的浮动解决方案; </div> <div class="right"></div> </article></section>
未知宽高元素水平垂直居中
<div class="father"> <div class="son"></div></div>//第一种<style> .father { position: relative; width: 500px; height: 500px; background-color: red; } .son { position: absolute; margin: auto; top: 0; left: 0; bottom: 0; right: 0; width: 300px; height: 300px; background-color: blue; }</style>//第二种<style> .father { position: relative; } .son { margin: auto; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }</style>//第三种<style> .father { display: -webkit-flex; align-items: center; justify-content: center; } .son { margin: auto; }</style>//第四种,用表格布局<div class="pe"> <div class="he"> <div class="she"></div> </div></div><style> .pe { display: table; width: 50%; height: 30%; position: absolute; } .he { display: table-cell; vertical-align: middle; text-align: center; } .she { width: 50%; height: 30%; display: inline-block; }</style>//第五种,行内块元素<div class="wrap"> <b class="vamp"></b> <div class="test">行内块元素</div> <div> <style> .vamp{ width:0; height:100%; vertical-align:middle; } .test{ background:"blue"; display:inline-block; } </style> </div></div>