前端面試大全(三)

第三部分 CSS
· 介紹一下標準的CSS的盒子模型?與低版本IE的盒子模型有什麼不同的?
· CSS盒子模型:由四個屬性組成的外邊距(margin)、內邊距(padding)、邊界(border)、內容區(width和height);
· 標準的CSS盒子模型和低端IE CSS盒子模型不同:寬高不一樣
·   標準的css盒子模型寬高就是內容區寬高;
·   低端IE css盒子模型寬高 內邊距﹢邊界﹢內容區;
· CSS選擇符有哪些?哪些屬性可以繼承?
   類型選擇符(body)、羣組選擇符(h1,h2,h3,span)、包含選擇符(h2 span)、ID選擇符(#id)、Class選擇符(.content)
CLASS屬性,僞類A標籤,列表ul、li、dl、dd、dt可以繼承
· position的值relative和absolute定位原點是?
absolute :生成絕對定位的元素, 相對於最近一級的 定位不是 static 的父元素來進行定位。
fixed (老IE不支持)生成絕對定位的元素,通常相對於瀏覽器窗口或 frame 進行定位。
   relative 生成相對定位的元素,相對於其在普通流中的位置進行定位。
   static 默認值。沒有定位,元素出現在正常的流中
    sticky 生成粘性定位的元素,容器的位置根據正常文檔流計算得出
· 如何居中div?如何居中一個浮動元素?如何讓絕對定位的div居中?
Margin 0 auto
#dingwei{padding:10px;background-color:#003300;color:#FFFFFF;
 width:600px;height:300px;
 display:block; 
 position: absolute;
 top:50%;
 left:50%;
 margin-left:-300px;
 margin-top:-150px;}
· CSS權重優先級是如何計算的?
 !import > id > class > tag
請解釋一下爲什麼會出現浮動和什麼時候需要清除浮動?清除浮動的方式
浮動float最開始出現的意義是爲了讓文字環繞圖片而已,但人們發現,如果想要三個塊級元素並排顯示,都給它們加個float來得會比較方便
清除浮動是指清除由於子元素浮動帶來父元素高度塌陷的影響。
1.三個div 水平排列,需要用到浮動,但如果用一個邊框包起來,由於使用了浮動不能實現,就需要清除浮動 clear:both
2,採用僞元素
zoom:1清除浮動原理:清除浮動,觸發hasLayout;
Zoom屬性是IE瀏覽器的專有屬性,它可以設置或檢索對象的縮放比例。解決ie下比較奇葩的bug。
譬如外邊距(margin)的重疊,浮動清除,觸發ie的haslayout屬性等。
來龍去脈大概如下:
當設置了zoom的值之後,所設置的元素就會就會擴大或者縮小,高度寬度就會重新計算了,這裏一旦改變zoom值時其實也會發生重新渲染,運用這個原理,也就解決了ie下子元素浮動時候父元素不隨着自動擴大的問題。
Zoom屬是IE瀏覽器的專有屬性,火狐和老版本的webkit核心的瀏覽器都不支持這個屬性。然而,zoom現在已經被逐步標準化,出現在 CSS 3.0 規範草案中。
目前非ie由於不支持這個屬性,它們又是通過什麼屬性來實現元素的縮放呢?
可以通過css3裏面的動畫屬性scale進行縮放。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章