flex 彈性佈局 源碼

<html>
<head>
<style>
div{
	text-align:center;
	color:#fff;
	font-weight:bold;
	font-size:16px;
	line-height:30px;
}
/*縱向排列*/
.direcitonDemo{
	  display:flex;
	  flex-direction: column;
}
.part1{
	background:orange;
	height:30px;
	width:40px;
	margin:5px;
}
/*橫向排列*/
.rowDemo{
	 display:flex;
	 flex-direction: row;
}
.part2{
	background:orange;
	height:30px;
	width:40px;
	margin:5px;
}
/*不換行*/
.nowrapDemo{
	display:flex;
	flex-wrap:nowrap;
}
/*換行*/
.wrapDemo{
    display:flex;
	flex-wrap:wrap;
}
/*換到第一行*/
.wrap_reverseDemo{
	display:flex;
	flex-wrap:wrap-reverse;
}
.part3{
	background:orange;
	height:30px;
	margin:5px;
	width:500px;
}
.part4{
	background:orange;
	margin:5px;
	width:40px;
	line-height: inherit;/*從父元素繼承 line-height 屬性*/
}
.part5{
	background:orange;
	margin:5px;
	flex-grow:2;
	line-height: inherit;/*從父元素繼承 line-height 屬性*/
}
.part6{
	background:orange;
	margin:5px;
	flex-grow:1;
	line-height: inherit;/*從父元素繼承 line-height 屬性*/
}
/*水平左對齊*/
.flextStartDemo{
	display:flex;
	border:1px solid orange;
}
/*水平右對齊*/
.flexEndDemo{
	display:flex;
	justify-content:flex-end;
	border:1px solid orange;
}
/*中間對齊*/
.centerDemo{
	display:flex;
	justify-content:center;
	border:1px solid orange;
}
/*兩端對齊*/
.spacebetweenDemo{
	display:flex;
	justify-content:space-between;
	border:1px solid orange;
}
/*兩側間隔相等*/
.spaceAroundDemo{
	display:flex;
	justify-content:space-around;
	border:1px solid orange;
}
/*交叉軸的起點對齊*/
.alignStartDemo{
	display:flex;
	align-items:flex-start;/*垂直對齊*/
	justify-content:center;/*水平中間對齊*/
	height:90px;
	border:1px solid orange;
}
/*交叉軸的終點對齊*/
.alignEndDemo{
	display:flex;
	align-items:flex-end;
	justify-content:center;/*水平中間對齊*/
	height:90px;
	border:1px solid orange;
}
/*垂直中間對齊*/
.alignCenterDemo{
	display:flex;
	align-items:center;/*垂直對齊*/
	justify-content:center;/*水平中間對齊*/
	height:90px;
	border:1px solid orange;
}
/*第一行文字的基線對齊*/
.alignBaselineDemo{
	display:flex;
	align-items:baseline;/*垂直對齊*/
	justify-content:center;/*水平中間對齊*/
	height:90px;
	border:1px solid orange;
}
.alignStretchDemo{
	display:flex;
	align-items:stretch;/*垂直填充佔滿*/
	justify-content:center;/*水平中間對齊*/
	height:90px;
	line-height:90px;
	border:1px solid orange;
}
.growDemo{
display:flex;
flex-grow:1;
}
</style>
</head>
<body>
<h4>3.1.縱向排列:flex-direction: column</h4>
<div class="direcitonDemo">
	<div class="part1">1</div>
	<div class="part1">2</div>
	<div class="part1">3</div>
</div>
<h4>3.2.橫向排列 flex-direction: row</h4>
<div class="rowDemo">
	<div class="part2">1</div>
	<div class="part2">2</div>
	<div class="part2">3</div>
</div>
<h4>3.3.換行屬性 flex-wrap</h4>
<h5>3.3.1.不換行 flex-wrap:nowrap</h5>
<div class="nowrapDemo">
	<div class="part3">1</div>
	<div class="part3">2</div>
	<div class="part3">3</div>
	<div class="part3">4</div>
</div>
<h5>3.3.2.換行 flex-wrap:wrap</h5>
<div class="wrapDemo">
	<div class="part3">1</div>
	<div class="part3">2</div>
	<div class="part3">3</div>
	<div class="part3">4</div>
</div>
<h5>3.3.3.換到第一行 flex-wrap:wrap_reverse</h5>
<div class="wrap_reverseDemo">
	<div class="part3">1</div>
	<div class="part3">2</div>
	<div class="part3">3</div>
	<div class="part3">4</div>
</div>
<h4>3.4.水平位置佈局justify-content</h4>
<h5>3.4.1.左對齊(默認) justify-content:flex-start</h5>
<div class="flextStartDemo">
	<div class="part1">1</div>
	<div class="part1">2</div>
	<div class="part1">3</div>
</div>
<h5>3.4.2.右對齊 justify-content:flex-end</h5>
<div class="flexEndDemo">
	<div class="part1">1</div>
	<div class="part1">2</div>
	<div class="part1">3</div>
</div>
<h5>3.4.3.中間對齊 justify-content:center</h5>
<div class="centerDemo">
	<div class="part1">1</div>
	<div class="part1">2</div>
	<div class="part1">3</div>
</div>
<h5>3.4.4.兩端對齊 justify-content:space-between</h5>
<div class="spacebetweenDemo">
	<div class="part1">1</div>
	<div class="part1">2</div>
	<div class="part1">3</div>
</div>
<h5>3.4.5.兩側間隔相等 justify-content:space-around</h5>
<div class="spaceAroundDemo">
	<div class="part1">1</div>
	<div class="part1">2</div>
	<div class="part1">3</div>
</div>
<h4>3.5.垂直佈局 align-items</h4>
<h5>3.5.1.交叉軸的起點對齊 align-items:flex-start</h5>
<div class="alignStartDemo">
	<div class="part1">1</div>
	<div class="part1">2</div>
	<div class="part1">3</div>
</div>
<h5>3.5.2.交叉軸的終點對齊 align-items:flex-end</h5>
<div class="alignEndDemo">
	<div class="part1">1</div>
	<div class="part1">2</div>
	<div class="part1">3</div>
</div>
<h5>3.5.3.交叉軸的中點對齊 align-items:center</h5>
<div class="alignCenterDemo">
	<div class="part1">1</div>
	<div class="part1">2</div>
	<div class="part1">3</div>
</div>
<h5>3.5.4.第一行文字的基線對齊 align-items:baseline</h5>
<div class="alignBaselineDemo">
	<div class="part1" style="height:50px;">1</div>
	<div class="part1" style="height:30px;">2</div>
	<div class="part1" style="height:70px;">3</div>
</div>
<h5>3.5.5.未設置高度,高度將沾滿整個容器的高度 align-items:stretch</h5>
<div class="alignStretchDemo">
	<div class="part4">1</div>
	<div class="part4">2</div>
	<div class="part4">3</div>
</div>
<h5>4.1.元素放大比例,默認0 flex-grow:1</h5>
<div class="growDemo">
	<div class="part5">1</div>
	<div class="part6">2</div>
	<div class="part6">3</div>
</div>
</body>
</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章