1. 程式人生 > 其它 >寬高自適應

寬高自適應

寬度自適應

width(寬度自適應應用於塊級元素)

在網頁佈局中,給塊級元素設定寬度為100%的時候,會自適應到瀏覽器全屏寬度(通欄效果)

塊級元素不設定寬度的情況下,預設寬度為100%

塊級不去設定寬度的時候,會和父級等寬

重要:如果當前元素脫離了文件流,元素的寬高大小由自身的內容決定

用到了定位(固定和絕對定位)或者浮動屬性一定要給元素新增寬高大小

高度自適應 height

如果不設定容器高度,那麼容器就不會顯示在瀏覽器上

如果容器沒有設定高度或者設定成auto的時候,高度會根據內容撐開,做到高度自適應

重點:子級元素自適應父級元素的高度

自適應瀏覽器高度:瀏覽器寬度預設為100%,高度預設為0 html,body{height:100%}

圖片自適應到父級容器:img{width:100%;height:100%} 圖片會被拉伸變形

重要的屬性:**最小高度 min-height 網站的留言模組

作用:

當盒子沒有內容的時候保持一個固定高度(height)

當盒子由內容的時候會根據內容的多少自動撐開盒子的高度(height:auto)

越好用的屬性問題越多(相容問題)

最小高度的相容問題:只能在高版本瀏覽器中使用,低版本瀏覽器不相容

下劃線過濾器 寫法:_屬性:屬性值 表示當前這個屬性只能在低版本中使用

!important 最高權重

內聯/行內樣式表>id>class>標籤

寫法:屬性:屬性值 !important

高度塌陷/高度坍塌

造成高度塌陷的原因:父級沒有設定高度,子級元素含有浮動屬性

父級沒有設定高度的原因:父級容器做到自適應

子級元素含有浮動屬性:佈局需求 脫離文件流 初始位置不存在 父級高度就不會被子級撐開

1.給父級新增高度 height:固定值

優點:從根本上解決了高度塌陷

缺點:不能做到自適應

2.給父級新增overflow:hidden

原理:使用了文字溢位屬性,可以觸發BFC(塊級格式化上下文)在BFC中有一條佈局規則(浮動元素也參與高度計算)

優點:好理解 ,可以解決高度坍塌

缺點:如果子級元素有超出父級區域的部分,會被隱藏起來

3.在當前最後一個子級元素後面新增一個任意標籤,給這個標籤設定clear:both屬性

屬性的解釋:clear清除 left right both

優點:需要解決高度塌陷的時候,寫標籤和類名就可以

缺點:程式碼冗餘,造成不必要的錯誤結構

4.萬能清除法(只要求會用,不要理解)

用法:在父級上新增一個類名 clear-fix

再給這個類名新增宣告

clear-fix::after{

content:‘’;

width:100%;

height:0;

display:block;

overflow:hidden;

clear:both;

visibility: hidden;

}

偽物件/偽元素

1.選擇器:after{content:''} 表示在xx之後,必須要和content一起使用

2.選擇器:before{content:''}表示在xx之前

3.first-letter 定義第一個文字樣式

4.first-line 定義第一行文字樣式

隱藏元素的方法

display:none 刪除結構

visibility:hidden 刪除了在頁面中的顯示文字 結構還是存在的

overflow:hidden 超出才可以隱藏元素

opacity:0(0~1) 背景顏色

面試題:偽類和偽物件(偽元素)的區別是什麼?

偽類選擇器:hover ,:link,:visited, :active

偽物件/偽元素選擇器 ::before, ::after, ::first-letter, ::first-line

總結:兩者的區別

1.寫法上的區別

偽類:只有一個冒號

偽物件:兩個冒號 在css2中兩者都是一個冒號,後來為了區分偽類和偽物件的區別,在css3中規定了偽物件書寫的時候要用兩個冒號

2.功能作用

偽類:只能通過偽類改變元素的樣式

偽物件:偽物件可以新增html結構(dom元素)dom元素是虛擬的