<style>
.left{
width:200px;
height:auto;
float: left;
}
.right{
width: 200px;
height: auto;
float: right;
}
</style>
<div class="left">我在左邊</div>
<div class="right">我在右邊</div>
複製代碼
.clearfix::after{content:'';display:block;clear:both;}
複製代碼
.container
中設置 position:relative;
,其做用是使得後面的絕對定位的基準爲 .container
而不是以瀏覽器爲其準。.left_side
和右側 .right_side
列採用絕對定位,而且固定這兩個 div
的寬度,而中間列 .content
因爲須要根據瀏覽器自動調整,所以不設置相似屬性。position
屬性設置爲 absolute
,此時必須將它的 margin-left
和 margin-right
屬性都設置爲 190px。<style>
.container{
position:relative;
margin:20px;
height:400px;
}
.left_side{
position:absolute;
top:0px;
left:0px;
background: red;
width:170px;
height:100%;
}
.content{
margin:0px 190px;
background: green;
height:100%;
}
.right_side{
position:absolute;
top:0px;
right:0px;
background: palevioletred;
width:170px;
height:100%;
}
</srtle>
<div class="container">
<div class="left_side">left_side</div>
<div class="content">content</div>
<div class="right_side">right-side</div>
</div>
複製代碼
水平居中的頁面佈局中最爲常見的一種佈局形式,多出現於標題,以及內容區域的組織形式(注:small元素的對齊操做,small元素的父容器是 big元素)css
inline-block
和 text-align
實現.big{text-align: center;}
.small{display: inline-block;}
複製代碼
.small{width:200px;margin:0 auto;}
複製代碼
.big{position:relative;height:400px; background:blue;}
.small{
position:absolute;
left:50%;
width:200px;
height:100%;
background: red;
margin-left: -100px;
}
複製代碼
垂直居中對於子元素是單行內聯文本、多行內聯文本以及塊狀元素採用的方案是不一樣的。瀏覽器
height
等於行高 line-height
;.big{height:60px;background: red;line-height: 60px;}
複製代碼
display:table-cell
或 inline-block
,再設置 vertical-align:middle
;.big{
display:inline-block;
vertical-align:middle;
line-height:60px;
background: red;
}
複製代碼
.big{position:relative;}
.small{positon:absolute;top:25%;transform:translate(0,-50%);}
複製代碼
display:flex; align-items:center;
.big{display:flex;align-items:center;height: 60px;background: red}
複製代碼
多列等分佈局常出如今內容中,多數爲功能的,同階級內容的並排顯示等。bash
<style>
.small{
float:left;
width:25%;
box-sizing:border-box;
border: 1px solid yellowgreen;
}
</style>
<div class="big">
<div class="small">蘋果</div>
<div class="small">香蕉</div>
<div class="small">西瓜</div>
<div class="small">草莓</div>
</div>
複製代碼
<div class="big">
<ul>
<li></li>
<li></li>
<li></li>
</ul>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
<ul>
<li></li>
<li></>
<li></>
</ul>
</div>
複製代碼
<style>
.big{
display: flex;
flex-direction: column;
width: 300px;
}
ul{
height: 100px;
display: flex;
list-style: none;
padding: 0;
margin: 0;
}
li{
width: 100px;
background-color:greenyellow;
border: 1px solid skyblue;
}
</style>
複製代碼
Flex
是 Flexible Box
的縮寫,意爲"彈性佈局",用來爲盒狀模型提供最大的靈活性。設爲 Flex
佈局之後,子元素的 float
、clear
和 vertical-align
屬性將失效,它的全部子元素自動成爲容器成員;flex-direction
容器內項目的排列方向(默認橫向排列);column
主軸爲垂直方向,起點在上沿;