成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

高級(jí)布局

Kylin_Mountain / 3479人閱讀

摘要:不完全脫離文檔流浮動(dòng)后的結(jié)果當(dāng)目標(biāo)標(biāo)簽的內(nèi)部有浮動(dòng)的子級(jí),目標(biāo)標(biāo)簽的兄弟標(biāo)簽的布局會(huì)出現(xiàn)顯示異常在不做清浮動(dòng)的情況下,父級(jí)不會(huì)獲取子級(jí)的高度。

一、文檔流(normal flow)

1.概念

將窗體自上而下分成一行一行,塊級(jí)元素從上至下,行內(nèi)元素在每行中從左至右順序排放元素
本質(zhì)為normal flow(普通流,常規(guī)流),文檔流就是一個(gè)連續(xù)具有邏輯上下的頁(yè)面整體,也可以片面的說(shuō),出現(xiàn)在頁(yè)面中的顯示內(nèi)容都可以理解為在文檔流中。

2.BFC(Block formatting context)

塊級(jí)格式化上下文,它是一個(gè)獨(dú)立的渲染區(qū)域,只有Block-level box參與,它規(guī)定了內(nèi)部的Block-level box如何布局,并且這個(gè)區(qū)域與外部毫不相干。

3.BFC規(guī)則

  • 內(nèi)部的Box會(huì)在垂直方向,一個(gè)接一個(gè)的放置
  • 根據(jù)BFC布局方向,Box自身的水平方向位置,由margin左或右控制,相鄰Box的margin會(huì)疊加
  • Box的垂直位置,由margin-top控制位置,相鄰Box會(huì)發(fā)生重疊(margin塌陷)
  • 同一容器(區(qū)域)中,box相互影響,不對(duì)對(duì)區(qū)域外產(chǎn)生影響。

二、浮動(dòng)布局

1.目的

讓block同行顯示(1.在父級(jí)規(guī)定的寬度中,2.不完全脫離文檔流)

2.基本語(yǔ)法

float:left | right
  • float:left--->設(shè)置BFC橫向布局規(guī)則為從左至右,且block box同行顯示之間沒有間隔
  • float:right--->BFC規(guī)則為從右至左,且block box同行顯示之間沒有間隔

3.浮動(dòng)布局實(shí)例

.box{
    width: 1000px;
    margin: 0 auto;
}
div div{
    font: 900 30px/100px "STSong";
    text-align: center;
    width: 200px;
    height: 100px;
    background-color: green;
    float: left;
    color: white;
}
.b6{
    width: 600px;
    background-color: yellow;
}
.b7{
    width: 400px;
    height: 200px;
    background-color: yellowgreen;
    float: right;
}
.b8{
    width: 300px;
    height: 150px;
    background-color: brown;
    float: left;
}
.b9{
    width: 300px;
    height: 150px;
    background-color: black;
    float: left;
}
.b10{
    width: 400px;
    height: 150px;
    background-color: cyan;
    float: right;
}
.b11{
    width: 600px;

    background-color: red;
    float: left;
}
.b12{
    width: 1000px;
    background-color: blue;
}
1
2
3
4
5
6
7
8
9
10
11
12

效果圖:

4.浮動(dòng)布局的問(wèn)題

通常文檔流中,子標(biāo)簽在父級(jí)標(biāo)簽未設(shè)置高度的情況下,會(huì)撐開父級(jí)的高度,父級(jí)的高度決定于邏輯最后位置的子級(jí)的低端。

脫離文檔流后的子級(jí)標(biāo)簽,不再撐開父級(jí)高度。

不完全脫離文檔流(浮動(dòng)后的結(jié)果):當(dāng)目標(biāo)標(biāo)簽的內(nèi)部有浮動(dòng)的子級(jí),目標(biāo)標(biāo)簽的兄弟標(biāo)簽的布局會(huì)出現(xiàn)顯示異常!在不做清浮動(dòng)的情況下,父級(jí)不會(huì)獲取子級(jí)的高度。

5.清浮動(dòng)

清浮動(dòng)的對(duì)象:擁有浮動(dòng)子級(jí)的父級(jí)

