精品免费在线观看-精品欧美-精品欧美成人bd高清在线观看-精品欧美高清不卡在线-精品欧美日韩一区二区

17站長(zhǎng)網(wǎng)

flex: grow、shrink、basis

flex 彈性盒子

display:flex 和接下來(lái)我們介紹的這個(gè) flex 是有區(qū)別的,前者是修改display實(shí)現(xiàn)彈性和模型的,而 flex 僅僅是彈性盒模型下 flex-grow、flex-shrink 和 flex-basis三個(gè)的縮寫(xiě)屬性,用來(lái)定義和模型內(nèi)部的子元素在瀏覽器重的展示形式。 下面我們主要講這三個(gè)屬性。

1. 官方定義

屬性用于設(shè)置或檢索彈性盒模型對(duì)象的子元素如何分配空間。
flex 屬性是 flex-grow、flex-shrink 和 flex-basis 屬性的簡(jiǎn)寫(xiě)屬性。

2. 解釋

fl父元素設(shè)置成 dispaly:flex 之后子元素的空間分配通過(guò) flex 設(shè)置,其特點(diǎn)為彈性,即內(nèi)部分配空間如果按照比例分配則其不會(huì)隨著父元尺寸變化而變化。

3. 語(yǔ)法

子元素

{
    flex: flex-grow flex-shrink flex-basis|auto|initial|inherit|none;
}

屬性說(shuō)明

參數(shù)名稱(chēng)參數(shù)類(lèi)型解釋
flex-grownumber其它子元素的比例關(guān)系默認(rèn)為 0 ,存在剩余空間不擴(kuò)大
flex-shrinknumber默認(rèn)為1空間不足時(shí)候縮小
flex-basis| ‘a(chǎn)uto’設(shè)定一個(gè)長(zhǎng)度或者自動(dòng)填充

4. 兼容性

flex:

IEEdgeFirefoxChromeSafariOperaiosandroid
63-7484-85

flex-grow| flex-shrink|flex-basis:

IEEdgeFirefoxChromeSafariOperaiosandroid
10+12+28+4+6.1+12.1+7+4.4

5.實(shí)例

  1. 給一個(gè)塊級(jí)元素添加 flex 屬性 ,讓其子元素平均分配空間。

<div class="demo">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item">3</div>
</div>
.demo{
    display:flex;
    width:px;
    height:x;
    line-height:px;
    border: px solid #ccc;
    border-right: none;
}
div>.item{
    width:px;
    border-right:px solid #ccc;
    text-align: center;
    flex:;
}

效果圖

編程之家

塊級(jí)元素平均分配空間
<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=device-width, initial-scale=1.0">
    <Meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
    .demo{
	    display:flex;
	    width:px;
	    height:x;
	    line-height:px;
	    border: px solid #ccc;
	    border-right: none;
	}
	div>.item{
	    width:px;
	    border-right:px solid #ccc;
	    text-align: center;
	    flex:;
	}
    </style>
    <body>
    <div class="demo">
	    <div class="item">1</div>
	    <div class="item">2</div>
	    <div class="item">3</div>
	</div>	
    </body>
</html>

解釋?zhuān)喝萜?demo 設(shè)置了 flex 總寬度為200px,項(xiàng)目 item 設(shè)置寬度 100px;如果正常情況下會(huì)超出容器,我們通過(guò)設(shè)置 flex:1 讓項(xiàng)目自適應(yīng)容器,并等分了空間。

  1. 給一個(gè)塊級(jí)元素添加 inline-flex 屬性,讓其變成行內(nèi)元素,子元素平均分配

.demo{
    display:inline-flex;
    width:px;
    height:x;
    line-height:px;
    border: px solid #ccc;
    border-right: none;
}
div>.item{
    width:px;
    border-right:px solid #ccc;
    text-align: center;
    flex:;
}

效果圖

編程之家

內(nèi)聯(lián)元素平分空間效果圖
<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
	.demo{
    display:inline-flex;
    width:px;
    height:x;
    line-height:px;
    border: px solid #ccc;
    border-right: none;
}
div>.item{
    width:px;
    border-right:px solid #ccc;
    text-align: center;
    flex:;
}
	</style>
</head>
<body>
     <div class="demo">
        <div class="item">1</div>
        <div class="item">2</div>
        <div class="item">3</div>
    </div>
    
</body>
</html>

