HTML
CSS
頁面佈局
html
題目:假設高度已知,請寫出三欄佈局,其中左欄、右欄各爲300px,中間自適應
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Layout</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <style media="screen"> html * { padding: 0; margin: 0; } .layout { margin-top: 20px; } .layout article div { min-height: 100px; } </style> </head> <body> <section class="layout float"> <style media="screen"> .layout.float .left { float: left; width: 300px; background: red; } .layout.float .right { float: right; width: 300px; background: blue; } .layout.float .center { background: yellow; } </style> <!-- 浮動解決方案 --> <article class="left-right-center"> <div class="left"></div> <div class="right"></div> <div class="center"> <h1>浮動解決方案</h1> 1.這是三欄佈局的中間部分 2.這是三欄佈局的中間部分 </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: 0px; width: 300px; background: blue; } </style> <article class="left-center-right"> <div class="left"></div> <div class="center"> <h2>絕對定位解決方案</h2> 1.這是三欄佈局絕對定位中間部分 2.這是三欄佈局絕對定位中間部分 </div> <div class="right"></div> </article> </section> <!-- flexbox解決方案 --> <section class="layout flexbox"> <style> .layout.flexbox { margin-top: 140px; } .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> <article class="left-center-right"> <div class="left"></div> <div class="center"> <h2>flexbox解決方案</h2> 1.這是三欄佈局flex中間部分 2.這是三欄佈局flex中間部分 </div> <div class="right"></div> </article> </section> <!-- 表格佈局解決方案 --> <section class="layout table"> <style> .layout.table .left-center-right { width: 100%; display: table; height: 100px; } .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> <article class="left-center-right"> <div class="left"></div> <div class="center"> <h2>表格佈局</h2> 1.這是三欄佈局表格佈局的中間部分 2.這是三欄佈局表格佈局的中間部分 </div> <div class="right"></div> </article> </section> <!-- 網格佈局 --> <section class="layout grid"> <style> .layout.grid .left-center-right { display: grid; width: 100%; grid-template-rows: 100px; grid-template-columns: 300px auto 300px; } .layout.grid .left { background: red; } .layout.grid .center { background: yellow; } .layout.grid .right { background: blue; } </style> <article class="left-center-right"> <div class="left"></div> <div class="center"> <h2>網格佈局解決方案</h2> 1.這是三欄佈局網格佈局的中間部分 2.這是三欄佈局網格佈局的中間部分 </div> <div class="right"></div> </article> </section> </body> </html>