1、元素定位有哪些?
absolute 以第一個不是以static定位的父元素進行定位
fixed 以瀏覽器窗口進行定位
relative 相對于其正常定位進行定位
static 默認定位,元素出現在正常的文檔流中
2、CSS的選擇符有哪些?優先級算法怎么定義?
id選擇器 #id
類選擇器 #class
偽類選擇器 #id:after
標簽選擇器 div
相鄰選擇器 div+p( 同級兄弟元素)
子代選擇器 div>p
后代選擇器 div p
通配選擇器 *
屬性選擇器?
? a[href^="http"] a的href屬性以http開頭的?
? a[href *="www"] a的href屬性 sdwww的 ?
? a[href $="com"]以com結尾
? p[class ~="item"] 所有p標簽中類名包括item的 ?
? p[title ="aaa"] p的title為aaa的
優先級算法
important > 行內樣式 > id選擇器> 類選擇器 = 偽類選擇器 > 標簽選擇器 > 其他
權重一樣的就近原則
CSS可以繼承的樣式有哪些,不可以繼承的樣式有哪些?
可以繼承 font-size ? ?font-family ? ?text-indent(首行縮進) ? ? color
不可以繼承 ?width ?height ?border margin padding
CSS3新增的偽類有哪些
3、如何清除元素浮動?
1、 在浮動元素后面添加<div class="clear"></div>
.clear{ ?clear: both; ?font-size: 0; ?height: 0; ?overflow: hidden;}
2、 在浮動元素后面添加 <br clear="all"/>
3、還用偽類對象和zoom(推薦使用)
給浮動元素的父元素添加 .clear屬性
.clear{ zoom : 1} 觸發IE的hasLayout ?屬性
.clear:after{ dispaly: block; clear: both; content:" " ; ?height: 0; ?visibility: hidden;}\
4、觸發元素的BFC
①、 使用overflow屬性觸發
給父元素設置 overflow: hidden; ?或者 overflow:auto;
②、 使用display屬性觸發
給父元素設置 display:inline-block
③、使用float屬性
給父元素設置float屬性
這三種方式都會觸發元素的BFC,元素內部的元素的各個屬性不會影響到元素外部
4、 em 、 rem 、 百分比、 vw 、 vh 、 vmin、 vmax 、 ch、 ex?
em是依賴父元素的font-size ?eg: 父元素的font-size = 16px ?則1em = 16px
rem是依賴html 的font-size eg: html{font-size:16px} 則1rem = 16px ?(IE9 以上)?
vw 是根據視口的寬度的百分比? vh是根據視口的高度的百分比 (IE10以上)
vmin 是 vw和vh 中較小的一個 ? ? vmax 是 vw 和 vh 中較大的一個
ch 是根據字符0的寬度 ? ?ex是小寫x字符的高度