整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

技巧分享之在HTML元素中添加逼真阴影的教程

加一个简单的阴影


让我们为投影准备一个简单的HTML元素:

然后添加CSS:

输出结果是三个框,通过调用每个框的ID可以很容易地放置阴影。要添加阴影,让我们将属性box-shadow赋予框1:

我们提供三个参数。前两个参数是offset-x和offset-y。两者都确定投影的位置。相对于元素左上角的位置给出偏移量。偏移x处的正值表示将阴影向右引导,偏移y处的正值表示将阴影向下引导。

第三个参数是所需的阴影颜色。尽管这里我们使用elements <div>,但是属性box-shadow可以应用于所有其他HTML元素。

赋予模糊半径

如果想要阴影看起来更逼真,则可以使用blur-radius参数。此参数将设置我们如何给予阴影模糊效果。让我们将其应用于方框2:

注意第三个参数,该值4px调整应用于投影的模糊半径。

提供半径差数

如果要调整阴影的大小,我们可以添加参数spread-radius以使阴影扩大或缩小。让我们8px在框2中添加一个半径扩展:

注意参数的顺序。

合并多个阴影

我们甚至可以一次将多个阴影组合到一个元素中。让框3应用蓝色和绿色投影:

制作阴影

我们可以用参数制作一个向内的阴影inset。参数inset可以写在属性的开头或结尾box-shadow。以下示例使用elements blockquote。

我们还可以添加一些模糊和散布以增强阴影:

使用properties box-shadow,我们可以为所创建的网页提供阴影,从而可以提供良好的3D照明效果。

css阴影效果是我们经常使用的一个css属性,但你有仔细了解过它吗?是不是用的时候直接从蓝湖上复制过来就行了,那你了解它的每个参数吗?用阴影又能实现哪些好看的效果呢?来看一看我收集总结的css阴影知识吧,可能不全面,欢迎补充。

属性介绍

语法

box-shadow: x-shadow y-shadow blur spread color inset;

x-shadow: 必需的,水平阴影的偏移量,可以为负值,下图表示了在其他参数相同,x-shadow不同情况下的不同表现

box-shadow: x-shadow 0 10px 10px rgba(0, 0, 0, .2);

1.png

y-shadow: 必需的,水平阴影的偏移量,可以为负值,下图表示了在其他参数相同,y-shadow不同情况下的不同表现

box-shadow: 0 y-shadow 10px 10px rgba(0, 0, 0, .2);

2.png

blur: 可选的,模糊距离,不支持负数,下图表示了在其他参数相同,blur不同情况下的不同表现

box-shadow: 0 0 blur 10px rgba(0, 0, 0, .2);

3.png

spread: 可选的,阴影的扩展半径,阴影的原理其实就是复制一个当前元素出来,这个属性就是控制的复制出来的元素的半径,一定要记好了啊,支持负数,如果为负数,复制出来的元素就会比原元素小,下图表示了在其他参数相同,spread不同情况下的不同表现

box-shadow: 0 0 10px spread rgba(0, 0, 0, .2);

4.png

color:可选的,颜色值,支持#000000格式或者rgb(0,0,0)格式或者rgba(0,0,0,.2)格式,下面展示了阴影对几种颜色格式的支持

box-shadow: 0 0 10px 10px color;

5.png

inset:可选的,内阴影,下面是使用了此参数的效果展示

box-shadow: 0 0 10px 5px rgba(0, 0, 0, .5) inset;

6.png

多重阴影

css3的阴影支持多重阴影,只要将每个阴影属性用逗号隔开即可,用法如下

.box15 {
  border-radius: 50%;
  box-shadow: 
    -20px 0 20px 5px rgba(213, 255, 145, 0.5),
    0px -20px 20px 5px rgba(145, 255, 191, 0.5),
    20px 0 20px 5px rgba(82, 255, 220, 0.5),
    0 20px 20px 5px rgba(239, 255, 91, 0.5);
}

7.png

以上就是对css阴影属性的详细介绍及展示

创意用法

柔和边缘

css阴影的一大作用就是使边缘变得柔和,使之看起来不那么生硬,比如我们在做一些有光影效果的图片或者小动画时就能用到,下面展示一下用css绘制一个夜空中的月亮

8.png

立体效果

二维平面加入一点点阴影可以很好的营造出立体效果,这一点也被很多网站使用,比如小米官网

9.gif

甚至我们可以用它来做一个立体的按钮

.box19 {
  width: 100px;
  height: 30px;
  background: #89d444;
  line-height: 30px;
  color: #fff;
  user-select: none;
  box-shadow: 0px 8px 0 0 #479a48,
  0 10px 5px 0 rgba(0, 0, 0, .5);
  border-radius: 5px;
  transform: translateY(-8px);
}
.box19:active {
  transform: translateY(0);
  box-shadow: 0 0
}

12.gif

画画

