首頁  >  文章  >  web前端  >  css中的有趣的 border

css中的有趣的 border

高洛峰
高洛峰原創
2016-11-22 10:54:031297瀏覽

border

簡單來說,就是我們常用的邊框,一個非常基礎的用法,就是

border: 1px solid black;
// 等价于
border-width: 1px;
border-style: solid;
border-color: black;

下面是示範的效果:

css中的有趣的 border

當然還可以定義很多奇形怪狀的邊框類型,例如圓角(例如圓角怪狀,可能相容性不是很好),橢圓(其實只要懂了橢圓,邊框就可以隨意繪製了)。

border 1px solid black;
border-radius: 50%;

css中的有趣的 border

border-top,-right,-bottom,-left

看了這麼多有意思的 DEMO,那麼對於邊框,你真的了解了嗎?

最近碰到一個有趣的 CSS 樣式,讓我對於邊框有了很深刻的了解。平常我們用邊框,基本上都要給邊框一個寬度,1px,偶爾2px,並沒有發現邊框與元素之間的關係,當我們把 border-width換大一點的值,問題就來了。

border: 20px solid gray;

css中的有趣的 border

並且,邊框是可以單獨設定 top,right,bottom,left 的值:

border: 20px solid gray;
border-top-width: 40px;
border-left-width: 40px;

css中的有趣的 border

邊框與邊框的交界處該如何來判斷呢?

了解這一點非常重要,如果你也發現了這個問題,那麼下面有意思的東西就來了:

border: 20px solid;
border-top-color: black;
border-right-color: red;
border-bottom-color: gray;
border-left-color: blue;

css中的有趣的 border

居然是內頂點與外頂點的連線把邊框分開了,如果把元素的元素的width 和 height 都設定成0,再加一個radius:

width: 0;
height: 0;
border-radius: 50%;

css中的有趣的 border

前面 border-radius 的原理你也應該懂了吧!

用border 實現我們就知道了一些幫助可以實現常見於對話框的箭頭,像下面這種:

css中的有趣的 border這個需要藉助於CSS 中的透明 transparent 來實現,例如我們需要一個向右的箭頭,參考上面width 和height 為0 時的例子,對應的邊框大小 15px,0px,15px,30px,先看下面這個例子

border-width: 15px 0px 15px 30px;
border-color: black gray;
border-style: solid;

css中的有趣的 border這個時候需要把border-top 和border-bottom 的顏色設定成透明,

rr這時候需要把border-top 和border-bottom 的顏色設定成透明,

border-color: transparent gray;
的其他三個角度的箭頭也可以用同樣的方式設計:

css中的有趣的 border

總結

看了這篇文章,是不是覺得 border 的功能非常強大,其實我們常見的一些氣泡和形狀都可以用 border 來實現,哈哈,非常鄙視那些用圖片的同學。共勉。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn