CSS clip屬性可以幫助我們裁剪一個元素的可見區域,從而實現創建人眼不能看到的形狀,剪切出一個元素的某一部分,遮擋一個元素的某一部分等等。下面來深入了解一下吧。
首先,需要知道的是clip屬性是被用在position:absolute或position:fixed元素上的。它是一個矩形區域,由四個值定義,即left, top, right和bottom。它剪切出的元素區域是左上角(left, top)和右下角(right, bottom)之間的內容。
.clip-div { position: absolute; clip: rect(0px,100px,100px,0px); }
上面代碼中的rect()函數,其四個參數分別是上、右、下、左的值。可以理解為剪切的位置,從上面開始0 px,從右向左剪切100px,從下向上剪切100px,從左向右剪切0px。
在實踐中可以通過clip-path屬性來裁剪元素。clip-path功能上同clip一樣,但她不是簡單的矩形,clip-path能夠剪輯的圖形有很多種,包括了圓形、橢圓形、多邊形等等。clip-path可以接受SVG路徑,也可以通過css函數來指定那些形狀,同時還可以進一步優化圖形的精度。
.triangle { clip-path: polygon(50% 0, 0 100%, 100% 100%); }
上面代碼中的polygon()函數,它是一個多邊形。多邊形中的每個點由X坐標和Y坐標對組成,多邊形中的第一個點和最后一個點必須是相同的。
最后,需要特別指出的是,雖然clip屬性看上去很強大,但是由于其剪切的依據都是基于元素的坐標系進行的,因此,并不適用于響應式設計和響應式開發。在使用的時候也應該慎重,避免破壞可訪問性和可用性等問題。
上一篇css class格式