对,你没有看错,利用css的多重阴影属性,你甚至,可以画出一幅画来,虽然几乎没有人会这么做,不过几乎不等于没有,某位大神就用css的阴影效果画出了一个蒙娜丽莎

这是地址https://codepen.io/jaysalvat/pen/kazzOj

11.png

过渡效果

经实测,box-shadow 是支持 transion 过渡效果的

13.gif

下面是我自己瞎搞的

14.gif

至于怎么用这个做出更好看的效果,就看各位大佬的发挥了,本篇文章就到这里,本文同步发布至公众号百里青山,转载至其他平台请先征得同意(头条站内可直接转发)

用CSS3,你可以为文本和元素添加阴影。

一、浏览器支持

表中的数字指定完全支持该属性的第一个浏览器版本。

数字后面的 -webkit- 或者 -moz- 使用时需要指定前缀。

属性ChromeFirefoxSafariOperaIE
text-shadow4.010.03.54.09.5
box-shadow10.0 4.0 -webkit-9.04.0 3.5 -moz-5.1 3.1 -webkit-10.5

二、CSS3 阴影的文字特效

CSS代码:

<!DOCTYPE CSS>
<CSS lang="en">
<head>
  <meta charset="UTF-8">
  <title>项目</title>
</head>
<body>
  <h1>文本阴影效果!</h1>

  <p><b>注意:</b> IE9和更早的版本, 不支持text-shadow属性.</p>
</body>
</CSS>

CSS3 文本阴影

CSS3 text-shadow 属性应用阴影到文本上.

在简单的用法, 你可以在水平方向设置阴影(2px)和垂直方向设置阴影(2px):

h1 {
    text-shadow: 2px 2px;
}

添加一个颜色到阴影:

h1 {
    text-shadow: 2px 2px red;
}

显示一个带有黑色阴影的白色文本:

h1 {
        color: white;
        text-shadow: 2px 2px 4px #000000;
    }

下面的例子显示了红色霓虹灯的阴影:

 h1 {
        text-shadow: 0 0 3px #FF0000;
    }


多重阴影

要在文本中添加多个阴影,可以添加逗号分隔的阴影列表。

下面的实例显示了一个红色和蓝色的霓虹灯阴影:

h1 {
    text-shadow: 0 0 3px #FF0000, 0 0 5px #F00000;
}

下面实例显示了一个白色文本带有黑色,蓝色和深蓝色阴影:

h1 {
    text-shadow: 0 0 3px #FF0000, 0 0 5px #0000FF;
}


三、box-shadow 属性

CSS3 box-shadow 属性应用阴影到元素上.

在最简单的用法中,只指定水平阴影和垂直阴影:

一个黄色的

元素使用一个黑色box-shadow
div {
        width: 300px;
        height: 100px;
        padding: 15px;
        background-color: yellow;
        box-shadow: 10px 10px;
    }

下一步,添加一个颜色到阴影,对阴影添加模糊效果:

一个黄色的

元素带模糊红/灰 box-shadow。
div {
        width: 300px;
        height: 100px;
        padding: 15px;
        background-color: yellow;
        box-shadow: 10px 10px 5px grey;
    }

案例

添加阴影到 ::before 和 ::after 伪类中, 来创建一个有趣的效果。

<!DOCTYPE CSS>
<CSS lang="en">
<head>
  <meta charset="UTF-8">
  <title>项目</title>
  <style>
  #boxshadow {
      position: relative;
      -moz-box-shadow: 1px 2px 4px rgba(0, 0, 0,0.5);
      -webkit-box-shadow: 1px 2px 4px rgba(0, 0, 0, .5);
      box-shadow: 1px 2px 4px rgba(0, 0, 0, .5);
      padding: 10px;
      background: white;
  }

  /* Make the image fit the box */
  #boxshadow img {
      width: 100%;
      border: 1px solid #8a4419;
      border-style: inset;
  }

  #boxshadow::after {
      content: '';
      position: absolute;
      z-index: -1; /* hide shadow behind image */
      -webkit-box-shadow: 0 15px 20px rgba(0, 0, 0, 0.3);
      -moz-box-shadow: 0 15px 20px rgba(0, 0, 0, 0.3);
      box-shadow: 0 15px 20px rgba(0, 0, 0, 0.3);
      width: 70%;
      left: 15%; /* one half of the remaining 30% */
      height: 100px;
      bottom: 0;CSS
  }
</style>
</head>
<body>
  <div id="boxshadow">
    <img src="img/fy_indexBg.jpg" alt="Norway" width="600" height="400">
  </div>
</body>
</CSS>

四、总结

本文基于CSS基础,使用CSS语言。介绍了有关CSS阴影效果的应用,从基础的文本阴影入手, 对CSS常见的阴影表示效果都做了一一的讲解。通过一个个实例的演示,实例运行的效果图。希望能够帮助你更好的学习CSS。

想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/