CSS3 box-shadow阐述

一、box-shadow简介

box-shadow用于对元素添加一个或多个投影。它的语法如下:

box-shadow: h-shadow v-shadow blur spread color inset;

box-shadow属性可以接受多个阴影值,用逗号分隔。在每个阴影值内部,可以包含1-4个值,分别为偏移量,模糊半径,扩散半径和颜色。其中,偏移量必选,其他值可选。下面,我们将按照参数的类型阐述box-shadow属性。

二、阴影偏移量

h-shadowv-shadow是box-shadow属性中必选的参数。它们分别表示阴影的水平和垂直偏移。可以为这两个参数设置正负值,正数表示阴影在元素右侧(水平偏移)、下侧(垂直偏移),负数则表示阴影在元素左侧、上侧。

例如,下面的代码演示了一个向右两像素、向下三像素的红色阴影:

box-shadow: 2px 3px red;

此外,h-shadow和v-shadow还可以是一个长度值或百分比值,它们决定了阴影的参照物。如果这两个值为0,阴影将和元素重叠。

三、模糊半径

blur参数可选,用于设置阴影的模糊半径,也就是模糊的程度,数值越大越模糊。如果这个值为0,阴影就是一个纯色的小圆点,没有任何扩散效果。

例如,下面的代码描绘了一个红色模糊半径为5像素的阴影:

box-shadow: 2px 3px 5px red;

四、扩散半径

spread参数用于设置阴影的扩散半径,也就是阴影扩展或收缩的程度,数值越大,阴影越大。如果这个值为负,阴影就缩小到元素内部。

例如,下面的代码描绘了一个红色扩散半径为10像素的阴影:

box-shadow: 2px 3px 5px 10px red;

五、阴影颜色

color参数用于设置阴影的颜色,可以使用CSS颜色名、RGB值、十六进制值,也可以使用关键字none。如果省略这个值,默认是黑色。另外,如果在一个box-shadow值中没有color值,阴影就不会出现。

例如,下面的代码演示了一个偏移值为5像素、红色、模糊半径为5像素、扩散半径为10像素的阴影:

box-shadow: 5px 5px 5px 10px red;

六、插入阴影

inset参数用于设置阴影是嵌入还是突出。如果值为inset,阴影被内嵌到元素中,而不是通过外部投射矩形框来绘制阴影。默认情况下,阴影是投射于元素之外。

例如,下面的代码演示了一个偏移值为5像素、黑色、内嵌的阴影:

box-shadow: inset 5px 5px black;

七、不规则形状阴影

box-shadow不仅能给常见的形状添加阴影,也能给不规则形状添加阴影,这点就是传统实现方式所不能达到的。下面的代码演示了如何给一个不规则的图像添加阴影:

div {
width: 200px;
height: 200px;
background: url("https://mdn.mozillademos.org/files/16480/starsolid.gif"), url("https://mdn.mozillademos.org/files/16475/moon2.png");
background-size: 100px 100px, 80px 80px;
border-radius: 50%;
box-shadow: inset -3px -3px 3px rgba(0,0,0,0.5), 3px 3px 3px rgba(0,0,0,0.5);
}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/242318.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:47
下一篇 2024-12-12 12:48

相关推荐

  • 深入了解 display: -webkit-box

    一、外观排列 display: -webkit-box 可以让元素按照横向或者纵向接排列。通过设置不同的属性,还可以控制元素间的间距、对齐方式等。 .box { display: …

    编程 2025-04-25
  • 深入了解HTML box-shadow

    HTML box-shadow是CSS3的一种新特性,它可以使一个元素产生一个或多个阴影效果,并且与框的边框之外呈现。本文将从多个角度深入探讨HTML box-shadow的各种用…

    编程 2025-04-13
  • Bounding Box Regression详解

    Bounding box regression是一种目标检测领域中常用的技术。其基本思想是通过在图像中找到目标的位置,并且利用训练数据对其位置进行预测和调整,从而提高目标检测的精确…

    编程 2025-02-05
  • Shadow Build:提高可维护性和构建速度的神器

    一、什么是Shadow Build Shadow Build是一种软件开发技术,它可以将构建过程与源代码分离,提高代码可维护性和构建速度。 传统的构建过程包括编译、链接、运行等步骤…

    编程 2025-01-27
  • 深入了解box-sizing:border-box

    一、box-sizing和border-box概述 box-sizing是CSS3中的一个属性,它决定了元素的盒模型计算方式,默认为content-box。而border-box是…

    编程 2025-01-06
  • Python Tkinter List Box示例

    一、什么是列表框? 列表框是Tkinter组件库中一种常用的界面元素,它能够展示并管理一组相关项目/选项。在实际使用中,列表框通常被用于从多个选项中选择一个或多个,支持多种排序模式…

    编程 2025-01-06
  • 了解CSS box-sizing属性

    CSS box-sizing属性决定了一个盒子(box)的尺寸的计算方式,是一个非常实用的CSS属性。在这篇文章中,我们将会从多个方面进行详细的阐述。 一、基本概念和用法 box-…

    编程 2025-01-03
  • Box-Cox变换及其应用

    一、概述 Box-Cox变换是一种用于调整数据偏度的方法,广泛应用于统计学和数据分析领域。它可以将数据转化为服从正态分布或近似正态分布的形式,从而提高统计建模和预测的精度。 Box…

    编程 2024-12-28
  • 深入了解Shadow DOM:从shadow-root开始

    一、ShadowRoot Link CSS 在Web开发中,分离结构、样式和行为是一项重要的原则。使用Shadow DOM可以将HTML代码以及CSS样式保护起来,防止与外部样式冲…

    编程 2024-12-26
  • 探究CSS Box-sizing属性的作用

    CSS的盒模型是指每个HTML元素都是一个矩形的盒子,它由四个部分组成:外边距、边框、内边距和内容。这四个部分紧密相连,共同给元素的形式和功能带来影响。而Box-sizing属性可…

    编程 2024-12-26

发表回复

登录后才能评论