首页 >web前端 >html教程 >CSS2.1: 有意思的box-shadow非典型性应用场景_html/css_WEB-ITnose

CSS2.1: 有意思的box-shadow非典型性应用场景_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-21 08:51:431498浏览

最近对一些css很感兴趣。样式表的知识原理很容易被忽视,而且因为看似简单,所以更容易忘记。所以写下来咯~ box-shadow 这个东东,看起来好像很简单,就是阴影嘛!但是到底怎么用?是个神马规律?来来来,跟本猿一起学习一下。先看一个有意思的应用~ 这个月亮里面的阴影,是用box-shadow画的,很神奇吧。

box-shadow画圆.png

中间的一个圆,是靠下面两件事画的

  1. 绝对定位一个div (.moon:after)
  2. border-radius 和背景颜色设置
    <style type="text/css"> .moon { position: relative; } .moon:after {      content: '';      display: block;          position: absolute;      width: 50px;      height:50px;      border-radius: 50%;      background: rgba(0, 0, 0, 0.1);      //其他的小圆(用box-shadow)... }</style>

其他所有的圆 都是靠 第一个圆的 box-shadow,看代码:

<style type="text/css">     .moon { position: relative; }     .moon:after {          //其他的小圆(用box-shadow)...          box-shadow: 120px 80px 0 2px rgba(0, 0, 0, 0.1),                      100px -60px 0 -7px rgba(0, 0, 0, 0.1),                      -70px 40px 0 -14px rgba(0, 0, 0, 0.1),                        -20px -50px 0 -15px rgba(0, 0, 0, 0.1),                      -20px 120px 0 -15px rgba(0, 0, 0, 0.1),                      50px 50px 0 -15px rgba(0, 0, 0, 0.1);     }</style>

看出端倪了嘛?它们6个圆是阴影没错,但重点是它们是谁的阴影: 是第一个圆.moon:after的阴影!阴影是怎么一回事呢,阴影就是和偏移的,和原元素(谁的阴影)同样形状同样大小的一个东东,因为偏移,所以超过了原元素的部分,造成了阴影效果。那么box-shadow 后面的6句话,也就是对应着6个阴影,在这个场景中的表现也就是,6个圆。我们分析一下语法哈~

box-shadow: 120px 80px 0 2px rgba(0, 0, 0, 0.1),

前面两个参数120px 80px 是相对于原元素的定位,如果这两个参数是0px 0px那么刚好与原元素重合,没有偏移,也就没有阴影效果了。第三个参数0 ,就是模糊半径为0,也就是不模糊,这个值不能为负数。第四个参数是2px 就是 扩展半径,什么是扩展半径呢?就是如果这个值不设置的话,会默认为0,这时候,阴影就和原元素一模一样大,如果扩展半径为正数,数字越大,阴影部分就越大,可以认为是它相对于原元素多出来的大小程度。所以这个参数可以用来控制阴影圆的大小。最后一个参数颜色,这就不用讲啦,就是阴影的颜色啦~!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn