文章出處

前言

 當CSS3推出border-radius屬性時我們是那么欣喜若狂啊,一想到終于不用再添加額外元素來模擬圓角了,但發現border-radius還分水平半徑和垂直半徑,然后又發現border-top-left/right-radius的水平半徑之和大于元素寬度時,實際值會按比例分配元素寬度時,不禁會問"我真的懂border嗎?"。本系列將稍微深入探討一下那個貌似沒什么好玩的border!
《CSS魔法堂:重拾Border之——解構Border》
《CSS魔法堂:重拾Border之——圖片作邊框》
《CSS魔法堂:重拾Border之——不僅僅是圓角》
《CSS魔法堂:重拾Border之——更廣闊的遐想》

解構Border

 說起border我們自然會想起border box,而border box由4條緊緊包裹著padding box的邊(line)組成,所以border的最小操作單元是line。
 line具有厚度(line thickness)、樣式(line pattern)和顏色(line color)3個特性,因此我們必須也只能圍繞它們做文章了!

Line Thickness

border-width:(medium|thin|thick|<length>){1,4}
默認值medium,當font-size為17px或以下時,medium為1px、3px或5px,具體有UA決定。
大小關系:thin <= medium <= thick
另外有4個子屬性border-top/right/bottom/left-width:medium|thin|thick|<length>

Line Color

border-color:(<color>|transparent){1,4}|inherit
默認值與color屬性值一致

<div style="color:red;border:solid;">hello world</div>

另外有4個子屬性border-top/right/bottom/left-color:<color>|transparent|inherit

Line Patterns

border-style:(none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset){1,4}
默認值none,表示忽略border-colorborder-width的屬性值,打死不顯示border。
hidden,效果與none一樣,只是應用于border-collapsed的表格上時不會發生沖突而已。

注意:各瀏覽器的效果是有差異的哦!
另外有4個子屬性border-top/right/bottom/left-style:none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset

合體技——一次搞定Thickness、Pattern和Color

border: <border-width>? <border-style> <border-color>?
其中<border-width><border-color>是可選,而<border-style>為必填項。
另外有4個子屬性border-top/right/bottom/left:<border-width>? <border-style> <border-color>?

自定義彩虹——border-top/right/bottom/left-colors

border-top/right/bottom/left-colors:(<color>|transparent){1,}|inherit
 多顏色border規則

  1. 顏色從外至內排列;
  2. 每種顏色占1px。若border-width大于顏色種類,則最后一種顏色占據剩余的寬度;若border-width小于顏色中類,則舍棄多余的顏色。
     兼容性:就FF3.0+支持而已

      <style type="text/css">
       .box{
     width: 100px;
     height: 100px;
     border: 10px solid;
     -moz-border-top-colors: rgb(255,0,0) rgb(255,165,0) rgb(255,255,0) rgb(0,255,0) rgb(0,127,255) rgb(0,0,255) rgb(139,0,255);
     -moz-border-right-colors: rgb(255,0,0) rgb(255,165,0) rgb(255,255,0) rgb(0,255,0) rgb(0,127,255) rgb(0,0,255) rgb(139,0,255);
     -moz-border-bottom-colors: rgb(255,0,0) rgb(255,165,0) rgb(255,255,0) rgb(0,255,0) rgb(0,127,255) rgb(0,0,255) rgb(139,0,255);
     -moz-border-left-colors: rgb(255,0,0) rgb(255,165,0) rgb(255,255,0) rgb(0,255,0) rgb(0,127,255) rgb(0,0,255) rgb(139,0,255);
       }
      </style>
      <div class="box">
      </div>

總結

 尊重原創,轉載請注明來自:http://www.cnblogs.com/fsjohnhuang/p/5436087.html^_^肥仔John

感謝

CSS Backgrounds and Borders Module Level 3 4. Borders


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()