自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

css中的有趣的border

開發(fā) 前端
CSS 中的 border 屬性,我想凡是了解一點(diǎn) CSS 的都知道它是作用,可以在 MDN 上找到對它的詳細(xì)介紹。簡單來說,就是我們常用的邊框,一個(gè)非常基礎(chǔ)的用法,當(dāng)然還可以定義很多奇形怪狀的邊框類型,比如圓角(radius,可能兼容性不是很好),橢圓(其實(shí)只要懂了橢圓,邊框就可以隨意繪制了)。

[[174058]]

CSS 中的 border 屬性,我想凡是了解一點(diǎn) CSS 的都知道它是作用,可以在 MDN 上找到對它的詳細(xì)介紹。

border

簡單來說,就是我們常用的邊框,一個(gè)非?;A(chǔ)的用法,就是

  1. border: 1px solid black; 
  2. // 等價(jià)于 
  3. border-width: 1px; 
  4. border-style: solid; 
  5. border-color: black;  

下面是演示的效果:

當(dāng)然還可以定義很多奇形怪狀的邊框類型,比如圓角(radius,可能兼容性不是很好),橢圓(其實(shí)只要懂了橢圓,邊框就可以隨意繪制了)。

  1. border 1px solid black; 
  2.  
  3. border-radius: 50%; 

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

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

最近碰到一個(gè)有意思的 CSS 樣式,讓我對于邊框有了很深刻的了解。平時(shí)我們用邊框,基本都要給邊框一個(gè)寬度,1px,偶爾2px,并沒有發(fā)現(xiàn)邊框與元素之間的關(guān)系,當(dāng)我們把 border-width換大一點(diǎn)的值,問題就來了。 

  1. border: 20px solid gray; 

并且,邊框是可以單獨(dú)設(shè)置 top,right,bottom,left 的值:

  1. border: 20px solid gray; 
  2.  
  3. border-top-width: 40px; 
  4.  
  5. border-left-width: 40px;  

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

了解這一點(diǎn)非常重要,如果你也發(fā)現(xiàn)了這個(gè)問題,那么下面有意思的東西就來了:

  1. border: 20px solid; 
  2.  
  3. border-top-color: black; 
  4.  
  5. border-right-color: red; 
  6.  
  7. border-bottom-color: gray; 
  8.  
  9. border-left-color: blue; 

 居然是內(nèi)頂點(diǎn)與外頂點(diǎn)的連線把邊框分開了,如果把元素的 width 和 height 都設(shè)置成 0,再加一個(gè) radius:

  1. width: 0; 
  2.  
  3. height: 0; 
  4.  
  5. border-radius: 50%; 

 前面 border-radius 的原理你也應(yīng)該懂了吧!

有關(guān)于 border-radius 的選取,可以看下 SF 上的這個(gè)提問 border-radius內(nèi)外半徑=<邊框?qū)挾葧r(shí),盒子內(nèi)邊就成了直角怎么一回事。

用 border 實(shí)現(xiàn)箭頭

知道了一些 border 的基本知識,我們就可以實(shí)現(xiàn)常見于對話框的箭頭,像下面這種:

 這個(gè)需要借助于 CSS 中的透明 transparent 來實(shí)現(xiàn),比如我們需要一個(gè)向右的箭頭,參考上面 width 和 height 為 0 時(shí)的例子,對應(yīng)的邊框大小 15px,0px,15px,30px,先看下面這個(gè)例子

  1. border-width: 15px 0px 15px 30px; 
  2.  
  3. border-color: black gray; 
  4.  
  5. border-style: solid; 

 這個(gè)時(shí)候需要把 border-top 和 border-bottom 的顏色設(shè)置成透明, 

  1. border-color: transparent gray; 

 那么,對于的其他三個(gè)角度的箭頭也可以以同樣的方式設(shè)計(jì)出來:

 總結(jié)

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

參考

CSS Refreshers: Borders

歡迎來我的博客交流。

責(zé)任編輯:龐桂玉 來源: segmentfault
相關(guān)推薦

2010-09-08 14:46:36

CSSborder

2010-09-06 16:00:41

CSSborder

2010-08-25 14:11:01

CSSborder-top

2023-03-13 08:47:06

CSS數(shù)學(xué)函數(shù)

2022-03-30 09:01:37

CSS屬性函數(shù)

2010-08-25 16:03:26

CSSborder

2022-06-16 08:35:10

CSS屬性前端

2010-08-26 10:33:27

CSSborder

2010-08-27 10:04:33

borderclearCSS

2023-11-08 10:12:40

架構(gòu)函數(shù)元素

2016-12-05 15:15:52

JavaScriptCSS庫

2010-08-25 14:01:29

CSSborder-righ

2010-09-10 09:42:37

borderclearCSS

2010-08-25 13:18:53

border-collCSS

2021-09-29 23:05:32

人工智能機(jī)器人技術(shù)

2021-09-30 22:52:30

人工智能機(jī)器人技術(shù)

2019-11-25 14:24:24

機(jī)器學(xué)習(xí)算法數(shù)據(jù)

2010-08-16 10:18:53

DivCSS

2017-11-24 08:00:55

前端JSCSS

2009-08-25 14:25:19

Eclipse 3.5
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號