本篇文章,我将采用上述几种不一样的方式,来实现下面的六种布局css
<style> body{margin:0; padding: 0;} .left{ width: 300px; height: 500px; float: left; background-color: cornflowerblue; } .right{ height: 500px; margin-left: 300px; background-color: coral; } </style>
<body>
<div class="main">
<div class="left">Left</div>
<div class="right">Right</div>
</div>
</body>
复制代码
<style> body{margin: 0;padding: 0;} .left{ width: 200px; height: 500px; float: left; background-color: cornflowerblue; } .main{ height: 500px; margin: 0 300px 0 200px; background-color: darkgoldenrod; } .right{ width: 300px; height: 500px; position: absolute; right: 0; top: 0; background-color: darkseagreen; } </style>
<body>
<div class="left">Left</div>
<div class="main">Main</div>
<div class="right">Right</div>
</body>
复制代码
<style> .top{ height: 100px; background-color: yellow; } .main{ margin-top: 10px; } .left{ float: left; width: 100px; height: 500px; background-color: yellowGreen; } .right{ height: 500px; margin-left: 110px; background-color: red; } </style>
<body>
<div class="top">Top</div>
<div class="main">
<div class="left">Left</div>
<div class="right">Right</div>
</div>
</body>
复制代码
练习一: float实现上左右下布局html
练习二: float实现上左中右下布局git
<style> .container{ display: flex; } .left{ width: 300px; height: 500px; background-color:cornflowerblue; } .right{ height: 500px; flex: 1; background-color:darkgoldenrod; } </style>
<body>
<div class="container">
<div class="left">Left</div>
<div class="right">Right</div>
</div>
</body>
复制代码
<style> .container{ display: flex; } .left{ width: 200px; height: 500px; background-color:darksalmon; } .main{ height: 500px; flex: 1; margin: 0 10px; background-color:darkorange; } .right{ width: 200px; height: 500px; background-color:darkmagenta; } </style>
<body>
<div class="container">
<div class="left">Left</div>
<div class="main">Main</div>
<div class="right">Right</div>
</div>
</body>
复制代码
<style> .top{ height: 200px; background-color:darkorange; } .container{ display: flex; } .left{ width: 300px; height: 500px; background-color: tomato; } .right{ height: 500px; flex: 1; background-color: yellowGreen; } </style>
<body>
<div class="top">Top</div>
<div class="container">
<div class="left">Left</div>
<div class="right">Right</div>
</div>
</body>
复制代码
练习一: flex实现上左右下布局github
练习二: flex实现上左中右下布局浏览器
优势: 简单,兼容性好布局
缺点: 脱离文档流,须要手动清除浮动flex
优势: 很完美的一种布局方案spa
缺点: 不兼容IE8如下的浏览器3d
优势: 快捷,方便code
缺点: 脱离文档流,维护成本高,不利于拓展
常见的清楚浮动主要有以下几种方法
- 直接在最下面添加空元素块,并为空元素块添加属性 style="clear:both"
- 使用伪类,
:after