css - 对象内的 HTML/CSS 边框阴影
问题描述
我正在寻找一种方法来制作具有实心阴影边框的列表,看起来就像第二个边框,而不使用图像作为边框,因为它将用于更改文本,这意味着宽度也会发生变化。
我的目标是:
但是没有添加带有负 z-index 的第二个对象,并且没有使用脚本使所有内容复杂化以更改宽度等。我得到的唯一结果是
使用的 CSS 代码将非常简单
li {
padding: 5px;
display: inline-block;
border: 1px solid #718496;
-webkit-box-shadow: 1px 1px rgba(68, 150, 210, 0.5);
box-shadow: 1px 1px rgba(68, 150, 210, 0.5);
border-radius: 10px;
height: 18px;
}
*仅带有图标的框仅用于展示我所追求的效果,而不是我需要它的唯一框。
如果没有第二个带有边框的对象,是否有可能实现这种效果?
解决方案
border-shadow
最多可以使用 6 个参数(完整定义请参见mdn doc #values):
- offset-x:水平偏移
- offset-y:垂直偏移
- blur-radius:阴影外部的模糊效果
- spread-radius:纯色(无模糊)厚度
- 颜色:这里不需要描述:)
- 插图:(兼任)如果你想让你的影子进入你的街区
为了实现你想要的,你需要使用blur-radius
&spread-radius
而不是offset-xy
你当前使用的。
这是一个例子:
div{
display: inline-block;
margin: 20px;
padding: 5px;
background-color: #aaf;
}
#id1{
box-shadow: 0 0 0 15px #55f;
}
#id2{
box-shadow: 0 0 15px 15px #55f;
}
#id3{
box-shadow: 0 0 0 2px #55f;
}
#id4{
box-shadow: 0 0 3px 3px #55f; /* here's what you want */
}
<div id="id1">sharp thick border without blur</div>
<div id="id2">thick border with blur</div>
<div id="id3">thin border without blur</div>
<div id="id4">thin border with blur</div>
编辑:因为我的屏幕上的颜色很糟糕,所以没有看到你想要的东西。
这是片段(我将边框设置为 3px 宽,以使人们清楚地看到您在说什么)。
*{
background-color: #ddd;
}
div{
margin: 20px;
width: 50px;
height: 50px;
border: 3px solid #aaf;
box-shadow: 3px 3px 0 0 #00a,
3px 3px 0 0 #00a inset;
}
<div id="id1"></div>
推荐阅读
- javascript - Sqlite外键不匹配sequelize迁移
- apache-kafka - 反应式 Kafka 项目中的多个 Kafka 配置
- powershell - 用于将用户添加到 Active Directory 中的不同域的 PowerShell 脚本
- javascript - 如何为我的 .jshintrc 文件设置自定义位置/路径?
- php - 使用通配符将两个文件删除函数合二为一 - PHP
- python - 仅当命令来自带有 discord.py 的某个用户 ID 时才回复命令
- statistics - 从 PDF 中查找 CDF
- c# - Entity Framework Core 不加载关系对象
- c - WaitForMultipleObjects 不会在 Wine 中发出标准输入信号
- reactjs - 使用 UseEffect 时如何停止嵌套的 uri 重定向