CSS3边框

 一、圆角效果

border-radius是向元素添加圆角边框。

使用方法:

border-radius:10px; /* 所有角都使用半径为10px的圆角 */ 

border-radius: 5px 4px 3px 2px; /* 四个半径值分别是左上角、右上角、右下角和左下角,顺时针 */ 

注:border-radius的值除了能用px单位,还可以用百分比或者em,但兼容性目前还不太好。

实心上半圆:

方法:把高度(height)设为宽度(width)的一半,并且只设置左上角和右上角的半径与元素的高度一致(大于也是可以的)。

 

div{
    height:50px;/*是width的一半*/
    width:100px;
    background:#9da;
    border-radius:50px 50px 0 0;/*半径至少设置为height的值*/
    }

实心圆:
方法:把宽度(width)与高度(height)值设置为一致(也就是正方形),并且四个圆角值都设置为它们值的一半。如下代码:

div{
    height:100px;/*与width设置一致*/
    width:100px;
    background:#9da;
    border-radius:50px;/*四个圆角值都设置为宽度或高度值的一半*/
    }

 

二、阴影效果

box-shadow是向盒子添加阴影,支持添加一个或者多个。

语法:

box-shadow: X轴偏移量 Y轴偏移量 [阴影模糊半径] [阴影扩展半径] [阴影颜色] [投影方式];

参数介绍:

注意:inset 可以写在参数的第一个或最后一个,其它位置是无效的。

例:

code:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>boxshadow</title>
<style>
.boxshadow-outset{
    width:100px;
    height:100px;
    box-shadow:4px 4px 6px #666; 
}
.boxshadow-inset{
    width:100px;
    height:100px;
    box-shadow:4px 4px 6px #666 inset; 
}
.boxshadow-multi{
    width:100px;
    height:100px;
    box-shadow:4px 2px 6px #f00, -4px -2px 6px #000, 0px 0px 12px 5px #33CC00 inset;
}
</style>
</head>

<body>
<h2>外阴影</h2>
<div class="boxshadow-outset">
</div>
<br />
<h2>内阴影</h2>
<div class="boxshadow-inset">
</div>
<br />
<h2>多阴影</h2>
<div class="boxshadow-multi">
</div>
</body>
</html>

 效果展示:

其它:

 1、阴影模糊半径与阴影扩展半径的区别

阴影模糊半径:

此参数可选,其值只能是为正值,如果其值为0时,表示阴影不具有模糊效果,其值越大阴影的边缘就越模糊;

阴影扩展半径:

此参数可选,其值可以是正负值,如果值为正,则整个阴影都延展扩大,反之值为负值时,则缩小

 2、X轴偏移量和Y轴偏移量值可以设置为负数

例一(右下):

 

效果:

例二(左下):

效果:

 例三(右上):

效果:

例四(左上):

 

效果:

三、为边框应用图片

border-image为边框应用背景图片,它和我们常用的background属性比较相似。又比背景图片复杂一些。

   切割后的四周的八个切片,四个角全尺寸缩放显示到border的四个角。

    除四个角外的其他中间切片(上中,右中间,下中,左中间),可以根据设置做拉伸或重复的设置操作显示到对应的border位置

语法:

border-image 切割image的参数的具体意义?(http://jingyan.baidu.com/article/90895e0fcc781c64ec6b0b9f.html)

 

 

 

 

举例:

原材料:

一、重复(repeat)

code:

#border-image{
   background:#F4FFFA;
   width:210px; height:210px; border:70px solid #ddd;
   border-image:url(borderimg.png) 70 repeat  
}

 效果:

 

其它:

repeat的意思就是重复,目前因为是刚好被整除,效果看不出来。如果改下DIV的宽高,再来看重复的效果:

边角部分为裁掉了,可见repeat就是一直重复,然后超出部分剪裁掉,而且是居中开始重复。

二、平铺(round)

Round可以理解为圆满的铺满。为了实现圆满所以会压缩(或拉伸);

code:

#border-image {

     width:170px;

     height:170px;

     border:70px solid;

     border-image:url(borderimg.png) 70 round;

 }

效果(可见图片被压扁了。):

三、拉伸(Stretch)

Stretch 很好理解就是拉伸,有多长拉多长。有多远“滚”多远。

code:

border-image:url(borderimg.png) 70 stretch

 

效果:

注意:Chrome下,中间部分也会被拉伸,webkit浏览器对于round属性和repeat属性似乎没有区分,显示效果是一样的。

 

posted @ 2017-04-13 14:38  Lucky锦  阅读(222)  评论(0)    收藏  举报