一、垂直居中布局絕對(duì)定位布局 .parent { position: relative; } .child { width: 200px; height: 200px; position: absolute; left: 0; top: 0; bottom: 0; right: 0; margin: auto; }復(fù)制代碼 2.margin 負(fù)間距
.child { width: 200px; height: 200px; position:absolute; left:50%; /* 定位父級(jí)的50% */ top:50%; transform: translate(-50%,-50%); /*自己的50% */ }復(fù)制代碼
.parent { display: flex; } .child { margin: auto }復(fù)制代碼 父元素設(shè)置teable-cell元素,利用三層結(jié)構(gòu)模擬父子結(jié)構(gòu) grid布局.parent { display: grid; } .child { justify-self: center; align-self: center; }復(fù)制代碼 二、自適應(yīng)布局右邊寬度固定,左邊自適應(yīng)
<style> .container > div { height: 200px; } .left { background-color: #ce5a4b; float: left; width: 100px; } .right { background-color: #499e56; margin-left: 100px; } </style><body> <div class='container'> <div class='left'></div> <div class='right'></div> </div></body>復(fù)制代碼 flex實(shí)現(xiàn)方式:
上部高度固定,下部高度自適應(yīng)
<style> .container { height: 100%; padding: 100px 0 0; box-sizing: border-box; position: relative; } .top { height: 100px; background: #ce5a4b; position: absolute; top: 0; left: 0; width: 100%; } .bottom { height: 100%; background: #499e56; } </style><body> <div class='container'> <div class='top'></div> <div class='bottom'></div> </div></body>復(fù)制代碼 普通布局實(shí)現(xiàn):
三、三欄式布局三欄式布局的七種布局方式:float布局、絕對(duì)定位布局、圣杯布局、雙飛翼布局、Flex布局、表格布局、網(wǎng)格布局 實(shí)現(xiàn)步驟: <style> .left { float: left; width: 100px; height: 200px; background: #ce5a4b; } .right { float: right; width: 200px; height: 200px; background: #499e56; } .main { margin-left: 120px; margin-right: 220px; height: 200px; background: #f8cf5f; } .container::after { content: ''; display: block; clear: both; } </style><body> <div class='container'> <div class='left'></div> <div class='right'></div> <div class='main'></div> </div></body>復(fù)制代碼
position布局 實(shí)現(xiàn)步驟
float和BFC配合圣杯布局 實(shí)現(xiàn)步驟
<style> .container { overflow: hidden; padding: 0 220px 0 120px; } .container>div { position: relative; float: left; height: 300px; } .main { width: 100%; background-color: #f8cf5f; } .left { width: 100px; margin-left: -100%; left: -120px; background-color: #ce5a4b; } .right { width: 200px; background-color: #499e56; margin-left: -200px; right: -220px; } </style> <div class='container'> <div class='main'></div> <div class='left'></div> <div class='right'></div> </div>復(fù)制代碼 實(shí)現(xiàn)步驟
flex布局 實(shí)現(xiàn)步驟
<style> .container { display: flex; } .main { background-color: #f8cf5f; width: 100%; height: 300px; order: 2; } .left { background-color: #ce5a4b; width: 100px; height: 300px; margin-right: 20px; flex-shrink: 0; order: 1; } .right { background-color: #499e56; width: 200px; height: 300px; flex-shrink: 0; margin-left: 20px; order: 3; } </style><body> <div class='container'> <div class='main'></div> <div class='left'></div> <div class='right'></div> </div></body>復(fù)制代碼 table-cell布局 實(shí)現(xiàn)步驟
網(wǎng)格布局 實(shí)現(xiàn)步驟
<style> .container { display: grid; width: 100%; grid-template-rows: 300px; grid-template-columns: 100px auto 200px; } .left { background-color: #ce5a4b; margin-right: 20px; } .main { background-color: #f8cf5f; } .right { background-color: #499e56; margin-left: 20px; } </style><body> <div class='container'> <div class='left'></div> <div class='main'></div> <div class='right'></div> </div></body>復(fù)制代碼 四、多列等高利用背景圖片 使用正padding和負(fù)margin對(duì)沖實(shí)現(xiàn)多列布局方法實(shí)現(xiàn)步驟:
<style> .container { overflow: hidden; } .container>div { /** * padding-bottom 設(shè)置比較大的正值。 * margin-bottom 設(shè)置絕對(duì)值大的負(fù)值。 **/ padding-bottom: 10000px; margin-bottom: -10000px; float: left; width: 30%; } .left { background-color: #ce5a4b; } .main { background-color: #f8cf5f; } .right { background-color: #499e56; } </style><body> <div class='container'> <div class='left'></div> <div class='main'></div> <div class='right'></div> </div></body>復(fù)制代碼 實(shí)現(xiàn)思路:
table-cell等高布局實(shí)現(xiàn)步驟: <style> .container { display: table; } .left { display: table-cell; width: 300px; background-color: #ce5a4b; } .main { display: table-cell; width: 300px; height: 400px; background: #f8cf5f; } .right { display: table-cell; width: 300px; background: #499e56; } </style><body> <div class='container'> <div class='left'></div> <div class='main'></div> <div class='right'></div> </div></body>復(fù)制代碼 五、品字形布局實(shí)現(xiàn)步驟:
實(shí)現(xiàn)方式一: <style> .container > div { height: 300px; width: 300px; } .top { margin: 0 auto; background-color: #f8cf5f; } .left { display: inline-block; // float: left; margin-left: 150px; background-color: #499e56; } .right { display: inline-block; // float: left; background-color: #ce5a4b; } </style><body> <div class='container'> <div class='top'>上</div> <div class='left'>左</div> <div class='right'>右</div> </div></body>復(fù)制代碼 實(shí)現(xiàn)方式二:
全屏的品字布局 實(shí)現(xiàn)步驟:
<style> .container>div { height: 200px; } .top { width: 100%; background-color: #f8cf5f; } .left { // display: inline-block float: left; width: 50%; background-color: #499e56; } .right { // display: inline-block float: left; width: 50%; background-color: #ce5a4b; } </style><body> <div class='container'> <div class='top'>上</div> <div class='left'>左</div> <div class='right'>右</div> </div></body>復(fù)制代碼 實(shí)現(xiàn)步驟:
flex布局實(shí)現(xiàn)步驟:
<style> .container { height: 800px; display: flex; flex-flow: column wrap; width: 70%; margin: 2em auto; } .item { padding: 2em; margin-bottom: 2em; break-inside: avoid; background: #f60; color: #fff; text-align: center; margin: 10px; } .item .content-lar { height: 200px; } .item .content-mid { height: 100px; } .item .content-sma { height: 50px; } @media screen and (max-width: 1100px) { .masonry { height: 800px; } } @media screen and (max-width: 800px) { .masonry { height: 1100px; } } @media screen and (max-width: 600px) { .masonry { height: 1300px; } } @media screen and (max-width: 460px) { .masonry { height: 1600px; } } </style><body> <div class='container'> <div class='item'> <div class='item_content content-lar'> 1 我最大 </div> </div> <div class='item'> <div class='item_content content-sma'> 2 我最小 </div> </div> <div class='item'> <div class='item_content content-mid'> 3 我中等 </div> </div> <div class='item'> <div class='item_content content-sma'> 4 我最小 </div> </div> <div class='item'> <div class='item_content content-mid'> 5 我中等 </div> </div> <div class='item'> <div class='item_content content-lar'> 6 我最大 </div> </div> <div class='item'> <div class='item_content content-sma'> 7 我最小 </div> </div> <div class='item'> <div class='item_content content-lar'> 8 我最大 </div> </div> <div class='item'> <div class='item_content content-lar'> 9 我最大 </div> </div> <div class='item'> <div class='item_content content-sma'> 10 我最小 </div> </div> <div class='item'> <div class='item_content content-mid'> 11 我中等 </div> </div> <div class='item'> <div class='item_content content-mid'> 12 我中等 </div> </div> <!-- more items --> </div></body>復(fù)制代碼
|
|