- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想实现如下图所示的三重边框。
我尝试了以下解决方案,但 Angular 落看起来仍然不同。它没有重叠。
.dtborder {
position: relative;
border: 5px solid red;
height: 500px;
width: 500px;
background: #f8f8f8;
padding: 30px;
}
.dtborder:before {
content: "";
position: absolute;
top: 5px;
bottom: 5px;
left: 5px;
right: 5px;
border: 5px solid blue;
}
.dtborder:after {
content: "";
position: absolute;
top: 15px;
bottom: 15px;
left: 15px;
right: 15px;
border: 5px solid green;
}
<div class="dtborder ">This text appears inside a double bracket bordered div where you can control the gap between border lines.</div>
最佳答案
您可以考虑linear-gradient
,您可以无限缩放以拥有任意数量的边框。它可能看起来很复杂,但您会看到所有渐变都将具有相同的大小 (4px
),所以 [100% 4px]
用于水平渐变,[4px 100%]
垂直的。然后对于位置,我们每次删除/添加 8px
(或任何值) 以在每个渐变之间偏移。
.dtborder {
position: relative;
height: 200px;
width: 300px;
background:
/*First border*/
linear-gradient(red,red) 0 100%/100% 4px, /*Bottom*/
linear-gradient(red,red) 0 0/100% 4px , /*Top*/
linear-gradient(red,red) 0 0/4px 100% , /*left*/
linear-gradient(red,red) 100% 0/4px 100%, /*right*/
/*Second border*/
linear-gradient(blue,blue) 0 calc(100% - 8px)/100% 4px ,
linear-gradient(blue,blue) 0 8px/100% 4px,
linear-gradient(blue,blue) 8px 0/4px 100%,
linear-gradient(blue,blue) calc(100% - 8px) 0/4px 100%,
/*third border*/
linear-gradient(green,green) 0 calc(100% - 16px)/100% 4px,
linear-gradient(green,green) 0 16px/100% 4px,
linear-gradient(green,green) 16px 0/4px 100%,
linear-gradient(green,green) calc(100% - 16px) 0/4px 100%;
/*And so on ...*/
background-repeat:no-repeat;
padding: 30px;
}
<div class="dtborder ">This text appears inside a double bracket bordered div where you can control the gap between border lines.</div>
您可以像这样优化代码:
.dtborder {
position: relative;
height: 200px;
width: 300px;
background:
/*First border*/
linear-gradient(red,red) 0 100%,
linear-gradient(red,red) 0 0,
linear-gradient(red,red) 0 0,
linear-gradient(red,red) 100% 0,
/*Second border*/
linear-gradient(blue,blue) 0 calc(100% - 8px),
linear-gradient(blue,blue) 8px 0,
linear-gradient(blue,blue) 0 8px,
linear-gradient(blue,blue) calc(100% - 8px) 0,
/*third border*/
linear-gradient(green,green) 0 calc(100% - 16px),
linear-gradient(green,green) 16px 0,
linear-gradient(green,green) 0 16px,
linear-gradient(green,green) calc(100% - 16px) 0;
/*And so on ...*/
background-size:100% 4px,4px 100%;
background-repeat:no-repeat;
padding: 30px;
}
<div class="dtborder ">This text appears inside a double bracket bordered div where you can control the gap between border lines.</div>
也喜欢这样:
.dtborder {
position: relative;
height: 200px;
width: 300px;
background:
/*First border*/
linear-gradient(red,red) left 0 bottom 0,
linear-gradient(red,red) 0 0,
linear-gradient(red,red) 0 0,
linear-gradient(red,red) right 0 top 0,
/*Second border*/
linear-gradient(blue,blue) left 0 bottom 8px,
linear-gradient(blue,blue) 8px 0,
linear-gradient(blue,blue) 0 8px,
linear-gradient(blue,blue) right 8px top 0,
/*third border*/
linear-gradient(green,green) left 0 bottom 16px,
linear-gradient(green,green) 16px 0,
linear-gradient(green,green) 0 16px,
linear-gradient(green,green) right 16px top 0;
/*And so on ...*/
background-size:100% 4px,4px 100%;
background-repeat:no-repeat;
padding: 30px;
}
<div class="dtborder ">This text appears inside a double bracket bordered div where you can control the gap between border lines.</div>
关于html - 如何使用 CSS 创建三重重叠边框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49110694/
我正在尝试使用谷歌浏览器的 Trace Event Profiling Tool分析我正在运行的 Node.js 应用程序。选择点样本后,我可以在三种 View 之间进行选择: 自上而下(树) 自上而
对于一个可能是菜鸟的问题,我们深表歉意,但尽管在 SO 上研究了大量教程和其他问题,但仍找不到答案。 我想做的很简单:显示一个包含大量数据库存储字符串的 Android ListView。我所说的“很
我已经开始了一个新元素的工作,并决定给 Foundation 5 一个 bash,看看它是什么样的。在创建带有水平字段的表单时,我在文档中注意到的第一件事是它们使用大量 div 来设置样式。所以我在下
我有一个 Windows 窗体用户控件,其中包含一个使用 BeginInvoke 委托(delegate)调用从单独线程更新的第 3 方图像显示控件。 在繁重的 CPU 负载下,UI 会锁定。当我附加
我有一堆严重依赖dom元素的JS代码。我目前使用的测试解决方案依赖于 Selenium ,但 AFAIK 无法正确评估 js 错误(addScript 错误不会导致您的测试失败,而 getEval 会
我正在制作一款基于滚动 2D map /图 block 的游戏。每个图 block (存储为图 block [21][11] - 每个 map 总共 231 个图 block )最多可以包含 21 个
考虑到以下情况,我是前端初学者: 某个 HTML 页面应该包含一个沉重的图像(例如 - 动画 gif),但我不想强制客户缓慢地等待它完全下载才能享受一个漂亮的页面,而是我更愿意给他看一个轻量级图像(例
我正在设计一个小软件,其中包括: 在互联网上获取资源, 一些用户交互(资源的快速编辑), 一些处理。 我想使用许多资源(它们都列在列表中)来这样做。每个都独立于其他。由于编辑部分很累,我想让用户(可能
我想比较两个理论场景。为了问题的目的,我简化了案例。但基本上它是您典型的生产者消费者场景。 (我关注的是消费者)。 我有一个很大的Queue dataQueue我必须将其传输给多个客户端。 那么让我们
我有一个二元分类问题,标签 0 和 1(少数)存在巨大不平衡。由于测试集带有标签 1 的行太少,因此我将训练测试设置为至少 70-30 或 60-40,因此仍然有重要的观察结果。由于我没有过多地衡量准
我是一名优秀的程序员,十分优秀!