Css3 常見技術面試題(一)

1 標準的CSS盒子模型與IE的盒子模型有什麼不同?

標準的css盒子模型寬高就是內容區寬高;
低端IE css盒子模型寬高 內容+內邊距+邊框。

2 link和@import的區別

2.1 從屬關係

link是HTML提供的標籤;
@import是css的語法規則,只能加載在style標籤內和css文件中使用。

2.2 加載順序

link在頁面加載時同時加載,而@import在頁面加載完成後加載。

2.3 兼容性

@import只能用於ie5以上,link不受兼容影響

2.4 DOM可控性

Link支持js控制dom改變樣式,而@import不支持

2.5 注意

不推薦使用@import,原因如下:
1、影響瀏覽器的並行下載。
2、多個@import的使用會使瀏覽器下載紊亂。

3 ::before 和 :after中雙冒號和單冒號有什麼區別?解釋一下這2個僞元素的作用

單冒號(:)用於CSS3僞類,雙冒號(::)用於CSS3僞元素。(僞元素由雙冒號和僞元素名組成);
::befor是css3中僞元素的新語法,讓插入的內容在其他內容之前,
:after是css1的語法,兼容性好,讓插入的內容在其他內容之後。

4 Css優化、提高性能的方法

1、儘量將樣式寫在單獨的css文件中,在head元素中引入,好處有以下幾點:
(1)內容和樣式分離,易於管理和維護
(2)減少頁面體積
(3)css文件可以被緩存、重用、維護成本降低

2、儘量不使用@import(影響css文件加載速度)

3、避免使用複雜的選擇器,層級越少越好
建議選擇器的嵌套最好不要超過三層,例如.header .logo .text{},
可以減少css文件大小、提高加載性能、瀏覽器解析時也會更加高效。

4、精簡頁面的樣式文件,去掉不用的樣式

5、利用CSS繼承減少代碼量

6、慎重使用高性能屬性:浮動、定位;

5 CSS的實現方式有幾種?那種CSS實現方式優勢更突出?相對其他實現方式而言其優點有哪些?

三種:內聯 內嵌 外聯。
外聯優勢更突出,原因如下:
使用外聯樣式使內容和樣式分離,易於管理和維護,減少頁面體積,css文件可以被緩存、重用、維護成本低。

6 全屏滾動的原理以及用到的css屬性

有點類似於輪播,整體的元素一直排列下去,
假設有5個需要展示的全屏頁面,那麼高度是500%,只是展示100%,剩下的可以通過transform進行y軸定位
overflow:hidden;transition:all 1000ms ease

7 style標籤寫在body後與body前有什麼區別

寫在body前有利於瀏覽器逐步渲染
寫在body後會導致瀏覽器停止渲染,並等到樣式表解析完成後重新渲染

8 Css3新特性

顏色:新增RGBA、HSLA模式
文字陰影 text-shadow
邊框:圓角border-radius 邊框陰影border-shadow 圖片邊框border-image
盒子模型:box-sizing
背景:background-size設置背景圖片的尺寸,background-origin設置背景圖片的原點,background-clip設置背景圖片的裁剪區域
漸變:linear-gradient、radial-gradient
過渡:transition可實現動畫
自定義動畫
多媒體查詢、多欄佈局
2D轉換:transform:translate(x,y)rotate(x,y)skew(x,y)scale(x,y)
3D轉換
在CSS3中唯一引入的僞元素是::selection

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