這篇文章主要介紹了CSS中三角形的繪制與巧妙應(yīng)用,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
引
網(wǎng)頁中常見的一些三角形,無需制作成圖片或者字體圖標(biāo),使用CSS就可以直接畫出來。如小米官網(wǎng)中:
以及京東網(wǎng)頁中的:
那么這些三角通過是CSS怎么實現(xiàn)的呢?
三角的實現(xiàn)
我們可以通過將一個div容器的寬和高都設(shè)置為0,然后設(shè)置容器的邊框來實現(xiàn)。
.box {
height: 0;
width: 0;
border-color: wheat skyblue pink rgb(154, 121, 230);
border-style: solid;
border-width: 40px;
}
通過以上代碼可以實現(xiàn)如下效果:
在上述代碼中,盒子的寬和高必須為0,邊框的顏色值依次為上、右、下、左,邊框為實線,四條邊框的寬度均為40px,從而得出4個等腰直角三角形。其中三角形的大小取決于邊框的寬度, border-width的值越大,三角形也越大。
若只需要其中的一個三角形,則可以通過設(shè)置其他邊框顏色透明來實現(xiàn)。如要實現(xiàn)以下效果:
則可以設(shè)置border-top、border-bottom、border-left的顏色值為transparent 即可實現(xiàn)
.box {
height: 0;
width: 0;
border-color: transparent skyblue transparent transparent;
border-style: solid;
border-width: 40px;
}
那如果需要的不是等腰三角形又該如何實現(xiàn)呢?
上面提到過,三角形的大小取決于border-width的值的大小,上面講四個方向的值設(shè)置了相同的值,因此得出的是等腰三角形。修改border-width的值則可以得出不同尺寸的直角三角形。
.box {
height: 0;
width: 0;
border-color: transparent skyblue transparent transparent;
border-style: solid;
border-width: 80px 40px 0 0;
}
則可得到如下三角形:
小三角的應(yīng)用
繪制除了三角形,就可以通過position定位實現(xiàn)。如開頭提到的京東網(wǎng)頁中顯示價格的效果。
該效果圖中的梯形可以通過在矩形的的右側(cè)定位一個如下圖所示的直角三角形,并將三角形的背景色設(shè)置為白色即可實現(xiàn)。
當(dāng)然,小三角可以使用偽元素以精簡網(wǎng)頁結(jié)構(gòu),但偽元素是行內(nèi)元素,需要先將其轉(zhuǎn)換成行內(nèi)塊元素或者塊級元素。
總結(jié)
用CSS繪制三角形需要注意以下幾點:
•容器的width和height必須為0
•三角形的大小取決于border-width值的大小
文章來源:腳本之家,原文鏈接:https://apping.admin5.com/?app=space&controller=panel&action=contribute
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!