Css3 常見技術面試題(二)

1 Canvas和SVG圖形的區別是什麼

1.1 Canvas

通過js繪製2D圖形
逐像素進行渲染
位置發生改變會重新進行繪製

1.2 SVG

一種使用XML描述的2D圖形的語言
SVG繼續XML意味着SVG DOM中的每個元素都是可用的,可以爲某個元素附加js事件處理器
在 SVG 中,每個被繪製的圖形均被視爲對象。如果 SVG 對象的屬性發生變化,那麼瀏覽器能夠自動重現圖形。

1.3 區別

Canvas依賴分辨率,SVG不依賴
Canvas不支持事件處理器,SVG支持
Canvas弱的文本渲染能力,SVG適合帶有大型渲染區域的應用程序(比如谷歌地圖)
Canvas最適合圖像密集型的遊戲,其中的許多對象會被頻繁重繪 SVG不適合遊戲應用
Canvas能夠以 .png 或 .jpg 格式保存結果圖像
SVG複雜度高會減慢渲染速度(任何過度使用 DOM 的應用都不快)

2 Css如何實現水平居中

1、行內元素水平居中:text-align: center;
2、固定寬塊狀元素水平居中:margin:0 auto;
3、不固定寬塊狀元素水平居中:
(1)設置display:inline 然後給父元素設置text-align:center
(2)絕對定位讓元素向右偏移50%,然後向左偏移自身的50%
在這裏插入圖片描述
(3)彈性佈局1
在這裏插入圖片描述
(4)彈性佈局2
CSS3的fit-content配合左右margin爲auto實現水平居中方法
在這裏插入圖片描述

3 清除浮動的幾種方法

1、在浮動元素下方加空div,設置clear:both

2、給浮動元素的父元素設置高度

3、以浮制浮(父元素同時浮動) 缺點:浮動多了容易出問題

4、結尾處加br 設置clear:both

5、給父級添加overflow:hidden

6、給父元素加overflow:auto

7、給父元素定義display:table

8、父級div定義僞類 :after和zoom
使用 zoom:1觸發 hasLayout
在這裏插入圖片描述

4 img標籤上alt和title的區別

alt是圖片不顯示時顯示的文字
title是鼠標放在圖片上提示的文字

5 絕對定位和相對定位的區別

1、參照物不同,絕對定位的參照物是父元素,相對定位的參照物是元素本身
2、絕對定位將元素脫離文檔流,因此不佔空間。相對定位不破壞正常文檔流順序,依然佔用空間

6 三欄佈局(左右定寬,中間自適應)

左右兩邊固定寬度300px,中間自適應寬度

6.1 浮動

左右兩邊浮動,使元素脫離文檔流,中間元素正常在文檔流中
缺點:順序問題,中間元素必須放在最後。當瀏覽器窗口很小時,右邊元素會被擠到下一行

6.2 絕對定位

三塊都加display:absolute;
然後左右加寬高left:0/right:0;
中間加left:300px; right:300px;

6.3 flex佈局

給父元素設置 display:flex;
左右設置寬高,中間設置 flex:1;

6.4 表格佈局

給父元素設置 display:table;
三塊都加上display: table-cell;

6.5 網格佈局

給父元素設置

display:grid; 
grid-template-rows: 100px; 
grid-template-columns: 300px auto 300px;

7 動效

讓頁面更加生動
爲什麼要用:簡單說就是爲了有趣、美觀。

7.1 原理

動效是元素的移動、形狀大小等隨時間的變化

7.2 動效能解決什麼問題

1、流暢
用動畫效果可以使app、手機產品等操作更平滑,用戶體驗效果更好
2、高效反饋
讓用戶有操縱感、知道當前app的瀏覽狀態 是等待加載還是正在下載或其他變化,通過各種動效給用戶做出及時的反饋
3、引導作用
通過動效指導用戶,使用戶快速熟練應用app
4、層級顯示
一款APP無論是簡單還是複雜,都有自己的邏輯架構和邏輯層級,那當邏輯比較多的時候、層級比較深的時候,我們就需要讓用戶在APP使用過程當中不迷路,能夠讓用戶知道自己處於哪一個層級,這個頁面和下一個頁面是什麼層級關係。也可以通過動效的方法來展現。
5、增強操作
模擬現實,不需要提示,增強用戶代入感
6、創新體驗
在可用性良好的情況下,增加一些細節
7、吸引用戶注意力

7.3 Css3動效

transition: 對元素設置transition時間(單位s)。
transform:
	1、translate(0px,0px) 元素位置左右或者上下移動
	2、rotate(30deg)元素在自身的位置上逆時針或者順時針旋轉
	3、scale(2) 元素本身縮小放大的效果   (常用)
	4、skew以x、y軸爲中心旋轉

下面是transform的四個栗子:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

7.4 動畫(animation)

動畫屬性可以逐漸地從一個值變化到另一個值,比如尺寸大小、數量、百分比和顏色
在這裏插入圖片描述

7.5 多列

在這裏插入圖片描述
在這裏插入圖片描述

8 僞類的使用

CSS僞類是用來添加一些選擇器的特殊效果。

僞類的語法:
	selector:pseudo-class {property:value;}
常用僞類:
	:link               	未訪問
	:visited       		已訪問
	:hover               	鼠標懸停
	:active              	鼠標按下
	:not(s)              	匹配不含s選擇器的元素
	:frist-child           	父元素的第一個元素
	:last-child            	父元素的最後一個元素
	:only-child            	父元素的唯一一個元素
	:checked              	選中 :checked+僞元素
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章