探究CSS边框特效实现技巧

  发布时间:2016-04-26 09:46:00   作者:佚名   我要评论
半透明的边框如何实现?多重边框如何实现?这篇文章就是主要针对CSS边框特效实现技巧进行探究,感兴趣的小伙伴们可以参考一下

本文为大家分享了CSS边框特效实现技巧,供大家参考,具体内容如下

一、半透明的边框实现

加入我们有这样一个需求:在一个背景图片的区域中,定义一个带有半透明白色边框的白色div。这个的实现方法最先想到的就是可以为边框定义透明度,代码如下:

CSS Code复制内容到剪贴板
  1. div{   
  2. background:white;   
  3. border:20px solidhsla(0,0%,100%,.5);   
  4. }  

这里hsla为一种定义颜色的方法,它的各个参数含义如下:

H:Hue(色调)。0(或360)表示红色,120表示绿色,240表示蓝色,也可取其他数值来指定颜色。取值为:0 - 360

S:Saturation(饱和度)。取值为:0.0% - 100.0%

L:Lightness(亮度)。取值为:0.0% - 100.0%

A:Alpha透明度。取值0~1之间

 在浏览器中运行上述的样式设定,发现其实并没有出现我们想要的结果。div还只是一个没有任何边框效果的纯白色div。

 这个问题出现的原因是:白色的div挡住了半透明的白色边框。因为如果为一个div设定为白色,那么这个div的盒子模型整个颜色都是白色的。如果设定了半透明的白色边框,放到这个白色的div中是显示不出来的(被div的白色衬托的没有办法显示出边框)。

要想解决这个问题,需要用到CSS3中的新属性——background-clip。background-clip规定了背景的绘制区域:

border-box         背景被裁剪到边框盒 

padding-box      背景被裁剪到内边距框            

content-box       背景被裁剪到内容框 

默认情况下,background-clip的值为border-clip,也就是说整个和模型都应用定义的背景,在我们上面的例子中也就是整个div一直到边框外围都是白色。所以如果我们将background-clip属性值设定为padding-box,即可将外部的边框不填充颜色,就能显示出设定的半透明边框了,代码如下:

CSS Code复制内容到剪贴板
  1. div{   
  2.        background:white;   
  3.        border:20pxsolid hsla(0,0%,100%,.5);   
  4.        background-clip:padding-box;   
  5. }  

这样设定的样式在浏览器中重新运行,就会出现预想的白色半透明边框效果了。

二、多重边框

有的时候为了元素的特别效果,可能需要为元素添加多重的边框,下面介绍两种添加多重边框的方法。

1.box-shadow

box-shadow属性可以为盒模型设定投影。但是其实它还有设定边框的功能。

box-shadow可以传递五个参数,前两个参数表示投影的偏移量,第三个参数表示投影的模糊程度,第四个参数表示投影的扩张度,最后一个参数表示投影的颜色。然而我们平常很少用到第四个参数,在这里使用第四个参数,就可以让投影进行扩张,通过设定比较合适的值,就可以模拟出边框的效果了。

同样,box-shadow属性可以传入多个阴影的列表,用“,”分割即可。因此,只要我们定义一个阴影列表,并且递增的增加其扩张度参数的取值,就可以绘制出多重边框的效果了。

2.outline

如果我们只需要绘制两层边框,使用outline也可以做到。outline是border外面的一层,和border原理一样。通过设定outline的样式可以为border外面再设定一层边框。

但是需要注意的是,outline属性设定的边框不会随着内部元素边界样式的变化而变化。也就是说,如果元素边框带了圆角,那么outline绘制出的最外层边框仍然是矩形的。这是outline绘制边框的一个缺憾。

以上就是本文的全部内容,希望大家能够熟练掌握CSS边框实现技巧,谢谢大家的阅读。

相关文章

  • CSS3实现超酷的黑猫警长首页

    这篇文章主要为大家介绍了CSS3实现超酷的黑猫警长首页的相关代码,效果酷炫,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-04-26
  • CSS3实现千变万化的文字阴影text-shadow效果设计

    这篇文章主要介绍了CSS3实现千变万化的文字阴影text-shadow效果设计的相关资料,感兴趣的小伙伴们可以参考一下
    2016-04-26
  • 什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条

    这篇文章主要以模拟渐变色条实例,针对CSS3 HSLA色彩模式进行介绍,使用HSLA色彩模式,可以设计不同的透明效果,感兴趣的小伙伴们可以参考一下
    2016-04-26
  • CSS3 RGBA色彩模式使用实例讲解

    这篇文章主要以设计带有阴影边框的表单为例,为大家介绍了CSS3 RGBA色彩模式使用方法,感兴趣的小伙伴们可以参考一下
    2016-04-26
  • CSS3不透明度实例讲解

    这篇文章主要为大家详细介绍了CSS3不透明度实例,以设计灯箱广告背景布的透明度为例,为大家介绍CSS3不透明度的调节方法,感兴趣的小伙伴们可以参考一下
    2016-04-26
  • CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义

    CSS3色彩模式有哪些?这篇文章主要介绍了CSS3色彩模式是什么?告诉大家HSL色彩模式的定义、语法,感兴趣的小伙伴们可以参考一下
    2016-04-26
  • 利用CSS中linear制作复杂的边框效果

    这篇文章主要介绍了利用CSS中linear制作复杂的边框效果的相关资料,利用linear-gradient属性制作绚丽的边框效果
    2016-04-26
  • 深究CSS定位position的常用技法

    这篇文章主要针对CSS定位position的常用技法进行探究,CSS中的position等属性确实有很多需要认真考究的地方,本文就和大家一起探索一下
    2016-04-26
  • CSS实现弹簧效果的旋转加载动画

    这篇文章主要介绍了CSS实现弹簧效果的旋转加载动画的相关资料,像是弹簧在不断伸缩,显示加载进度,感兴趣的小伙伴们可以参考一下
    2016-04-25
  • CSS实现大小相同、颜色深浅不一的粒子旋转加载动画

    这篇文章主要介绍了CSS实现大小相同、颜色深浅不一的粒子旋转加载动画的相关代码,运用CSS3的border-radius圆角属性、box-shadow阴影属性等属性制作出来的,感兴趣的小伙伴
    2016-04-25

最新评论