您可以在 github 仓库中找到这篇文章中的所有代码。
您可以在这里查看视觉效果:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="x-ua-compatible" content="ie=edge" /> <title>fixed navigation</title> <link rel="stylesheet" href="styles.css" /> </head> <body> <nav>this is a navbar</nav> <h1>test</h1> <h1>test</h1> <h1>test</h1> <h1>test</h1> <h1>test</h1> <h1>test</h1> <h1>test</h1> <h1>test</h1> <h1>test</h1> <h1>test</h1> <h1>test</h1> <h1>test</h1> <h1>test</h1> <h1>test</h1> <h1>test</h1> <h1>test</h1> <h1>test</h1> </body> </html>
nav { position: fixed; top: 0; z-index: 1000; width: 100%; }
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="x-ua-compatible" content="ie=edge" /> <title>two columns layout</title> <link rel="stylesheet" href="styles.css" /> </head> <body> <!-- <div class="float-container"> <div class="left"> <h1>left side</h1> </div> <div class="right"> <h1>right side</h1> </div> </div> --> <!-- <div class="absolute-container"> <div class="left"> <h1>left side</h1> </div> <div class="right"> <h1>right side</h1> </div> </div> --> <!-- <div class="bfc-container"> <div class="left"> <h1>left side</h1> </div> <div class="right"> <h1>right side</h1> </div> </div> --> <!-- <div class="flex-container"> <div class="left"> <h1>left side</h1> </div> <div class="right"> <h1>right side</h1> </div> </div> --> <!-- <div class="grid-container"> <div class="left"> <h1>left side</h1> </div> <div class="right"> <h1>right side</h1> </div> </div> --> <div class="table-container"> <div class="left"> <h1>left side</h1> </div> <div class="right"> <h1>right side</h1> </div> </div> </body> </html>
.float-container .left { width: 200px; float: left; background-color: tomato; } .float-container .right { margin-left: 200px; background-color: aqua; } .absolute-container { position: relative; } .absolute-container .left { width: 200px; position: absolute; top: 0; left: 0; background-color: tomato; } .absolute-container .right { margin-left: 200px; background-color: aqua; } .bfc-container .left { width: 200px; float: left; background-color: tomato; } .bfc-container .right { overflow: hidden; background-color: aqua; } .flex-container { display: flex; } .flex-container .left { width: 200px; background-color: tomato; } .flex-container .right { flex: 1; background-color: aqua; } .grid-container { display: grid; grid-template-columns: 200px 1fr; } .grid-container .left { background-color: tomato; } .grid-container .right { background-color: aqua; } .table-container { display: table; } .table-container .left { display: table-cell; background-color: tomato; } .table-container .right { display: table-cell; background-color: aqua; }
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="x-ua-compatible" content="ie=edge" /> <title>three columns layout</title> <link rel="stylesheet" href="styles.css" /> </head> <body> <div class="flex-container"> <div class="left">left</div> <div class="middle">middle</div> <div class="right">right</div> </div> <div class="grid-container"> <div class="left">left</div> <div class="middle">middle</div> <div class="right">right</div> </div> <div class="absolute-container"> <div class="left">left</div> <div class="middle">middle</div> <div class="right">right</div> </div> <div class="float-container"> <div class="left">left</div> <div class="middle">middle</div> <div class="right">right</div> </div> </body> </html>
.flex-container { display: flex; } .flex-container .left { width: 200px; background-color: tomato; } .flex-container .middle { flex: 1; background-color: blanchedalmond; } .flex-container .right { width: 200px; background-color: aqua; } .grid-container { display: grid; grid-template-columns: 200px 1fr 200px; } .grid-container .left { background-color: tomato; } .grid-container .middle { background-color: blanchedalmond; } .grid-container .right { background-color: aqua; } .absolute-container { position: relative; } .absolute-container .left, .absolute-container .right { position: absolute; width: 200px; top: 0; } .absolute-container .left { left: 0; background-color: tomato; } .absolute-container .right { right: 0; background-color: aqua; } .absolute-container .middle { margin-left: 200px; margin-right: 200px; background-color: blanchedalmond; } .float-container .left { width: 200px; float: left; background-color: tomato; } .float-container .right { width: 200px; float: right; background-color: aqua; } .float-container .middle { margin-left: 200px; margin-right: 200px; background-color: blanchedalmond; }
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="x-ua-compatible" content="ie=edge" /> <title>holy grail</title> <link rel="stylesheet" href="styles.css" /> </head> <body> <header>header</header> <div class="columns"> <nav>navigation</nav> <main>main</main> <aside>sidebar</aside> </div> <footer>footer</footer> </body> </html>
body { min-height: 100vh; } #root { display: flex; flex-direction: column; min-height: 100vh; } header, nav, main, aside, footer { text-align: center; padding: 12px; } header { height: 60px; background-color: tomato; } .columns { display: flex; flex-grow: 1; } nav { flex-shrink: 0; width: 100px; background-color: coral; } main { flex-grow: 1; background-color: moccasin; } aside { flex-shrink: 0; width: 100px; background-color: sandybrown; } footer { height: 100px; background-color: slategray; }
以上就是布局 - CSS 挑战的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号