CSS實現常見的各種形狀

2021-10-19 05:11:10 字數 4259 閱讀 9516

css3的乙個非常酷的特性是允許我們建立各種規則和不規則形狀的圖形,從而可以減少的使用。以前只能在photoshop等影象編輯軟體中製作的複雜圖形現在使用css3就可以完成了。通過使用新的css屬性,像transform和border-radius,我們可以建立非常漂亮和複雜的圖形效果。

圓形要使用css來製作乙個圓形,我們需要乙個div,被給它設定乙個id。

<divid="circle">

圓形在設定css時要設定寬度和高度相等,然後設定border-radius屬性為寬度或高度的一半即可:

#circle

正方形正方形是css圖形中最簡單的圖形之一,同樣使用乙個div,並設定乙個id。

<divid="square">

正方形的css樣式只需要設定相同的寬度和高度即可。

#square

長方形與正方形一樣,css長方形也非常簡單:

<divid="rectangle">

與正方形不同的是,長方形的長度和高度為不同的值。

#rectangle

橢圓形橢圓形是正圓形的乙個變體,同樣使用乙個帶id的div來製作。

<divid="oval">

設定橢圓形的css時,高度要設定為寬度的一半,border-radius屬性也要做相應的改變:

#oval

三角形要建立乙個css三角形,需要使用border,通過設定不同邊的透明效果,我們可以製作出三角形的現狀。另外,在製作三角形時,寬度和高度要設定為0。

<divid="********">

#********

倒三角形

與正三角形不同的是,倒三角形要設定的是border-topborder-leftborder-right三條邊的屬性:

#********

左三角形

左三角形操作的是border-topborder-leftborder-right三條邊的屬性,其中上邊和下邊要設定透明屬性。

#********_left

右三角形

右三角形操作的是border-bottomborder-leftborder-right三條邊的屬性,其中上邊和下邊要設定透明屬性。

#********_right菱形

製作菱形的方法有很多種。這裡使用的是transform屬性和rotate相結合,使兩個正反三角形上下顯示。

#diamond梯形

梯形是三角形的乙個變體,設定css梯形時,左右兩條邊設定為相等,並且給它設定乙個寬度。

#trapezium

平行四邊形

平行四邊形的製作方式是使用transform屬性使長方形傾斜乙個角度。

#parallelogram星形

星形的html結構同樣使用乙個帶id的空div。星形的實現方式比較複雜,主要是使用transform屬性來旋轉不同的邊。仔細體會下面的**。

#star

#star:before

#star:after

六角星形

和五角星的製作方法不同,六角星形狀的製作方法是操縱border屬性來製作兩半圖形,然後合併它們。

#star_six_points

#star_six_points:after

五邊形

建立css五邊形需要結合兩個圖形:乙個梯形,然後在它的上面放乙個三角形,共同組成乙個五邊形。

#pentagon

#pentagon:before

六邊形六邊形的製作方法可以有很多種,可以像五邊形一樣,先製作乙個長方形,然後在它的上面和下面各放置乙個三角形。

#hexagon

#hexagon:before

#hexagon:after

八角形

八角形的製作方法也有多種方式,這裡使用的是先製作兩個相同的梯形,然後在兩邊分別放置乙個三角形。

#octagon

#octagon:before

#octagon:after心形

心形的製作是非常複雜的,可以使用偽元素來製作,分別將偽元素旋轉不同的角度,並修改transform-origin屬性來元素的旋轉中心點。

#heart

#heart:before,#heart:after

#heart:after蛋形

蛋形時橢圓形的乙個變體,它的高度要比寬度稍大,並且設定正確的border-radius屬性即可以製作出乙個蛋形。

#egg

無窮符號

無窮符號可以通過border屬性和設定偽元素的角度來實現。

#infinity

#infinity:before,#infinity:after

#infinity:after

訊息提示框

訊息提示框可以先製作乙個圓角矩形,然後在需要的地方放置乙個三角形。

#comment_bubble

#comment_bubble:before

吃豆人吃豆人的製作方法是先在乙個圓形裡面製作乙個透明的三角形。

#pacman

CSS實現各種有趣形狀

1 梯形原理是設定乙個較粗的邊框,將上 右 左 設定為透明,將下邊顏色填充即可實現 2 這個簡單 border radius 寬高的一半即可實現 3 橢圓原理是寬是高的一半,或反之也行,形狀一樣,就是會調乙個身位,感興趣可以試試 4 半圓原理是半徑的 一半數值 5 根據半圓玩出來的,樹葉飛舞之處,火...

css 不規則邊角 CSS實現各種形狀

css3的乙個非常酷的特性是允許我們建立各種規則和不規則形狀的圖形,從而可以減少的使用。以前只能在photoshop等影象編輯軟體中製作的複雜圖形現在使用css3就可以完成了。通過使用新的css屬性,像transform和border radius,我們可以建立非常漂亮和複雜的圖形效果。圓形要使用c...

css中border製作各種形狀

css利用border製作各種形狀的原理如圖 使用border繪製三角形是什麼原理?事實上,寬度相等的border是以45度對接的,如下圖 沒有了上border如圖所示 再設定border的寬度為0 設定border的高度為0 如圖 最後設定左右border的顏色為透明,如下圖 貼 做個小三角形 看...