CSS揭秘之《多重边框》

news/2025/4/22 1:55:36

1、box-shadow还接受第四个参数(称作“扩张半径”), 通过指定正值或负值, 可以让投影面积加大或者减小
2、如果我们想要一道实线边框其实也是可以通过box-shadow来模拟,原理就是一个正值的扩张半径加上两个为零的偏移量以及为零的模糊值
eg:

background: yellowgreen;
box-shadow: 0 0 0 10px #655;

3、border其实也能实现上述实线效果而且似乎挺简单,但是box-shadow却是有border无法媲美的功能,它支持逗号分隔语法, 我们可以创建任意数量的投影
eg:

box-shadow: 0 0 0 10px #655, 0 0 0 15px deeppink;

4、需要注意的是box-shadow 是层层叠加的,也就是说如果你想让第二层边框宽度为5的话则必须在第一层边框宽度10的基础上增加5,也就是最终值为15

div {width: 100px;height: 60px;margin: 25px;background: yellowgreen;box-shadow: 0 0 0 10px #655,0 0 0 15px deeppink,0 2px 5px 15px rgba(0, 0, 0, .6);}

具体效果可见链接
5、投影效果跟边框的效果完全不一致,

a)投影它不会影响布局, 而且也不会受到 box-sizing 属性的影响
b)边框会响应鼠标点击事件,投影出来的边框虽然看上去占据空间大了很多,但是点击区域范围没有变大(无法响应点击事件可通过因为它不会影响布局, 而且也不会受到 box-sizing 属性的影响)

6、如果我们要模拟虚线边框的话,box-shadow 就没辙了,虽然outline并不支持逗号分隔,但是可实现虚拟边框,还可以通过 outline-offset 属性来控制它跟元素边缘之间的间距, 这个属性甚至可以接受负值
需要注意的是:边框不一定会贴合 border-radius 属性产生的圆角, 因此如果元素
是圆角的, 它的描边可能还是直角的

        div {background: yellowgreen;border: 10px solid #655;outline: 5px solid deeppink;outline-offset: 5px;}

https://dhexx.cn/news/show-2382886.html

相关文章

【Oracle】oracle中rownum的说明及使用技巧

oracle中常用到ROWNUM,所以做一些本人对rownum的一些认识和使用技巧的记录,以便备查。 一、rownum的说明 rownum是oracle特有的一个关键字。 (1)对于基表,在insert记录时,oracle就按照insert的顺序&#xf…

C# 中的事务

直接用SQL语句创建事务, 当然不是什么稀奇事了, 好是好, 只是麻烦. 看看C#中怎么做吧: SqlTransaction Tran DBConn.BeginTransaction(); cmdTmp.Transaction Tran; try {cmdTmp.CommandText "DELETE FROM xxx";cmdTmp.ExecuteNonQuery();cmdTmp.CommandText …

发现VS2005

1. 编译器改动1. wcscpy等CRT的字符串函数不再允许使用,几乎都改成后面带_s的函数。并且每传入一个非const的字符串指针,都会要求后面跟一个表示字符串指针长度的参数[标注]虽然可以用宏定义来强制使用旧的字符串函数,但MS还是建议…

数据库练习题3

转载地址:https://www.cnblogs.com/aqxss/p/6563625.html ANY关键字:假设any内部的查询语句返回的结果个数是三个, 那么,select ...from ... where a>any(...) 等同于 select ...from ... where a > result1 or a > resu…

不直接用SqlTransaction也能实现数据库事务——简单的SqlTransaction方法

在实际工作的中,很多人经常需要实现数据库的事务,如果每次都用SqlTransaction 写代码,是一件特别麻烦的事,下面我们来介绍一个通用的方法放在数据层,以此来达到复用的目的并能满足一般情况下的需求。可以同时执行两条 SQL语句的方法:public static void …

《中国人工智能学会通讯》——2.4 智能汽车对人机交互和人机协同技 术的需求...

2.4 智能汽车对人机交互和人机协同技 术的需求 对于汽车智能驾驶技术,经历从初期的危险预警,到高级驾驶辅助,最后到完全自主驾驶的发展过程。目前由于技术的限制,在智能驾驶汽车发展到具备完全自主驾驶能力之前,驾驶员…

数据库聚簇索引和非聚簇索引,页分裂的介绍及会产生的问题(整理自网络)

参考 http://www.mamicode.com/info-detail-549679.html https://blog.csdn.net/wen_3370/article/details/56667906 聚簇索引(Clustered Index)和非聚簇索引 (Non- Clustered Index) 最通俗的解释是:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的索引顺序…

有关安防产品设计中的音频通话回音问题一

传统安防按之前的定位和应用,基本是以视频为主,所以在产品类型上,不断的推出分辨率,清晰度,画质更好的感光芯片,多媒体处理器,镜头等等,随着各芯片巨头的竞争和技术发展,…

程序状态决定软件质量

1. 概述 软件开发经过这么多年的发展,已经造就出来一系列的方法论,从最初的面向过程,然后到面向对象,再然后为了补偿面向对象表现能力的不足而出现的面向方面、面向服务等。而为了推进和支持这些方法论的发展,众多…

《中国人工智能学会通讯》——9.20 结束语

9.20 结束语 本文介绍了一种比单标记和多标记学习更通用的学习框架,即标记分布学习。它不仅能处理多标记问题,也能处理标记重要性不同的问题。本文介绍了三种 LDL 算法设计思路与六个 LDL 算法,并给出了 LDL 的评价指标及其相关应用。LDL 的提…