Flex布局布局

  Flex布局的容器是一个伸缩容器,首先容器本身会更具容器中的元素动态设置自身大小;然后当Flex容器被应用一个大小时(width和height),将会自动调整容器中的元素适应新大小。Flex容器也可以设置伸缩比例和固定宽度,还可以设置容器中元素的排列方向(横向和纵向)和是否支持元素的自动换行。有了这个神器,做页面布局的可以方便很多了。注意,设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
	<style type="text/css">
	body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
			 .flexBox{ display:-webkit-flex;-webkit-flex-flow: row;-webkit-flex-wrap: nowrap; width:600px; margin:50px auto; background-color:#9CF}
		   .flexBox div{ height:100px;}
		   .flexBox .item1{-webkit-flex:1;background:#ff9900;}
		   .flexBox .item2{-webkit-flex:1;background:#936;}
		   .flexBox .item3{-webkit-flex:1;background:#39C;}
	
	
	     .vertical-flexBox{ display:-webkit-flex;-webkit-flex-flow: row;-webkit-flex-wrap: nowrap;
	     	  flex-direction:column;
	     	 width:100%;height: 50%; margin:50px auto; background-color:#9CF;}
		   .vertical-flexBox div{ height:100px;}
		   .vertical-flexBox .item1{-webkit-flex:1;background:#ff9900;}
		   .vertical-flexBox .item2{-webkit-flex:1;background:#936;}
		   .vertical-flexBox .item3{-webkit-flex:1;background:#39C;}
	
	</style>
	<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=z1R8HuRqMNOyGCpnfUawPRKFFDNhGLGv"></script>
	<title>添加动画标注点</title>
</head>
<body>
	<div class="flexBox">
	  <div class="item1">1</div>
	  <div class="item2">2</div>
	  <div class="item3">3</div>
	  <div style=" width:300px; background-color:#96F">固定宽度300px</div>
 </div>
 
 <h1>
 	垂直布局
</h1>
 		  <p>
 			   flex-direction:column;/*从上到下排列,并且子元素的高度会自动伸缩铺满整个容器的高度*/
 			</p>
 			
 			<p>
 			  flex-direction:column-reverse;/*从下往上排列,并且子元素的高度会自动伸缩铺满整个容器的高度*/
 			</p>
 			<p>
 	       flex-direction:row;/*从左到右排列,并且子元素的宽度会自动伸缩铺满整个容器的宽度*/
 			</p>
 			<p>
 	        flex-direction:row-reverse;/*从右到左排列,并且子元素的宽度会自动伸缩铺满整个容器的宽度*/
 			</p>
 			<p>
 	       flex-wrap:wrap;/*支持换行,当元素的总宽度超过了容器的宽度,会换行显示*/<br>/*这两个样式可以写在一起*/<br>flex-flow:column wrap;/*纵向排列,并且支持换行*/
 			</p>
 <div class="vertical-flexBox">
	  <div class="item1">1</div>
	  <div class="item2">2</div>
	  <div class="item3">3</div>
	  <div style=" height:50px; background-color:#96F">固定宽度300px</div>
 </div>
 
</body>
</html>
<script type="text/javascript">

</script>


Flex布局,又称为弹性盒子布局,是一种用于页面布局的CSS3技术,它提供了一种更加高效的方式来对齐和分布容器内部子元素的空间,即使它们的大小未知或是动态变化的。Flex布局特别适合在不同屏幕尺寸下创建响应式布局。 在使用Flex布局时,首先需要将容器的display属性设置为flex或inline-flex,使其成为flex容器: ```css .container { display: flex; /* 或者 inline-flex */ } ``` 接着,可以通过一系列的flex属性来控制容器中的子元素如何排列: 1. `flex-direction`:确定主轴方向,即子元素排列的方向,可以是`row`(默认值,水平从左到右)、`row-reverse`(水平从右到左)、`column`(垂直从上到下)或`column-reverse`(垂直从下到上)。 2. `flex-wrap`:控制子元素在必要时是否换行,可以是`nowrap`(不换行,默认值)、`wrap`(换行)或`wrap-reverse`(换行,且换行后行的排列方向反转)。 3. `flex-flow`:是`flex-direction`和`flex-wrap`的简写形式。 4. `justify-content`:定义子元素在主轴上的对齐方式,可以是`flex-start`、`flex-end`、`center`、`space-between`或`space-around`等。 5. `align-items`:定义子元素在交叉轴上的对齐方式,可以是`flex-start`、`flex-end`、`center`、`baseline`或`stretch`(默认值,如果子元素未设定高度或设为auto,将占满整个容器的高度)。 6. `align-content`:当子元素在交叉轴上有多行时,用来调整多行之间的间距。 对于子元素(flex项目),也可以通过以下属性来控制: 1. `order`:定义项目的排列顺序,数值越小,排列越靠前,默认为0。 2. `flex-grow`:定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。 3. `flex-shrink`:定义项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。 4. `flex-basis`:定义了在分配多余空间之前,项目占据的主轴空间(main size)。默认值为auto,即项目的本来大小。 5. `flex`:是`flex-grow`、`flex-shrink`和`flex-basis`的简写,默认值为`0 1 auto`。 6. `align-self`:允许单个项目有不同于其他项目的对齐方式,可以覆盖`align-items`属性。 使用Flex布局可以让开发者更加灵活地控制布局的方向、对齐和空间分配,而无需依赖浮动、定位或网格系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值