demo和文字在一行,demo變成內(nèi)聯(lián)元素了。

  1. 一個(gè)左側(cè)100px,右側(cè)自適應(yīng)的,左右布局

 <div class="demo-2">
     <div class="item-left">1</div>
     <div class="item-right">2</div>
 </div>
.demo-2{
    display:flex;
}
.item-left{
    flex-basis: px;
}
.item-right{
    flex-grow:;
}

效果圖

編程之家

左側(cè)100px,右側(cè)自適應(yīng)的,左右布局效果圖
<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    .demo-2{
    display:flex;
}
.item-left{
    flex-basis: px;
}
.item-right{
    flex-grow:;
}
    </style>
</head>
<body>
    <div class="demo-2">
        <div class="item-left">1</div>
        <div class="item-right">2</div>
    </div>
</body>
</html>

4.一個(gè)左側(cè)為100px,右側(cè)最大為600px的左右布局

.demo-2{
    display:flex;
}
.item-left{       
    flex-basis: px;
    background: red;
    flex-shrink:;
}
.item-right{        
    flex-basis: px;
    background: yellow;
}

編程之家

左右布局
<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
		.demo-2{
    display:flex;
}
.item-left{       
    flex-basis: px;
    background: red;
    flex-shrink:;
}
.item-right{        
    flex-basis: px;
    background: yellow;
}
	</style>
</head>
<body>
    <div class="demo-2">
        <div class="item-left">
1
        </div>
        <div class="item-right">
2
        </div>
    </div>
</body>
</html>

解釋?zhuān)河覀?cè)最大寬度為600,如果小于 600 右側(cè)將隨屏幕尺寸縮小。

6. 經(jīng)驗(yàn)分享

現(xiàn)在的很多前端開(kāi)發(fā)都會(huì)接到一些設(shè)計(jì)稿,要求在各種終端都可以適應(yīng),那么用好 flex 是一個(gè)關(guān)鍵。 flex:1 是其中最常見(jiàn)的設(shè)置,它等價(jià)于:

.demo{
    flex-grow:;
    flex-shrink:;
    flex-basis:auto
}

其意思就是剩余空間就擴(kuò)大,而剩余空間不足就縮小,就像彈簧一樣。那么這部分就可以自適應(yīng)各種屏幕大小了。

7. Tips

  1. flex-basis 和 flex-grow 同時(shí)使用時(shí)候 flex-basis 不起作用。

  2. flex 的屬性 默認(rèn)是 0 1 auto,它們的順序是 flex-grow flex-shrink 和 flex-basis 即三不:有剩余空間不擴(kuò)大、當(dāng)空間不足時(shí)縮小、不限制尺寸。

  3. flex 屬性有兩個(gè)快捷值 即 auto( 1 1 auto)和 none(0 0 auto)。

  4. 盡量不要使用縮小,因?yàn)樗募嫒菪圆皇呛芎谩?/p>

返回頂部
主站蜘蛛池模板: 欧美一级淫片漂亮的老师 | 国产五月色婷婷综合 | 国产成人深夜福利在线观看 | 在线观看久草视频 | 很黄的网站在线观看 | 久久影院中文字幕 | 天天躁夜夜躁很很躁2020 | 国产一级精品高清一级毛片 | 成年大片免费播放视频人 | 韩国一级做a爰片性色毛片 韩国一级做a爱性色毛片 | 最新国产三级在线不卡视频 | 青青草国产精品人人爱99 | 免费一看一级毛片全播放 | 国产亚洲精品久久久久久牛牛 | 国产90后美女露脸在线观看 | 欧美3p在线观看一区二区三区 | 国产在线观看高清精品 | 国产成年女人免费视频播放a | 超黄视频网站 | 久久久免费视频播放 | 中文字幕日韩专区 | 18岁黄色 | 国产一区二区三区在线观看影院 | 色视频在线免费观看 | 蜜桃臀在线成人亚洲 | 欧美亚洲日本一区二区三区浪人 | 欧美激情在线精品三区 | 欧美激情二区三区 | 一级一级女人真片 | 中日韩毛片 | 日韩一级一片 | 婷婷综合国产激情在线 | 美女黄色免费看 | 伦伦影院精品一区 | 国产成人高清亚洲一区91 | 免费三片在线观看网站 | 国产精品视频麻豆 | 国产欧美日本亚洲精品五区 | 日韩最新视频一区二区三 | 男女交性粗大视频播放 | 在线国产一区二区三区 |