css3

关注公众号 jb51net

关闭
网页制作 > CSS > css3 >

CSS3中border-radius属性设定圆角的使用技巧

王柏元

border-radius CSS3中的代表——第一个在社区中得到广泛使用新属性。这意味着,除去Internet Explorer 8及更低版本,所有的浏览器可以显示圆角。
为了使样式能正确应用,需要为Webkit和Mozilla内核添加前缀。

CSS Code复制内容到剪贴板
  1. -webkit-border-radius: 10px;   
  2. -moz-border-radius: 10px;   
  3. border-radius: 10px;  

然而,今天我们不关心前缀,只简单坚持官方形式:border-radius。
2016510110907211.jpg (253×999)

如你所料,我们可以为每个角指定不同的值。
2016510110940699.jpg (599×525)

CSS Code复制内容到剪贴板
  1. border-top-left-radius: 20px;   
  2. border-top-rightright-radius: 0;   
  3. border-bottom-rightright-radius: 30px;   
  4. border-bottom-left-radius: 0;  

在上面的代码中,设置border-top-right-radius和border-bottom-left-radius为零是多余的,除非该元素有继承的值。
按top-left, top-right, bottom-right, bottom-left顺序设置每个 radius 的值。如果省略 bottom-left,则与 top-right 相同。如果省略 bottom-right,则与 top-left 相同。如果省略 top-right,则与 top-left 相同。
我们可以实验,

CSS Code复制内容到剪贴板
  1. border-radius:2px;  

等价于:

CSS Code复制内容到剪贴板
  1. border-top-left-radius:2px;   
  2. border-top-rightright-radius:2px;   
  3. border-bottom-rightright-radius:2px;   
  4. border-bottom-left-radius:2px;  

例子2:

CSS Code复制内容到剪贴板
  1. border-radius:2em 1em 4em / 0.5em 3em;  

等价于:

CSS Code复制内容到剪贴板
  1. border-top-left-radius:2em 0.5;   
  2. border-top-rightright-radius:1em 3em;   
  3. border-bottom-rightright-radius:4em 0.5em;   
  4. border-bottom-left-radius:1em 3em;  

就像margin和padding一样,如果需要的话,这些设置可以合并为一个单一的属性。

CSS Code复制内容到剪贴板
  1. /* 左上角, 右上角, 右下角, 左下角 */  
  2. border-radius: 20px 0 30px 0;  

举个例子(网页设计师经常这样做),可以用CSS的border-radius属性模拟柠檬的形状,如下:

CSS Code复制内容到剪贴板
  1. .lemon {   
  2.    width200pxheight200px;   
  3.     
  4.    background#F5F240;   
  5.    border1px solid #F0D900;        
  6.    border-radius: 10px 150px 30px 150px;   
  7. }  

2016510111043906.jpg (533×534)