寬高自適應
width(寬度自適應應用於塊級元素)
在網頁佈局中,給塊級元素設定寬度為100%的時候,會自適應到瀏覽器全屏寬度(通欄效果)
塊級元素不設定寬度的情況下,預設寬度為100%
塊級不去設定寬度的時候,會和父級等寬
重要:如果當前元素脫離了文件流,元素的寬高大小由自身的內容決定
用到了定位(固定和絕對定位)或者浮動屬性一定要給元素新增寬高大小
高度自適應
如果不設定容器高度,那麼容器就不會顯示在瀏覽器上
如果容器沒有設定高度或者設定成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.功能作用
偽類:只能通過偽類改變元素的樣式