這里只介紹四種清浮動(dòng)的方法

1.浮動(dòng)的父級(jí)設(shè)置高度
super {
    height: npx;
}
2.浮動(dòng)的父級(jí)設(shè)置overflow
super {
    overflow: hidden;
}
3.浮動(dòng)的父級(jí)兄弟設(shè)置clear
brother {
    clear: left | right | both;
}
4.浮動(dòng)的父級(jí)偽類清浮動(dòng)
super:after {
    content: "";
    display: block;
    clear: left | right | both;
}

原理:在浮動(dòng)布局的情況下,讓父級(jí)獲得合適的高度。

三、流式布局

1.目的

讓布局脫離固定值限制,可以根據(jù)頁(yè)面情況的改變發(fā)生相應(yīng)的變化

2.相關(guān)設(shè)置

百分比設(shè)置 %  參考為最近的父級(jí)
窗口設(shè)置 vw | vh    50vw代表占據(jù)窗口寬度50%
字體控制 em rem     em為最近設(shè)置字體大小的父級(jí)規(guī)定的字體大小 rem為html字體大小

四、定位布局

可以根據(jù)需求給相應(yīng)的塊設(shè)定相應(yīng)設(shè)置。

1.語(yǔ)法

position屬性指定一個(gè)元素的定位類型

描述
relative 相對(duì)定位
absolute 絕對(duì)定位
fixed 固定定位
static 默認(rèn),沒有定位

設(shè)置完定位類型就可以設(shè)置top,bottom,left,right四個(gè)屬性進(jìn)行布局。,如果同時(shí)設(shè)置了top和bottom,top生效,同時(shí)設(shè)置了left和right,left生效。簡(jiǎn)單說(shuō)就是 左右取左,上下取上

2.相對(duì)定位

  • 未脫離文檔流
  • 以自身原有位置作為參考坐標(biāo)系
  • 方位布局只改變盒子顯示區(qū)域,不會(huì)改變盒子原有位置(相當(dāng)于靈魂出竅)
  • left=-right,top=-bottom。

優(yōu)點(diǎn):父級(jí)不會(huì)脫離文檔流,滿足所有的盒模型布局

3.絕對(duì)定位

  • 完全脫離文檔流,不在文檔流中占位,不會(huì)撐開父級(jí)高度,不會(huì)影響兄弟布局,顯示層也永遠(yuǎn)高于文檔流
  • 以最近定位父級(jí)作為參考坐標(biāo)系,沒有就找html

優(yōu)點(diǎn):如果自身已經(jīng)采用絕對(duì)定位布局,那么子級(jí)一定參考自身進(jìn)行定位。

注:如果父級(jí)只是輔助子級(jí)進(jìn)行絕對(duì)定位,那么一定優(yōu)選相對(duì)定位,因?yàn)榻^對(duì)定位會(huì)產(chǎn)生新的BFC,導(dǎo)致盒模型布局會(huì)受影響

4.固定定位

  • 完全脫離文檔流
  • 參考系為文檔窗口,不隨頁(yè)面滾動(dòng)而改變位置

5.z-index

脫離文檔流的標(biāo)簽,具有z-index屬性,可以用來(lái)控制顯示層次的優(yōu)先級(jí),值為任意正整數(shù)

五、Flex布局

1.概念

Flex是Flexible Box的縮寫,意為“彈性布局”,用來(lái)為盒狀模型提供最大靈活性。

  • 采用Flex布局的元素,稱為Flex容器(flex container),簡(jiǎn)稱“容器”。它的所有子元素自動(dòng)成為容器成員,稱為flex項(xiàng)目(flex item),簡(jiǎn)稱“項(xiàng)目”。
  • 水平為主軸(main axis),主軸開始的位置叫做main start,結(jié)束位置叫做main end。
  • 垂直為交叉軸(cross axis),交叉軸的開始位置叫做cross start,結(jié)束位置叫做cross end
  • 項(xiàng)目默認(rèn)沿主軸排列。單個(gè)項(xiàng)目占據(jù)的主軸空間叫做main size,占據(jù)的交叉軸空間叫做cross size

2.容器屬性

