box-shadow四个边框设置阴影样式

article/2025/9/17 9:27:50

其实对于box-shadow,老白我也是一知半解,之前用的时候直接复制已有的,也没有仔细思考过box-shadow的数值分别对应什么,最后导致阴影的边如何自由控制,苦于懒人一个一直没有正式去学习,今天无意中看到以下这篇文章,瞬间清醒有木有,看完整片文章,对于box-shadow阴影四个边的设置完全了如指掌了,再也不怕修改box-shadow了!

对于div边框的阴影一直没有很好地理解,也一直不明白怎么给四个边框分别设置阴影。昨天项目中碰到了这个问题,就认真想了一下,在此总结一二。

首先,还是从官方解释说起。

      网上的解释通常都是什么水平阴影长度、垂直阴影长度,略抽象。根据我的实验和理解,从坐标层面来理解比较直观,那么我们首先建立如下直角坐标系:(突然发现我的电脑上竟然没有装Visio,现学现卖用PS临时画了一个,原谅我)

史上最简单介绍box-shadow四个边框设置阴影样式的文章 CSS学习 第1张

      OK。原点为基点,原点左侧为x轴负方向,值为负,右侧为正;原点下方为y轴正方向,值为正,上方为负。如上图箭头所指。好理解吗?不要嫌我啰嗦,正确理解坐标方向对于理解阴影画法至关重要。

      好了,上代码。官方用语:     box-shadow:1px 2px 3px 4px #ccc inset;

      来分别看一下以上六个值的含义: 1px  从原点开始,沿x轴正方向的长度(倘若为负值,为沿x轴负方向的长度);

                   2px  从原点开始,沿y轴正方向的长度;(倘若为负值,为沿y轴负方向的长度);

                   3px  阴影的模糊度,只允许为正值;

                   4px  阴影扩展半径;

                   #ccc  阴影颜色;

                   inset  设置为内阴影(如果不写这个值,默认为外阴影);

      我们再详细点说,所谓内外阴影,其实就是指的是阴影在div的外面一圈还是在div的里面一圈,如下图:

                                     史上最简单介绍box-shadow四个边框设置阴影样式的文章 CSS学习 第2张外阴影                          史上最简单介绍box-shadow四个边框设置阴影样式的文章 CSS学习 第3张内阴影

     

      铺垫完毕,说正事——给四条边分别加阴影。

      如果打算添加外部阴影,那么在div内部是不会显示阴影的。看起来好像是废话,来仔细分析一下。

      将div放在直角坐标系中,则div上边与x轴重合,左边与y轴重合,没错吧。所以,对于上面一条边,沿y轴正方向的阴影不会显示,因为沿y轴正方向的长度已经进入到了div内部。同样的,对于左侧边框,沿x轴正方向的长度也进入到了div内部,阴影不会显示。

      对于右侧边框,则沿x轴负方向的长度不显示(不要纠结于原点位置,只考虑坐标方向。可以看做右边与y轴重合,方便理解);对于下方边框(看做下边与x轴重合),沿y轴负方向的长度进入div内部,不显示。

      好吧,我的语言组织能力有待加强。将以下代码配上这一段的文字描述,就不难理解了。

/*说明:(以上部边为例进行说明)1. 对于上边,沿x轴方向的偏移量显然没有意义,设为0px;2. 沿y轴正方向阴影进入div内部,不显示,因此写为负数;3. 扩展半径不要写,或者写成0px,这样就不会影响其他的边;4. 颜色自定;5. 模糊程度按需要自定;6. 下、左、右边阴影按规律类推。*/box-shadow:    0px -10px 0px 0px #ff0000,   /*上边阴影  红色*/-10px 0px 0px 0px #3bee17,   /*左边阴影  绿色*/10px 0px 0px 0px #2279ee,    /*右边阴影  蓝色*/0px 10px 0px 0px #eede15;    /*下边阴影  黄色*/

效果图:

   史上最简单介绍box-shadow四个边框设置阴影样式的文章 CSS学习 第4张

 

外阴影加好了。倘若是内阴影,可以按这个规律自己推一下。

 

      试验中发现了一个问题:

      对于上下边,相当干净漂亮。但是写左边的阴影时,上边会有一条细细的阴影;写右边阴影时,下边会有一条细细的阴影。不懂为什么。

      期待大神解答。或者先放着吧,等我成为大神了再来解答。


