利用CSS border設計三角形

更新 發佈閱讀 5 分鐘

border有哪些屬性?

設計border樣式時,常會直接寫下border :1px solid #000,但這些屬性值個代表甚麼意思?

參考w3school的介紹

The border property is a shorthand property for the following individual border properties:

  • border-width
  • border-style (required)
  • border-color

利用border做三角形及箭頭

明白了border縮寫的值各自代表的意思後,再來看看下面這段程式碼顯示出來的結果。

.border {
width: 30px

height: 30px

background: white

border-top: 15px solid #000

border-right: 15px solid green

border-bottom: 15px solid yellow

border-left: 15px solid purple
}
vocus|新世代的創作平台

發現了奇怪的事情,原來border並不是長方形(或正方形),而是梯形,這是在中間內容區塊有設定大小的情況,接下來把中間內容區塊寬高改為0試試。


.border-0 {
width: 0px

height: 0px

background: white

border-top: 15px solid #000

border-right: 15px solid green

border-bottom: 15px solid yellow

border-left: 15px solid purple
}

中間內容區塊寬高改為0之後,發現了4邊的border變成了三角形,而這個就是我們需要的三角形。接下來就是要選擇1個三角形並想辦法將其他border變不見。

接下來只留紫色三角形的方法,就是把其他區塊顏色變成透明(transparent)。

.border-0 {
width: 0px

height: 0px

background: white

border-top: 15px solid transparent

border-right: 15px solid transparent

border-bottom: 15px solid transparent

border-left: 15px solid purple
}

就這樣三角形出來了,疑惑的是到底要怎麼將這個三角形變形,總想設計一個狹長的三角形或不等腰三角形之類的。

Chris Coyier的CSS Triangle介紹:Animation to Explain CSS Triangles

改變三角形的形狀

設定每個三角形的數值

以紫色三角形(border-left)為例,是不適覺得另外三個三角形都沒有,為什麼還要寫下他們的程式碼,感覺很多餘。其實他們並不是沒作用,他們的作用是形成三角形的底(相反方向的border是真的沒作用啦!)

以圖來解釋這個紫色三角形的寬高是怎麼來的。

vocus|新世代的創作平台

三角形左右2側的border-width就是形成三角形底的關鍵,所以想設定不等腰三角形,就去更改三角形左右2側的border-width就可以了!

以紫色三角形為例,把它改為不等腰三角形,就是把border-topborder-bottom改成不一樣的數字即可。

利用三角形創造箭頭

先創造一個有寬高及背景的元素,再利用偽元素:before或是:after創造出在元素前或後的箭頭。

vocus|新世代的創作平台


.cart {

width: 50px;

height: 5px;

background: red;

position: relative;

}



.cart:before {

width: 0;

height: 0;

border-left: 15px solid green;

border-top: 10px solid transparent;

border-bottom: 10px solid transparent;

content: "";

position: absolute;

right: -15px;

top: -7.5px;//讓元素剛好在三角形中間(三角形底-元素高)

}





