zoukankan      html  css  js  c++  java
  • 几种常见的三列布局,中间自适应,两边定宽

    在这里,介绍几种我所了解到的几种三列布局。实现的方法分别是:

    1. 两边绝对定位,中间设置margin-left和margin-right。

    2. 两边分别左右浮动,中间设置margin-left和margin-right。

    3. 圣杯布局。

    4. 双飞翼布局。

    5. BFC布局,左边左浮动,设置margin-right:120px, 右边右浮动,设置margin-left:120px,设置中间部分:overflow: hidden, 形成BFC。

    6. flex,这里就没有单独介绍了。

    看代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title></title>
    	<style>
    
    		.clearfix:after {
    			content: '';
    			display: block;
    			clear: both;
    		}
    		.container {
    			 100%;
    			margin-bottom: 20px;
    		}
    		.main {
    			height: 200px;
    			background: red;
    		}
    		.left, .right {
    			 100px;
    			height: 200px;
    			background: #999;
    		}
    
    		/*绝对定位*/
    		.absolute {
    			position: relative;
    		}
    		.absolute .left {
    			position: absolute;
    			left: 0;
    			top: 0;
    		}
    		.absolute .right {
    			position: absolute;
    			right: 0;
    			top: 0;
    		}
    		.absolute .main {
    			margin-left: 120px;
    			margin-right: 120px;
    		}
    
    		/*浮动定位*/
    		.float .left {
    			float: left;
    		}
    
    		.float .right {
    			float: right;
    		}
    		
    		.float .main {
    			margin-left: 120px;
    			margin-right: 120px;
    		}
    
    		/*圣杯布局*/
    		.shengbei .main, .shengbei .left, .shengbei .right {
    			float: left;
    		}
    
    		.shengbei .left {
    			margin-left: -100%;
    			position: relative;
    			left: -120px;
    		}
    
    		.shengbei .right {
    			margin-left: -100px;
    			position: relative;
    			right: -120px;
    		}
    
    		.shengbei .main {
    			 100%;
    		}
    		
    		/*这里用了box-sizing, 兼容性不是很好*/
    		.shengbei.clearfix {
    			box-sizing: border-box;
    			padding-left: 120px;
    			padding-right: 120px;
    		}
    
    		..clearfix::after {
    			content: '';
    			display: block;
    			clear: both;
    		}
    
    
    		/*双飞翼布局*/
    		.fly .main {
    			 100%;
    			background: #fff !important;
    		}
    		.fly .main, .fly .left, .fly .right {
    			float: left;
    		}	
    		.fly .left {
    			margin-left: -100%;
    		}
    		.fly .right {
    			margin-left: -100px;
    		}
    		.fly .main .inner {
    			margin-left: 120px;
    			margin-right: 120px;
    			background: red;
    			height: 200px;
    		}
    
    		/*bfc布局*/
    		.bfc .left {
    			float: left;
    			margin-right: 20px;
    		}
    
    		.bfc .right {
    			float: right;
    			margin-left: 20px;
    		}
    		
    		.bfc .main {
    			overflow: hidden;
    		}
    
    	</style>
    </head>
    <body>
    	<div class="container absolute">
    		<div class="left"></div>
    		<div class="main">absolute</div>
    		<div class="right"></div>
    	</div>
    
    	<div class="container float">
    		<div class="left"></div>
    		<div class="right"></div>
    		<div class="main">float: 因为浮动脱离了文档流,所以将main放在最后。</div>
    	</div>
    	
    	<div class="container shengbei clearfix">
    		<div class="main">圣杯布局,main放在最前面,最开始渲染</div>
    		<div class="left">left</div>
    		<div class="right">right</div>
    	</div>
    
    	<div class="container fly clearfix">
    		<div class="main">
    			<div class="inner">
    				双飞翼布局: 注意取消main的背景颜色,设置inner的颜色和高度。
    			</div>
    		</div>
    		<div class="left"></div>
    		<div class="right"></div>
    	</div>
    
    	<div class="container bfc">
    		<div class="left">margin-right: 20px;</div>
    		<div class="right">margin-left: 20px;</div>
    		<div class="main">bfc布局: overflow: hidden;</div>
    	</div>
    
    </body>
    </html>
    
  • 相关阅读:
    解决mysql因为服务名无效启动不了
    新手上路遇到的Whitelabel Error Page解决方案
    解决报错java.lang.UnsatisfiedLinkError: F:J2EEapache-tomcat-8.5.46in cnative-1.dll:Can't load AMD 64
    安装sqlserver导致80端口被占用解决方法
    【计算机网络】-传输层-Internet传输协议-UDP
    【计算机网络】-传输层-Internet传输协议-TCP
    【计算机网络】-传输层-拥塞控制
    文件系统-文件的物理结构与存储设备
    vant封装城市/联系人等选择器
    I5TING_TOC转成的HTML,怎样高亮代码
  • 原文地址:https://www.cnblogs.com/yzfdjzwl/p/6552287.html
Copyright © 2011-2022 走看看