1.flex-direction屬性 決定主軸的方向(即項(xiàng)目的排列方向)
flex-direction: row | row-reverse | column | column-reverse;
-- row(默認(rèn)值):主軸為水平方向,起點(diǎn)在左端。
-- row-reverse:主軸為水平方向,起點(diǎn)在右端。
-- column:主軸為垂直方向,起點(diǎn)在上沿。
-- column-reverse:主軸為垂直方向,起點(diǎn)在下沿。

2.flex-wrap屬性 定義一條軸線排不下的情況下如何換行
flex-wrap: nowrap | wrap | wrap-reverse;
-- nowrap(默認(rèn)):不換行。
-- wrap:換行,第一行在上方。
-- wrap-reverse:換行,第一行在下方。

3.flex-flow屬性 是flex-direction屬性和flex-wrap屬性的簡(jiǎn)寫形式,默認(rèn)為row nowrap
flex-flow:  ;

4.justify-content屬性 定義了項(xiàng)目在主軸上的對(duì)齊方式。
justify-content: flex-start | flex-end | center | space-between | space-around;

5.align-items屬性 定義項(xiàng)目在交叉軸上如何對(duì)齊
align-items: flex-start | flex-end | center | baseline | stretch;

6.align-content屬性 定義了多根軸線的對(duì)齊方式。如果項(xiàng)目只有一根軸線,該屬性不起作用
align-content: flex-start | flex-end | center | space-between | space-around | stretch;

3.項(xiàng)目屬性

1.order 屬性 定義項(xiàng)目的排列順序。數(shù)值越小,排列越靠前,默認(rèn)為0。
order: ;

2.flex-grow 屬性 定義項(xiàng)目的放大比例,默認(rèn)為0,即如果存在剩余空間,也不放大。
flex-grow: ; /* default 0 */

3.flex-shrink 屬性 定義了項(xiàng)目的縮小比例,默認(rèn)為1,即如果空間不足,該項(xiàng)目將縮小。
flex-shrink: ; /* default 1 */

4.flex-basis 屬性 定義了在分配多余空間之前,項(xiàng)目占據(jù)的主軸空間(main size)。
flex-basis:  | auto; /* default auto */

5.flex 屬性 是flex-grow, flex-shrink 和 flex-basis的簡(jiǎn)寫,默認(rèn)值為0 1 auto。后兩個(gè)屬性可選。
flex:   

6.align-self 屬性 允許單個(gè)項(xiàng)目有與其他項(xiàng)目不一樣的對(duì)齊方式,可覆蓋align-items屬性。默認(rèn)值為auto,表示繼承父元素的align-items屬性,如果沒有父元素,則等同于stretch。
align-self: auto | flex-start | flex-end | center | baseline | stretch;

六、響應(yīng)式布局

1.概念

響應(yīng)式布局就是一個(gè)網(wǎng)站能夠兼容多個(gè)終端。

原則:采用響應(yīng)式布局的樣式塊,基本樣式塊只做共性設(shè)置,需要根據(jù)頁(yè)面尺寸進(jìn)行適應(yīng)變化的樣式均有響應(yīng)式布局處理

2.頁(yè)面寬度

  • 小于寬度
@media only screen and (max-width: ) {
    selector {
        
    }
}
  • 大于寬度小于寬度
@media only screen and (min-width: ) and (max-width: ) {
    selector {
        
    }
}
  • 大于寬度
@media only screen and (min-width: ) {
    selector {
        
    }
}

3.注

  • 在響應(yīng)式布局內(nèi),css語(yǔ)法同正常樣式表語(yǔ)法一樣
  • 響應(yīng)式布局之間存在不同屏幕尺寸的限制,使用樣式相互不影響。滿足當(dāng)前屏幕尺寸時(shí),該樣式塊起作用,不滿足時(shí)則失效
  • 當(dāng)響應(yīng)式布局中樣式快起作用時(shí),會(huì)與正常樣式快設(shè)置一起協(xié)同布局,遵循選擇器的優(yōu)先級(jí)規(guī)則

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/1749.html