http://chatgpt.dhexx.cn/article/gM3LWIY9.shtml

相关文章

html边框阴影咋设置,css阴影边框怎么设置

css阴影边框的设置方法:首先新建一个html文件;然后在这个html文件上创建两个【 】用来设置阴影边框;最后这两个div添加样式类为in、out。 本教程操作环境:windows10系统、css3版,DELL G3电脑,该方法适用于所…

如何给边框添加阴影效果

css的box-shadow是用来添加边框阴影效果的。 属性值详解&#xff1a; 1、inset 可选值&#xff0c;默认阴影在盒子外 使用inset后&#xff0c;阴影在盒子内&#xff0c;即使指定边框或者透明边框&#xff0c;阴影依然存在。 2、<offset-x> <offset-y> 这是头两个&l…

css添加边框阴影

css边框阴影如何设置&#xff1f; 语法&#xff1a; <style> box-shadow: h-shadow v-shadow blur spread color inset; </style> 取值&#xff1a; h-shadow&#xff1a;必需设置的值&#xff0c;定义水平阴影的位置。允许负值。 v-shadow&#xff1a;必需设置…

css边框设置阴影样式

css边框设置阴影样式 box-shadow上下左右四个边框设置阴影样式 语法值/说明四个不同样式实现效果 语法 box-shadow: h-shadow v-shadow blur spread color inset;注意&#xff1a;boxShadow 属性把一个或多个下拉阴影添加到框上。该属性是一个用逗号分隔阴影的列表&#xf…

css添加边框阴影上、下、左、右详解

Css边框阴影&#xff1a;box-shadow属性 对于这个属性&#xff0c;总是记了又忘&#xff0c;忘记了又看百度&#xff0c;今天总结一下&#xff1b; 语法&#xff1a; box-shadow: h-shadow v-shadow blur spread color inset;注意&#xff1a;boxShadow 属性把一个或多个下拉…

【IMX6ULL驱动开发学习】02.IMX6ULL烧写Linux系统

由于我买的是正点原子的IMX6ULL阿尔法开发板&#xff0c;但是我是看韦东山老师视频学习的驱动 所以这里我烧录的方法是按照韦东山老师的课程来的 这里给出烧写Linux系统用到的工具 链接&#xff1a;https://pan.baidu.com/s/1bD-xxn3K8xQAVkJSaJmTzQ 提取码&#xff1a;af6w …

iMX6ULL启动流程

iMX6ULL启动流程 1. Boot ROM2. IVT和DCD3. 启动流程4. 总结 我移植的板子是讯为的TERMINATOR_V1.1开发板&#xff0c;参考板为官方 i.MX6ULL EVK开发板。 iMX6ULL uboot2021.04 linux5.15.32移植iMX6ULL启动流程iMX6ULL u-boot2021.04移植iMX6ULL linux5.15.32移植iMX6ULL bui…

IMX6ULL_Pro网卡配置

(15条消息) 【IMX6ULL_Pro板卡学习】配置 VMware 使用双网卡_vmware配置双网卡_爱学习的小莲的博客-CSDN博客https://blog.csdn.net/qq_52201194/article/details/127474352?ops_request_misc%257B%2522request%255Fid%2522%253A%2522168223524716800182730924%2522%252C%2522…

imx6 adb移植

参考https://blog.csdn.net/kunkliu/article/details/122746762 一、buildroot配置 1.udev必须选上 System configuration下 2.打开adb进程支持 3.添加配置脚本 &#xff08;1&#xff09;etc/init.d下创建文本文件 S91usb&#xff0c;内容如下&#xff08;注释掉了csdn中的两…

imx6设备树pinctrl解析

最近在移植linux&#xff0c;用到kernel版本为3.14.28&#xff0c;在高版本的内核源码中用到了设备树&#xff08;device-tree&#xff09;&#xff0c;设备树中用到pinctrl的配置&#xff0c;记录一下。 1、普通设置 在配置串口时&#xff0c;pinctrl的配置信息如下所示&#…

IMX6UL核心板

