摘要:不完全脫離文檔流浮動后的結果當目標標簽的內部有浮動的子級,目標標簽的兄弟標簽的布局會出現顯示異常在不做清浮動的情況下,父級不會獲取子級的高度。
將窗體自上而下分成一行一行,塊級元素從上至下,行內元素在每行中從左至右順序排放元素
本質為normal flow(普通流,常規流),文檔流就是一個連續具有邏輯上下的頁面整體,也可以片面的說,出現在頁面中的顯示內容都可以理解為在文檔流中。
塊級格式化上下文,它是一個獨立的渲染區域,只有Block-level box參與,它規定了內部的Block-level box如何布局,并且這個區域與外部毫不相干。
讓block同行顯示(1.在父級規定的寬度中,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
效果圖:
通常文檔流中,子標簽在父級標簽未設置高度的情況下,會撐開父級的高度,父級的高度決定于邏輯最后位置的子級的低端。
脫離文檔流后的子級標簽,不再撐開父級高度。
不完全脫離文檔流(浮動后的結果):當目標標簽的內部有浮動的子級,目標標簽的兄弟標簽的布局會出現顯示異常!在不做清浮動的情況下,父級不會獲取子級的高度。
清浮動的對象:擁有浮動子級的父級
這里只介紹四種清浮動的方法
1.浮動的父級設置高度
super {
height: npx;
}
2.浮動的父級設置overflow
super {
overflow: hidden;
}
3.浮動的父級兄弟設置clear
brother {
clear: left | right | both;
}
4.浮動的父級偽類清浮動
super:after {
content: "";
display: block;
clear: left | right | both;
}
原理:在浮動布局的情況下,讓父級獲得合適的高度。
讓布局脫離固定值限制,可以根據頁面情況的改變發生相應的變化
百分比設置 % 參考為最近的父級
窗口設置 vw | vh 50vw代表占據窗口寬度50%
字體控制 em rem em為最近設置字體大小的父級規定的字體大小 rem為html字體大小
可以根據需求給相應的塊設定相應設置。
position屬性指定一個元素的定位類型
值 | 描述 |
---|---|
relative | 相對定位 |
absolute | 絕對定位 |
fixed | 固定定位 |
static | 默認,沒有定位 |
設置完定位類型就可以設置top,bottom,left,right四個屬性進行布局。,如果同時設置了top和bottom,top生效,同時設置了left和right,left生效。簡單說就是 左右取左,上下取上
優點:父級不會脫離文檔流,滿足所有的盒模型布局
優點:如果自身已經采用絕對定位布局,那么子級一定參考自身進行定位。
注:如果父級只是輔助子級進行絕對定位,那么一定優選相對定位,因為絕對定位會產生新的BFC,導致盒模型布局會受影響
脫離文檔流的標簽,具有z-index屬性,可以用來控制顯示層次的優先級,值為任意正整數
Flex是Flexible Box的縮寫,意為“彈性布局”,用來為盒狀模型提供最大靈活性。
1.flex-direction屬性 決定主軸的方向(即項目的排列方向)
flex-direction: row | row-reverse | column | column-reverse;
-- row(默認值):主軸為水平方向,起點在左端。
-- row-reverse:主軸為水平方向,起點在右端。
-- column:主軸為垂直方向,起點在上沿。
-- column-reverse:主軸為垂直方向,起點在下沿。
2.flex-wrap屬性 定義一條軸線排不下的情況下如何換行
flex-wrap: nowrap | wrap | wrap-reverse;
-- nowrap(默認):不換行。
-- wrap:換行,第一行在上方。
-- wrap-reverse:換行,第一行在下方。
3.flex-flow屬性 是flex-direction屬性和flex-wrap屬性的簡寫形式,默認為row nowrap
flex-flow: ;
4.justify-content屬性 定義了項目在主軸上的對齊方式。
justify-content: flex-start | flex-end | center | space-between | space-around;
5.align-items屬性 定義項目在交叉軸上如何對齊
align-items: flex-start | flex-end | center | baseline | stretch;
6.align-content屬性 定義了多根軸線的對齊方式。如果項目只有一根軸線,該屬性不起作用
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
1.order 屬性 定義項目的排列順序。數值越小,排列越靠前,默認為0。
order: ;
2.flex-grow 屬性 定義項目的放大比例,默認為0,即如果存在剩余空間,也不放大。
flex-grow: ; /* default 0 */
3.flex-shrink 屬性 定義了項目的縮小比例,默認為1,即如果空間不足,該項目將縮小。
flex-shrink: ; /* default 1 */
4.flex-basis 屬性 定義了在分配多余空間之前,項目占據的主軸空間(main size)。
flex-basis: | auto; /* default auto */
5.flex 屬性 是flex-grow, flex-shrink 和 flex-basis的簡寫,默認值為0 1 auto。后兩個屬性可選。
flex:
6.align-self 屬性 允許單個項目有與其他項目不一樣的對齊方式,可覆蓋align-items屬性。默認值為auto,表示繼承父元素的align-items屬性,如果沒有父元素,則等同于stretch。
align-self: auto | flex-start | flex-end | center | baseline | stretch;
響應式布局就是一個網站能夠兼容多個終端。
原則:采用響應式布局的樣式塊,基本樣式塊只做共性設置,需要根據頁面尺寸進行適應變化的樣式均有響應式布局處理
@media only screen and (max-width: ) {
selector {
}
}
@media only screen and (min-width: ) and (max-width: ) {
selector {
}
}
@media only screen and (min-width: ) {
selector {
}
}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/1749.html
摘要:層疊樣式表二修訂版這是對作出的官方說明。速查表兩份表來自一份關于基礎特性,一份關于布局。核心第一篇一份來自的基礎參考指南簡寫速查表簡寫形式參考書使用層疊樣式表基礎指南,包含使用的好處介紹個方法快速寫成高質量的寫出高效的一些提示。 迄今為止,我已經收集了100多個精通CSS的資源,它們能讓你更好地掌握CSS技巧,使你的布局設計脫穎而出。 CSS3 資源 20個學習CSS3的有用資源 C...
摘要:那有沒有一種解決方案,是可以完全從零開始去自定義一個模板,能按需進行配置生成,答案是有的。在之前的版本,已經支持自定義模板功能,但僅限于對進行自定義,包含基礎導航側邊欄頁腳等配置,但這顯然是不夠的。 自定義模板顧名思義即是定制自己的模板,相對社區已有的各類 React 模板,大多數是全家桶的形式,內置了很多功能和頁面集合,所謂開箱即用;但在實際使用過程中,我們會發現,下載模板進行相應的...
摘要:那有沒有一種解決方案,是可以完全從零開始去自定義一個模板,能按需進行配置生成,答案是有的。在之前的版本,已經支持自定義模板功能,但僅限于對進行自定義,包含基礎導航側邊欄頁腳等配置,但這顯然是不夠的。 自定義模板顧名思義即是定制自己的模板,相對社區已有的各類 React 模板,大多數是全家桶的形式,內置了很多功能和頁面集合,所謂開箱即用;但在實際使用過程中,我們會發現,下載模板進行相應的...
摘要:默認值為,表示繼承父元素的屬性,如果沒有父元素,則等同于。可以改變任意多的樣式任意多的次數。請用百分比來規定變化發生的時間,或用關鍵詞和,等同于和。是動畫的開始,是動畫的完成。為了得到最佳的瀏覽器支持,應該始終定義和選擇器。一.Flex布局 1.概念 下圖為flex的相關概念示意圖 ? 使用flex布局的容器(flex container),他內部的元素自動成為flex項目(flex it...
閱讀 2312·2021-09-26 10:21
閱讀 2785·2021-09-08 09:36
閱讀 3065·2019-08-30 15:56
閱讀 954·2019-08-30 12:57
閱讀 916·2019-08-26 10:39
閱讀 3554·2019-08-23 18:11
閱讀 3077·2019-08-23 17:12
閱讀 1070·2019-08-23 12:18