相關(guān)文章

  • 高級(jí)布局

    摘要:一文檔流一文檔流概念概念普通流常規(guī)流將窗體自上而下分成一行一行,塊級(jí)元素從上至下行內(nèi)元素在每行中從左至右的順序依次排放元素。一.文檔流 1.概念 normal flow(普通流,常規(guī)流)將窗體自上而下分成一行一行,塊級(jí)元素從上至下、行內(nèi)元素在每行中從左至右的順序依次排放元素。一個(gè)連續(xù)具有邏輯上下的頁(yè)面整體,出現(xiàn)在頁(yè)面中的顯示內(nèi)容,均可以理解為文檔流中。 2.BFC(Block formatt...

    liukai90 評(píng)論0 收藏0
  • [譯]148個(gè)資源讓你成為CSS專家

    摘要:層疊樣式表二修訂版這是對(duì)作出的官方說(shuō)明。速查表兩份表來(lái)自一份關(guān)于基礎(chǔ)特性,一份關(guān)于布局。核心第一篇一份來(lái)自的基礎(chǔ)參考指南簡(jiǎn)寫速查表簡(jiǎn)寫形式參考書使用層疊樣式表基礎(chǔ)指南,包含使用的好處介紹個(gè)方法快速寫成高質(zhì)量的寫出高效的一些提示。 迄今為止,我已經(jīng)收集了100多個(gè)精通CSS的資源,它們能讓你更好地掌握CSS技巧,使你的布局設(shè)計(jì)脫穎而出。 CSS3 資源 20個(gè)學(xué)習(xí)CSS3的有用資源 C...

    impig33 評(píng)論0 收藏0
  • Iceworks 2.8.0 發(fā)布,自定義你的 React 模板

    摘要:那有沒有一種解決方案,是可以完全從零開始去自定義一個(gè)模板,能按需進(jìn)行配置生成,答案是有的。在之前的版本,已經(jīng)支持自定義模板功能,但僅限于對(duì)進(jìn)行自定義,包含基礎(chǔ)導(dǎo)航側(cè)邊欄頁(yè)腳等配置,但這顯然是不夠的。 自定義模板顧名思義即是定制自己的模板,相對(duì)社區(qū)已有的各類 React 模板,大多數(shù)是全家桶的形式,內(nèi)置了很多功能和頁(yè)面集合,所謂開箱即用;但在實(shí)際使用過(guò)程中,我們會(huì)發(fā)現(xiàn),下載模板進(jìn)行相應(yīng)的...

    FrozenMap 評(píng)論0 收藏0
  • Iceworks 2.8.0 發(fā)布,自定義你的 React 模板

    摘要:那有沒有一種解決方案,是可以完全從零開始去自定義一個(gè)模板,能按需進(jìn)行配置生成,答案是有的。在之前的版本,已經(jīng)支持自定義模板功能,但僅限于對(duì)進(jìn)行自定義,包含基礎(chǔ)導(dǎo)航側(cè)邊欄頁(yè)腳等配置,但這顯然是不夠的。 自定義模板顧名思義即是定制自己的模板,相對(duì)社區(qū)已有的各類 React 模板,大多數(shù)是全家桶的形式,內(nèi)置了很多功能和頁(yè)面集合,所謂開箱即用;但在實(shí)際使用過(guò)程中,我們會(huì)發(fā)現(xiàn),下載模板進(jìn)行相應(yīng)的...

    instein 評(píng)論0 收藏0
  • 高級(jí)布局補(bǔ)充.過(guò)濾以及動(dòng)畫

    摘要:默認(rèn)值為,表示繼承父元素的屬性,如果沒有父元素,則等同于??梢愿淖?nèi)我舛嗟臉邮饺我舛嗟拇螖?shù)。請(qǐng)用百分比來(lái)規(guī)定變化發(fā)生的時(shí)間,或用關(guān)鍵詞和,等同于和。是動(dòng)畫的開始,是動(dòng)畫的完成。為了得到最佳的瀏覽器支持,應(yīng)該始終定義和選擇器。一.Flex布局 1.概念 下圖為flex的相關(guān)概念示意圖 ? 使用flex布局的容器(flex container),他內(nèi)部的元素自動(dòng)成為flex項(xiàng)目(flex it...

    xialong 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<