1澎现、IE 盒模型和W3C盒模型有什么區(qū)別?
IE盒模型中嫡霞,給元素設(shè)置的寬高包括其padding和border值麻捻,而在W3C標(biāo)準(zhǔn)盒模型中误澳,為元素設(shè)置的寬高是不包括padding和border的敏沉;
兩種盒模型有各自的應(yīng)用場景果正,為此CSS3新增了屬性boder-box來設(shè)置盒模型種類,具體格式為`box-sizing:border-box | content-box盟迟;`? 秋泳,其中border-box表示IE盒模型,content-box表示標(biāo)準(zhǔn)盒模型攒菠,Chrome在不設(shè)置的情況下默認(rèn)為標(biāo)準(zhǔn)盒模型迫皱。
2、line-height: 2和line-height: 200%有什么區(qū)別?
line-height: 2 表示字體行高為當(dāng)前文字大小的2倍辖众;
line-height: 200% 表示字體行高為其父元素中字體高度大小的2倍卓起。
3、inline-block有什么特性凹炸?如何去除縫隙戏阅?高度不一樣的inline-block元素如何頂端對齊?
先分別說說行內(nèi)元素和塊級元素特性:
a. 行內(nèi)元素特性——不占據(jù)一整行,寬高由自身內(nèi)容撐開啤它,設(shè)置寬高無效饲握,設(shè)置上下padding私杜、margin無效,雖能撐開邊框和背景救欧,在文檔流中占據(jù)的高度不變,撐開部分會覆蓋上下相鄰元素锣光;
b. 塊級元素特性——占據(jù)一整行位置笆怠,超出部分自動換行,可設(shè)置寬高誊爹,可設(shè)置margin蹬刷、padding等;
inline-block元素既具有行內(nèi)元素特性频丘,又具有塊級元素特性办成,占據(jù)自身寬度,可設(shè)置寬高搂漠,設(shè)置margin迂卢、padding等。
inline-block元素去縫隙:html元素在書寫過程中相鄰元素之間會存在換行桐汤,瀏覽器會解析成一個空格而克,這樣相鄰inline-block元素之間就存在一個占據(jù)一定寬度的空格元素;解決方法:將inline-block元素父元素font-size設(shè)置成0怔毛,這樣空格就完全不占據(jù)空間员萍,再將每個inline-block元素font-size設(shè)置回來,覆蓋font-size:0拣度;即可實現(xiàn)去縫隙碎绎。
高度不一樣的inline-block元素,瀏覽器默認(rèn)按照字體元素基線對其抗果,可通過vertical-align:top;去設(shè)置inline-block元素的頂端對齊筋帖。
5、CSS sprite (雪碧圖/精靈圖)是什么??
css sprite(雪碧圖/精靈圖)是指通過css將多張圖片拼在一起組成一張圖片窖张,這樣可以減少網(wǎng)絡(luò)請求幕随,節(jié)約網(wǎng)絡(luò)資源。
6宿接、讓一個元素"看不見"有幾種方式赘淮?有什么區(qū)別?
主要以下幾種方式:
(1)display:none;? 元素消失,不顯示在當(dāng)前頁面下睦霎,并且不占據(jù)文檔流空間梢卸;
(2)visibility:hidden;? 將元素設(shè)置為隱藏,元素看不見副女,但占據(jù)文檔流空間蛤高;
(3)opacity:0;? 可視度為0,元素看不見,但是占據(jù)位置戴陡,和visibility:hidden;相似塞绿。
7、簡述字體圖標(biāo)的原理
字體圖標(biāo)原理與文字渲染原理類似恤批,每個字體圖標(biāo)在字體圖標(biāo)庫中繪制好并且編上對應(yīng)的編碼异吻,這樣字體圖標(biāo)庫就相當(dāng)于一種自定義文字,當(dāng)在css中引入該字體文件庫后喜庞,在html中使用對應(yīng)語句引入對應(yīng)字體圖標(biāo)即可诀浪。