CSS 边框内的边框

2024-01-06

在...的帮助下CSS 三角形教程 http://css-tricks.com/snippets/css/css-triangle/,我学会了创建三角形。

.arrow-down {
    width: 0; 
    height: 0; 
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;   
        border-top: 20px solid #ccc;
}

我试图给三角形添加边框但我做不到。

what I achieved: enter image description here

Expected:(trying something similar border with gray) enter image description here

Check this JSFiddle http://jsfiddle.net/Q97T7/

被困住了,无从下手。我试过outline,但没有一个起作用(我知道它不起作用)。

感谢您花时间阅读我的问题。

任何帮助表示赞赏。

Note:我正在 CSS 中尝试这个,而不是使用图像。


当主三角形或箭头本身使用 CSS 边框创建时,如果不使用额外的元素就不可能向其添加另一个边框。以下是一些选项。

选项1:使用更大尺寸的伪元素并将其放置在父元素后面以产生边框效果。

.arrow-down {
  position: relative;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #ccc;
}
.arrow-down:before {
  position: absolute;
  content: "";
  left: -22px;
  top: -20px;
  height: 0px;
  width: 0px;
  border-left: 21px solid transparent;
  border-right: 21px solid transparent;
  border-bottom: 21px solid transparent;
  border-top: 21px solid black;
  z-index: -1;
}
<div class="arrow-down"></div>
.arrow-down:before {
  position: absolute;
  content: "";
  left: -22px;
  top: -20px;
  height: 0px;
  width: 0px;
  border-left: 21px solid transparent;
  border-right: 21px solid transparent;
  border-bottom: 21px solid transparent;
  border-top: 21px solid black;
  z-index: -1;
}

选项2:旋转元素(它具有边框黑客以产生三角形),然后添加一个box-shadow to it.

.arrow-down {
  width: 0;
  height: 0;
  margin: 10px;
  border-left: 0px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid #ccc;
  -ms-transform: rotate(225deg);  /* IE 9 */
  -webkit-transform: rotate(225deg);  /* Chrome, Safari, Opera */
  -moz-transform: rotate(225deg);
  transform: rotate(225deg);
  box-shadow: 0px -3px 0px -1px #444;
}
<div class="arrow-down"></div>
.arrow-down {
  width: 0;
  height: 0;
  margin: 10px;
  border-left: 0px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid #ccc;
  transform: rotate(225deg); /* browser prefixes added in snippet */
  box-shadow: 0px -3px 0px -1px #444;
}

在 Chrome v24 和 Safari v5.1.7 中测试。也应该适用于其他 CSS3 兼容浏览器。


以下选项不能直接回答问题,因为它不会在边框内添加边框,而是生成带边框的箭头/三角形的其他方式。

选项 3:在元素上使用线性渐变,旋转它以生成三角形,然后使用正常边框属性为其添加边框。