CPU:IMX6UL DDR:256M EMMC:4G NANDFLASH:1G 分立DCDC 需定制请联系QQ402979209 广州瀚忆科技有限公司 http://www.gzhysmart.com/

imx6 LCD 参数配置(lvds为例)

目前imx6的BSP开发中&#xff0c;lvds的参数配置一般在两个地方&#xff1a; 1. uboot的CMDLINE的参数设置&#xff0c;形如&#xff1a; videomxcfb0:devldb,bpp32 2. uboot板级代码中对struct display_info_t的配置&#xff0c;形如&#xff1a; static struct display_i…

IMX6U主频详解和配置

IMX6U默认396Mhz主频 可以达到528Mhz 一、时钟来源及组成 1、时钟的来源都是晶振 32.768khz的晶振 给RTC使用 24MHz的晶振给系统来使用 接在T16和T17这两个IO上 2、芯片时钟构成 七路PLL 全都由24Mhz晶振产生 使用这些的原因是为了方便外设使用 倍频产生 ①ARM PLL供给AR…

iMX6平台MAX9288调试

因为有之前Ti ds90ub964的调试经验&#xff0c;这次调9288只是当做一个常规的驱动调试&#xff0c;坑大也得到了宝贵的经验 9288&#xff08;GMSL--->MIPI CSI2&#xff09;解码器解码9291和9277编码器过来的gmsl信号 iMX6DQ的mipi csi接口寄存器控制的特性&#xff1a; …

【imx6ul】从头搭建imx6ul开发环境(uboot、内核编译及烧入、mfgtools详细使用方法)

实现一个自制的Bootloader见: 01-基于imx6ul从0自制Bootloader专栏实现总结_【星星之火】的博客-CSDN博客 硬件平台&#xff1a;自制imx6ul&#xff08;详见【ALLEGRO】从零制作imx6-PCB核心板全流程_【星星之火】的博客-CSDN博客&#xff09;系统&#xff1a;linux-4.1.15文件…

飞思卡尔IMX6处理器的GPIO配置方式

在linux或android系统中&#xff0c;假如我们要配置飞思卡尔IMX6处理器的GPIO管脚&#xff0c;比如是GPIO_19这个管脚&#xff0c;那么要像这样&#xff1a; #define MX6Q_PAD_GPIO_19__GPIO_4_5 \(_MX6Q_PAD_GPIO_19__GPIO_4_5 | MUX_PAD_CTRL(NO_PAD_CTRL))其中_MX6Q_PAD_…

迅为IMX6Q四核核心板商业级|工业级|IMX6Plus版本|IMX6D双核核心板

迅为IMX6Q核心板工业级/Plus版本 IMX6Q处理器&#xff1a;兼容单核&#xff0c;双核&#xff0c;工业级&#xff0c;汽车级&#xff0c;IMX6Q最新Plus版本&#xff0c;共用同一底板&#xff0c;高端产品无忧。 i.MX6系列针对消费电子、工业控制和汽车应用领域&#xff0c;它将…

imx6ull驱动开发经验

1、背景 imx6ull驱动开发基于正点原子的开发板&#xff0c;上面运行linux 4.1.15内核&#xff0c;根文件系统为ubuntu 16.05.5 LTS. 2、加载驱动文件chrdevbase.ko文件时&#xff0c;先使用depmod生成依赖文件时&#xff0c;提示无modules.order, modules.builtin无这两个文件…

【盘点】imx6的应用

导读: i.mx6系列应用处理器因其高性能&#xff0c;低功耗以及令人瞩目的多媒体功能等特性&#xff0c;被广泛运用于消费电子、工业以及汽车车载娱乐系统等新应用中。 今天为大家盘点一下启扬i.MX6嵌入式主板的部分实际应用。 以智能、多媒体为中心、基于触摸的设备市场正在迅速…

imx6 usb增强信号强度

USB信号 参考&#xff1a;官方文档 USB信号完整性取决于许多因素&#xff0c;如电路设计、PCB布局、堆叠和阻抗。每个产品可能彼此不同&#xff0c;因此客户需要微调参数&#xff0c;以获得最佳的信号质量。 测试板已经路由出两个USB端口:一个OTG1&#xff0c;一个主机。每个端…