留言
avatar-img
鍋灶的熱湯
1會員
13內容數
分享生活、旅行經驗,經驗是種解決問題的方式,方式不只一種歡迎大家一起分享經驗
你可能也想看
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
「px」,即像素,是最基本的單位,它常被用於指定字體大小、邊框粗細等。「em」和「rem」通常用於調整相對大小,「em」在子元素中的適用,而「rem」則以根元素為參考。另一方面,「vh」和「vw」分別代表視窗的高度和寬度百分比,特別適合實現響應式設計。「vmin」和「vmax」則根據視窗的最小或最大
Thumbnail
「px」,即像素,是最基本的單位,它常被用於指定字體大小、邊框粗細等。「em」和「rem」通常用於調整相對大小,「em」在子元素中的適用,而「rem」則以根元素為參考。另一方面,「vh」和「vw」分別代表視窗的高度和寬度百分比,特別適合實現響應式設計。「vmin」和「vmax」則根據視窗的最小或最大
Thumbnail
不論是在基礎或是進階的版面排列,幾乎離開不了 position 系列的 CSS 語法,如果對於這些語法不熟悉,要快速完成畫面需求幾乎是不可能的,甚至會延宕整個團隊的開發速度(對,position 語法就是這麽重要)。
Thumbnail
不論是在基礎或是進階的版面排列,幾乎離開不了 position 系列的 CSS 語法,如果對於這些語法不熟悉,要快速完成畫面需求幾乎是不可能的,甚至會延宕整個團隊的開發速度(對,position 語法就是這麽重要)。
Thumbnail
這篇文章介紹 CSS 的樣式表、選擇 HTML 元素的方法和 CSS 權重。內容包含內聯樣式、內部樣式、外部樣式、元素選擇器、類別選擇器、ID 選擇器、通用選擇器以及 CSS 權重等重要概念。並以淺顯易懂的方式說明,搭配便當的例子做比喻,讓讀者更容易理解 CSS 的應用和原理。
Thumbnail
這篇文章介紹 CSS 的樣式表、選擇 HTML 元素的方法和 CSS 權重。內容包含內聯樣式、內部樣式、外部樣式、元素選擇器、類別選擇器、ID 選擇器、通用選擇器以及 CSS 權重等重要概念。並以淺顯易懂的方式說明,搭配便當的例子做比喻,讓讀者更容易理解 CSS 的應用和原理。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
是的,身為前端工程師的基本功!還是需要時不時拿出來打磨一番! 很多大公司的切版與前端是分開的,但不能因為碰不到就不去理解,假如要系統性的調整樣式,那麼你就一定要懂基礎,就好像你要調整微前端的架構,總不能連包板工具的設定都不會吧! 回到正題,這系列文章每個禮拜三都會更新一題CSS Battle的題
Thumbnail
是的,身為前端工程師的基本功!還是需要時不時拿出來打磨一番! 很多大公司的切版與前端是分開的,但不能因為碰不到就不去理解,假如要系統性的調整樣式,那麼你就一定要懂基礎,就好像你要調整微前端的架構,總不能連包板工具的設定都不會吧! 回到正題,這系列文章每個禮拜三都會更新一題CSS Battle的題
Thumbnail
這篇文章分享了 CSS Battle #29 的解法,並提供了對於 grid、flex 和 nth-of-type 的使用技巧,讓讀者可以學習到基礎切版的相關知識。作者鼓勵讀者去分享自己的作法和進行交流。文章在每週三更新,歡迎有興趣的朋友參與互動。
Thumbnail
這篇文章分享了 CSS Battle #29 的解法,並提供了對於 grid、flex 和 nth-of-type 的使用技巧,讓讀者可以學習到基礎切版的相關知識。作者鼓勵讀者去分享自己的作法和進行交流。文章在每週三更新,歡迎有興趣的朋友參與互動。
Thumbnail
本文介紹了CSS Battle #172 交叉骷髏題目的解答技巧,包括圖層拆解的熟練程度和對小圓拆開處理等技巧。作者分享了100%的解法,鼓勵讀者分享自己的作法與交流。
Thumbnail
本文介紹了CSS Battle #172 交叉骷髏題目的解答技巧,包括圖層拆解的熟練程度和對小圓拆開處理等技巧。作者分享了100%的解法,鼓勵讀者分享自己的作法與交流。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
這篇文章將介紹如何透過CSS Battle的題目來練習基礎切版技巧。透過一個眼睛圖案的例子,提供了對於 border、outline、border-radius等屬性的調整方式,並分享了一種 100% 的解法。歡迎大家分享自己的作法與作者交流,一起學習成長。
Thumbnail
這篇文章將介紹如何透過CSS Battle的題目來練習基礎切版技巧。透過一個眼睛圖案的例子,提供了對於 border、outline、border-radius等屬性的調整方式,並分享了一種 100% 的解法。歡迎大家分享自己的作法與作者交流,一起學習成長。
Thumbnail
是的,身為前端工程師的基本功!還是需要時不時拿出來打磨一番! 這系列文章每個禮拜三都會更新一題CSS Battle的題目與解法
Thumbnail
是的,身為前端工程師的基本功!還是需要時不時拿出來打磨一番! 這系列文章每個禮拜三都會更新一題CSS Battle的題目與解法
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News