css元素溢出 當子元素的尺寸超過父元素的尺寸時,需要設置父元素顯示溢出的子元素的方式,設置的方法是通過overflow屬性來設置。 overflow的設置項: 1、visible 預設值。內容不會被修剪,會呈現在元素框之外。2、hidden 內容會被修剪,並且其餘內容是不可見的,此屬性還有清除浮動 ...
css元素溢出
當子元素的尺寸超過父元素的尺寸時,需要設置父元素顯示溢出的子元素的方式,設置的方法是通過overflow屬性來設置。
overflow的設置項:
1、visible 預設值。內容不會被修剪,會呈現在元素框之外。
2、hidden 內容會被修剪,並且其餘內容是不可見的,此屬性還有清除浮動、清除margin-top塌陷的功能。
3、scroll 內容會被修剪,但是瀏覽器會顯示滾動條以便查看其餘的內容。
4、auto 如果內容被修剪,則瀏覽器會顯示滾動條以便查看其餘的內容。
5、inherit 規定應該從父元素繼承 overflow 屬性的值。
塊元素、內聯元素、內聯塊元素
元素就是標簽,佈局中常用的有三種標簽,塊元素、內聯元素、內聯塊元素,瞭解這三種元素的特性,才能熟練的進行頁面佈局。
塊元素
塊元素,也可以稱為行元素,佈局中常用的標簽如:div、p、ul、li、h1~h6、dl、dt、dd等等都是塊元素,它在佈局中的行為:
- 支持全部的樣式
- 如果沒有設置寬度,預設的寬度為父級寬度100%
- 盒子占據一行、即使設置了寬度
內聯元素
內聯元素,也可以稱為行內元素,佈局中常用的標簽如:a、span、em、b、strong、i等等都是內聯元素,它們在佈局中的行為:
- 支持部分樣式(不支持寬、高、margin上下、padding上下)
- 寬高由內容決定
- 盒子併在一行
- 代碼換行,盒子之間會產生間距
- 子元素是內聯元素,父元素可以用text-align屬性設置子元素水平對齊方式,用line-height屬性值設置垂直對齊方式
解決內聯元素間隙的方法
1、去掉內聯元素之間的換行
2、將內聯元素的父級設置font-size為0,內聯元素自身再設置font-size
內聯塊元素
內聯塊元素,也叫行內塊元素,是新增的元素類型,現有元素沒有歸於此類別的,img和input元素的行為類似這種元素,但是也歸類於內聯元素,我們可以用display屬性將塊元素或者內聯元素轉化成這種元素。它們在佈局中表現的行為:
- 支持全部樣式
- 如果沒有設置寬高,寬高由內容決定
- 盒子併在一行
- 代碼換行,盒子會產生間距
- 子元素是內聯塊元素,父元素可以用text-align屬性設置子元素水平對齊方式,用line-height屬性值設置子元素垂直對齊方式
這三種元素,可以通過display屬性來相互轉化,不過實際開發中,塊元素用得比較多,所以我們經常把內聯元素轉化為塊元素,少量轉化為內聯塊,而要使用內聯元素時,直接使用內聯元素,而不用塊元素轉化了。
display屬性
display屬性是用來設置元素的類型及隱藏的,常用的屬性有:
1、none 元素隱藏且不占位置
2、block 元素以塊元素顯示
3、inline 元素以內聯元素顯示
4、inline-block 元素以內聯塊元素顯示
浮動
文檔流
文檔流,是指盒子按照html標簽編寫的順序依次從上到下,從左到右排列,塊元素占一行,行內元素在一行之內從左到右排列,先寫的先排列,後寫的排在後面,每個盒子都占據自己的位置。
浮動特性
1、浮動元素有左浮動(float:left)和右浮動(float:right)兩種
2、浮動的元素會向左或向右浮動,碰到父元素邊界、浮動元素、未浮動的元素才停下來
3、相鄰浮動的塊元素可以併在一行,超出父級寬度就換行
4、浮動讓行內元素或塊元素自動轉化為行內塊元素
5、浮動元素後面沒有浮動的元素會占據浮動元素的位置,沒有浮動的元素內的文字會避開浮動的元素,形成文字饒圖的效果
6、父元素內整體浮動的元素無法撐開父元素,需要清除浮動
7、浮動元素之間沒有垂直margin的合併
清除浮動
- 父級上增加屬性overflow:hidden
- 在最後一個子元素的後面加一個空的div,給它樣式屬性 clear:both(不推薦)
- 使用成熟的清浮動樣式類,clearfix
-
.clearfix:after,.clearfix:before{ content: "";display: table;} .clearfix:after{ clear:both;} .clearfix{zoom:1;}
- 清除浮動的使用方法:
.con2{... overflow:hidden} 或者 <div class="con2 clearfix">