.arrow-down {
  width: 30px;
  height: 30px;
  margin: 10px;
  border-left: 2px solid #444;
  background: -webkit-linear-gradient(45deg, #ccc 50%, transparent 50%);
  background: -moz-linear-gradient(45deg, #ccc 50%, transparent 50%);
  background: -o-linear-gradient(45deg, #ccc 50%, transparent 50%);
  background: linear-gradient(45deg, #ccc 50%, transparent 50%);
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-backface-visibility:hidden; /** <-- to prevent diagonal line aliasing in chrome **/
}
<div class="arrow-down"></div>
.arrow-down {
  width: 30px;
  height: 30px;
  margin: 10px;
  border-left: 2px solid #444;
  background: linear-gradient(45deg, #ccc 50%, transparent 50%);
  transform: rotate(-45deg);
  backface-visibility:hidden;
}

选项 4:使用旋转的伪元素(以背景作为三角形的颜色)生成三角形,然后为其添加正常边框。父元素的溢出设置为隐藏,并且伪元素被适当定位,以便仅显示其一半(创建三角形的错觉)。

.arrow-down {
  position: relative;
  height: 50px;
  width: 50px;
  overflow: hidden;
}
.arrow-down:before {
  position: absolute;
  content: '';
  top: -webkit-calc(100% * -1.414 / 2);
  top: calc(100% * -1.414 / 2);
  left: 0px;
  height: 100%;
  width: 100%;
  background: #CCC;
  border-left: 2px solid #444;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
<div class="arrow-down"></div>
.arrow-down:before {
  position: absolute;
  content: '';
  top: calc(100% * -1.414 / 2);
  left: 0px;
  height: 100%;
  width: 100%;
  background: #CCC;
  border-left: 2px solid #444;
  transform: rotate(-45deg);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS 边框内的边框 的相关文章

  • CSS3 中均匀间隔的导航链接占据 ul 的整个宽度

    我想创建一个水平导航链接列表 其中导航链接均匀分布并占据封闭容器的整个宽度 ul 导航链接可以有不同的宽度 第一个和最后一个链接应与链接的开头和结尾对齐 ul 分别 意味着链接不居中 如下所示 left side right side li
  • CSS3 转换会立即发生吗?

    我有一个名为 artwork需要动画化 artwork webkit transition all 20s ease in transition all 20s ease in width 75 display block margin 0
  • 如何设置引导开关的 css 颜色?

    如何在此引导开关中将蓝色更改为另一种颜色 我尝试更改输入元素的颜色和背景颜色 但它没有更改开关颜色 这是 html 和 bootstraplink https getbootstrap com docs 4 2 components for
  • 输入和文本字段中的背景颜色

    我想更改表单文本和输入字段中的颜色背景 但是当我这样做时 它也会影响提交按钮 是否可以通过其他不影响按钮的方式来完成 我用过这段代码 input textarea background color d1d1d1 input type tex
  • 在打印 CSS 上在每个页面周围绘制边框?

    打印时我需要在每个页面周围绘制边框 我最初是使用带有分页符的 div 来完成此操作 例如 media print contentContainer position inline height 98 width 100 top 0px le
  • 夜间值班。单击带有文本的元素

    我遇到问题 无法单击具有某些独特文本的网页元素 我有这样的结构 div class wg wagon type title Text div 我试试这个 click wg wagon type title contains Text 但我有
  • 单击输入字段会触发窗口调整大小

    我有一个带有徽标 菜单和搜索的标题 当我在桌面上时 我会按该顺序显示所有元素 但如果我的窗口宽度小于 980 像素 菜单会隐藏 有一个切换按钮 并且徽标会与nav并附在徽标之后 如果宽度更大 则徽标将再次分离并附加到 DOM 中的旧位置 w
  • 使用溢出时无法隐藏滚动条:auto

    我有这个CSS div background color red position relative height 414px overflow auto width 902px margin 0px auto 我尝试过overflow y
  • c# 如何生成锦标赛括号 HTML 表

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • 显示班级图片 10 秒

    我有下面给出的代码显示9 boxes 其值如下digital time 还有一个班级box002显示digits相当于随机选择的九个盒子的值 box002 can be dragged to digital time starting wi
  • `ie9` - contenteditable false 在父级可编辑时不起作用

    我正在尝试制作内容可编辑和不可编辑的容器 用户可以通过 3 种方式使用它 他们可以将内容与non editable 他们可以将内容与editable 他们可以在不选择其中之一的情况下放置内容 可编辑 我正在努力实现以下目标 content
  • 文本后面有粗下划线

    如何使用 span 和 css 在文本 ABC 后面重现这种下划线 我已经能够做下划线below嵌套的文本span和彩色的border bottom 但无法获取behind图像和above文本基线 p style font size 48p
  • 如何更改 Shiny 中 navbarPage 折叠的断点

    我想用shiny navbarPage collapsible TRUE 当在小屏幕上查看我的 Shiny 应用程序时 将导航元素折叠到菜单中 默认情况下 当浏览器宽度小于 940 像素时会触发折叠 有什么方法可以改变这一点 以便在稍大的浏
  • 使用滤镜将css3灰色图像转为蓝色?

    我正在尝试将灰色图像变为更蓝色的色调 真的不知道如何为此设置滤镜或是否可能 该图像只有一种颜色 cacaca 其余部分透明 我正在尝试使用相同的图像进行一些叠加 以便它仅突出显示那些彩色部分而不是透明区域 一直在尝试其中的一些 但没有取得多
  • CSS 的波浪形状

    我正在尝试使用 CSS 重新创建此图像 我不需要重复它 这就是我开始的 但它只有一条直线 wave position absolute height 70px width 600px background e0efe3 div div 我认
  • CALayer边框奇怪问题

    我正在向 CALayer 添加边框 但有一些奇怪的行为 在我应用的边框之后出现模糊边框 参见屏幕截图 这是我的代码 void configureLabel self hidden YES self textAlignment NSTextA
  • 如何动态打破 FlexBox 列以开始新列

    I have a dynamic list of items containing text placed column wise which I need to break after every 5th item 我只有两个限制 每个
  • 每 3 秒重复一次动画

    我正在使用 WOW js 和 animate css 现在我正在将 CSS 运行到 Infinite 我想知道如何让我的课程运行 3 秒停止并再次开始到无限 My html img src images fork png class for
  • 如何在使用页面锚点导航时设置“激活”类以在 Angular 2 中引导导航栏?

    我正在使用 Angular 2 和 Bootstrap 4 创建一个单页网站 我创建了一个始终位于页面顶部的导航栏组件 并且我正在使用页面锚点导航 id 请注意 我还没有创建路由模块 到目前为止还没有必要这样做 导航栏代码如下
  • CSS 是否有不等于选择器?

    CSS中有类似 不等于 的东西吗 例如 我有以下代码 input 但对于某些输入 我需要将其作废 我想通过将类 reset 添加到输入标签来做到这一点 例如

随机推荐

  • QML 是否支持属性的访问说明符(例如 Private)?

    我只是想知道 QML 中是否有像 C 中那样的私有属性等概念访问说明符 如果没有 是否想知道我的 QML 组件中有大约 10 个属性 但我必须限制仅访问 2 个属性 我们怎样才能实现这个场景 QML 本身没有这样的内置功能 但这里是 Qt
  • 如何获取 3D 维数组并将其转换为模型?

    我正在使用 Open CV 并且可以使用代码从图像中提取多维数据 但是显示它的简单方法是什么 我有一个 3D 数组 line start x y z line end x y z 线条之间的任何内容都将被坚实的平面填充 是否有某种函数可以用
  • 以编程方式向视图添加多个按钮,调用相同的方法,确定它是哪个按钮

    我想以编程方式将多个 UIButton 添加到视图中 按钮的数量在编译时未知 我可以像这样制作一个或多个 UIButton 在循环中 但为了简单起见而缩短 UIButton button UIButton buttonWithType UI
  • 从 *.wav 文件中提取幅度列表以在 Python 中使用

    我在编程和转换方面遇到了一些麻烦 我正在设计一个人工智能来识别乐器演奏的音符 并需要从波形文件中提取原始声音数据 我的目标是对文件中的时间块执行 FFT 运算以供 AI 使用 为此 我需要音频文件的幅度列表 但我似乎找不到可行的转换技术 这
  • 另一个“连接被对等方重置”错误

    我正在使用套接字模块在 python 中创建服务器 客户端应用程序 并且出于某种原因我的服务器不断结束连接 奇怪的是 它在 Windows 中完美运行 但在 Linux 中却不行 我到处寻找可能的解决方案 但没有一个有效 下面是代码的清理版
  • .NET 4.7.2 ASP.NET WebForms 网站中的依赖注入 - 构造函数注入不起作用

    我们目前正在处理一个较旧的项目 ASP NET Web 表单网站 并尝试看看是否可以为其设置依赖项注入 需要强调的是 这不是一个 Web 应用程序项目 它是较旧的类型 即网站 目前它的目标是 NET 4 7 2
  • 如何反向路由静态文件?

    起初我有一个 Twitter 图标的链接 public images twitter icon png 但现在我想根据类型显示 Twitter Facebook 或 LinkedIn 图标 因此 我创建了一个 FastTag 它将类型作为参
  • 应用程序启动后无法立即使用 ShowCursor(FALSE) 隐藏鼠标光标

    我需要在应用程序启动后立即隐藏鼠标光标 我为此使用 ShowCursor FALSE 但通常在 ShowCursor FALSE 之后 光标仍保留在屏幕上 直到鼠标移动 我和其他人在 Windows XP 到 10 的不同 PC 上重现了这
  • MySQL中如何计算当前行与上一行之间的时间差

    我有这样的 mysql 表 t1 我想要做的是在所有行之间进行计算并将值保存在名为 diff 的新列中 TICKETID DATENEW DIFF 16743 12 36 46 0 16744 12 51 25 15 minute 1674
  • unescape后如何转义嵌入的JSON

    使用 Json NET 进行序列化时 我需要在之前反序列化时取消转义之后转义嵌入的 JSON 这意味着我根据以下 JSON 进行了转义this https stackoverflow com questions 39154043 how d
  • leetcode:使用链表将两个数字相加

    我正在尝试解决涉及链表的中级问题之一 它是这样的 给您两个表示两个非负整数的非空链表 这些数字以相反的顺序存储 并且每个节点都包含一个数字 将两个数字相加并以链表形式返回总和 您可以假设这两个数字不包含任何前导零 除了数字 0 本身 蟒蛇代
  • 不剪辑内容的剪辑路径

    我正在尝试使用剪辑路径创建形状背景 但我不想剪辑该 div 的子项 内容 这是代码 div webkit clip path polygon 0 57 100 21 100 100 0 100 clip path polygon 0 57
  • sonarRunner 权限不足错误

    我在运行声纳时遇到权限不足的错误 在我将 sonarQube 升级到 5 0 后 这种情况开始发生 错误 声纳运行程序执行期间出错 错误 无法执行声纳 错误 原因 无法装饰 org sonar api resources File 152f
  • 无法建立 SSL/TLS 安全通道的信任关系:根据验证过程,远程证书无效

    我有一个 ASP NET MVC Web 应用程序 它已经在生产环境中运行了大约 4 年 从大约一周前开始 我突然发现对第 3 方安全 API 的所有调用都返回此错误 System Net WebException 底层连接已关闭 可以 不
  • 如何仅使用 DOM 将所有元素上的一个类替换为另一个类?

    我只想将一个类名更改为另一个类名 我尝试过使用 document getElementsByClassName current setAttribute class none 但它不起作用 我是 JavaScript 新手 解释 docum
  • 关闭并重新打开 Realm 实例是否会影响性能?

    使用 SQLite 时 我通常每个应用程序都有一个 SQLiteOpenHelper 实例 并且我从不关闭它 因为它的数据库被许多其他类连续使用 关闭 重新打开它会更慢 更复杂 现在我正在研究 Realm 并且计划仅从数据访问对象访问 Re
  • 无法使用 php pdo 从数据库返回正确的行数

    我试图从数据库中的表返回行计数 但仍然得到错误的值 我需要行计数来处理分页的子集值 我的表中有 11 项 但我只返回 1 项并且不明白为什么 我的外部连接文件 try pdo new PDO mysql host localhost dbn
  • 比较两个 Joda-Time DateTime 对象

    我正在处理的事情与这里所问的非常相似 比较 Joda Time 时区 https stackoverflow com questions 15165788 compare joda time zones 15165833 noredirec
  • 对我的应用程序的大小感到困惑?

    我对我的应用程序的大小有点困惑 该文件夹和所有内容的大小为 25 9MB 在 Xcode 中存档后 它显示 估计 App Store 大小 49 8MB 有人知道这是为什么吗 Thanks 您是否正在为armv6和armv7进行编译 如果您
  • CSS 边框内的边框

    在 的帮助下CSS 三角形教程 http css tricks com snippets css css triangle 我学会了创建三角形 arrow down width 0 height 0 border left 20px sol