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