百科狗-知识改变命运!
--

box-shadow - 阴影 - css 边框

乐乐1年前 (2023-11-21)阅读数 17#技术干货
文章标签阴影

box-shadow

版本:CSS3

box-shadow - 阴影 - css 边框

box-shadow属性用于在元素的框架上添加阴影效果,该属性可设置的值包括,X偏移,Y偏移,阴影模糊半径,阴影扩散半径,和阴影颜色并以多个逗号分隔。box-shadow以由逗号分隔的列表来描述一个或多个阴影效果。该属性可以让几乎所有元素的边框产生阴影。如果元素同时设置了border-radius,阴影也会有圆角效果。多个阴影在z轴的顺序和多个text shadows规则相同(第一个阴影在最上面)。

示例

/* x偏移量  |  y偏移量  |  阴影颜色 */
box-shadow: 60px -16px teal;

/* x偏移量  |  y偏移量  |  阴影模糊半径  |  阴影颜色 */
box-shadow: 10px 5px 5px black;

/* x偏移量  |  y偏移量  |  阴影模糊半径  |  阴影扩散半径  |  阴影颜色 */
box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);

/* 插页(阴影向内)  |  x偏移量  |  y偏移量  |  阴影颜色 */
box-shadow: inset 5em 1em gold;

/* 任意数量的阴影,以逗号分隔 */
box-shadow: 3px 3px red, -1em 0 0.4em olive;

/* 全局关键字 */
box-shadow: inherit;
box-shadow: initial;
box-shadow: unset;

浏览器支持

IE9以上版本的浏览器都支持box-shadow

语法

box-shadow:[inset][]
  • 可以设定多组效果,每组参数值以逗号分隔。
  • 对应的脚本特性为boxShadow

取值

参数共有六个部分组成。顺序依次如下:

  1. inset可选参数。把其投影设置为内阴影。阴影落在盒子内部,这样看起来就像是内容被压低了。此时阴影会在边框之内(即使是透明边框)、背景之上、内容之下。若不设置,即为默认投影方式是外阴影。默认阴影在边框外,即阴影向外扩散。
  2. :设置水平偏移量,正值阴影则位于元素右边,负值阴影则位于元素左边。取值参见
  3. :设置垂直偏移量,正值阴影则位于元素下方,负值阴影则位于元素上方。取值参见
  4. :设置阴影模糊值。值越大,模糊面积越大,阴影就越大越淡。不能为负值。默认为0,此时阴影边缘锐利。对于长而直的阴影边缘,它会创建一个过渡颜色用于模糊以阴影边缘为中心、模糊半径为半径的局域,过渡颜色的范围在完整的阴影颜色到它最外面的终点的透明之间。取值参见
  5. 可选参数。设置阴影外延值。取正值时,阴影扩大;取负值时,阴影收缩。默认为0,此时阴影与元素同样大。需要考虑inset。取值参见
  6. 可选参数。设置阴影的颜色。如果没有指定,则由浏览器决定——通常是的值,不过目前Safari取透明。取值参考
  7. 说明

    给出的值数量不同的情况:

  • 如果只给出两个值,这两个值将被浏览器解释为x轴上的偏移量和y轴上的偏移量。(x,y 是按照数学二维坐标系来计算的,只不过y垂直方向向下)。如果两者都是0,那么阴影位于元素后面。这时如果设置了或则有模糊效果。需要考虑inset
  • 如果给出了三个值,这第三个值将被解释为模糊半径的大小。
  • 如果给出了四个值,这第四个值将被解释为扩展半径的大小。
默认值none
适用于所有元素,也适用于::first-letter
继承性
动画性
计算值指定值

合成

将none看做是长度为0的列表。

列表中的每个阴影通过color组件(作为颜色),以及 x,y,blur,(合适的时候)加上spread组件(作为长度)进行合成。对于每个阴影,如果两个输入的阴影都是inset或者都不是inset,那么要添加的阴影必须考虑已存在的阴影。如果任何一对输入阴影中,一个是inset,另一个不是inset,那么整个阴影列表就是不可合成的。如果阴影列表有不同的长度,那么较短的列表会在尾部补上这类阴影:颜色透明,所有长度为0,inset还是非inset同较长的列表。

例子

you may shoot me with your words,
you may cut me with your eyes,
you may kill me with your hatefulness,
but still, like air, i'll rise.

— maya angelou

//CSS blockquote { padding: 20px; box-shadow: inset 0 -3em 3em rgba(0,0,0,0.1), 0 0 0 2px rgb(255,255,255), 0.3em 0.3em 1em rgba(0,0,0,0.3); }

hello world

//CSS p { box-shadow: 0 0 0 2em #f4aab9, 0 0 0 4em #66ccff; margin: 4em; padding:1em; }

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)