摘要:不完全脫離文檔流浮動(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í)的高度。
將窗體自上而下分成一行一行,塊級(jí)元素從上至下,行內(nèi)元素在每行中從左至右順序排放元素
本質(zhì)為normal flow(普通流,常規(guī)流),文檔流就是一個(gè)連續(xù)具有邏輯上下的頁(yè)面整體,也可以片面的說(shuō),出現(xiàn)在頁(yè)面中的顯示內(nèi)容都可以理解為在文檔流中。
塊級(jí)格式化上下文,它是一個(gè)獨(dú)立的渲染區(qū)域,只有Block-level box參與,它規(guī)定了內(nèi)部的Block-level box如何布局,并且這個(gè)區(qū)域與外部毫不相干。
讓block同行顯示(1.在父級(jí)規(guī)定的寬度中,2.不完全脫離文檔流)
float:left | right
.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
效果圖:
通常文檔流中,子標(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í)的高度。
清浮動(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í)獲得合適的高度。
讓布局脫離固定值限制,可以根據(jù)頁(yè)面情況的改變發(fā)生相應(yīng)的變化
百分比設(shè)置 % 參考為最近的父級(jí)
窗口設(shè)置 vw | vh 50vw代表占據(jù)窗口寬度50%
字體控制 em rem em為最近設(shè)置字體大小的父級(jí)規(guī)定的字體大小 rem為html字體大小
可以根據(jù)需求給相應(yīng)的塊設(shè)定相應(yīng)設(shè)置。
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ō)就是 左右取左,上下取上
優(yōu)點(diǎn):父級(jí)不會(huì)脫離文檔流,滿足所有的盒模型布局
優(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ì)受影響
脫離文檔流的標(biāo)簽,具有z-index屬性,可以用來(lái)控制顯示層次的優(yōu)先級(jí),值為任意正整數(shù)
Flex是Flexible Box的縮寫,意為“彈性布局”,用來(lái)為盒狀模型提供最大靈活性。
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;
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)式布局就是一個(gè)網(wǎng)站能夠兼容多個(gè)終端。
原則:采用響應(yīng)式布局的樣式塊,基本樣式塊只做共性設(shè)置,需要根據(jù)頁(yè)面尺寸進(jìn)行適應(yīng)變化的樣式均有響應(yīng)式布局處理
@media only screen and (max-width: ) {
selector {
}
}
@media only screen and (min-width: ) and (max-width: ) {
selector {
}
}
@media only screen and (min-width: ) {
selector {
}
}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/1749.html
摘要:層疊樣式表二修訂版這是對(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...
摘要:那有沒有一種解決方案,是可以完全從零開始去自定義一個(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)的...
摘要:那有沒有一種解決方案,是可以完全從零開始去自定義一個(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)的...
摘要:默認(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...
閱讀 2338·2021-09-26 10:21
閱讀 2824·2021-09-08 09:36
閱讀 3077·2019-08-30 15:56
閱讀 969·2019-08-30 12:57
閱讀 950·2019-08-26 10:39
閱讀 3572·2019-08-23 18:11
閱讀 3096·2019-08-23 17:12
閱讀 1098·2019-08-23 12:18