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 边框内的边框 的相关文章

  • 将特定字形与网络字体一起使用

    使用网络字体 我想使用字体功能设置 CSS 中的选项以及跨度类HTML 中 以便使用字体集中的特定替代字形 我需要以正确的语法使用哪些值 GID Unicode 才能定位特定的目标glyph内glyph备择方案 这些功能使用 OpenTyp
  • PDF 在 Safari 中隐藏 Jquery Modal

    这是与我有关的事情this https stackoverflow com questions 24052681 pdf hide jquery modal in ie问题 在 IE 中 我在对话框中使用 iframe 解决了问题 所以它工
  • Bootstrap 导航栏与 Google 位置重叠自动完成下拉菜单

    我有一个导航栏 我试图在其中添加一个地点搜索框 除了谷歌位置提示框的一小部分被导航栏重叠 如下图所示 之外 一切几乎都有效 我尝试过改变z index输入框的值改为10或2000或90000但似乎没有效果 我还缺少其他需要做的事情吗 这是
  • ng-include 和 ng-view 不同时加载

    下面是我的应用程序的结构 很简单 页眉和页脚是非常小的文件 而主页上的 ng view 要大得多 当我进入该页面时 我注意到了这一点 首先加载两个 ng include 然后 ng view 出现 页脚被推到底部 页脚闪烁大约 0 1 秒
  • 为什么使用 iPhone 或 iOS 设备在“iframe”中查看“position:fixed”时不起作用?

    我研究过 stackoverflow 似乎position fixed在 iOS 移动设备的 iframe 中 https stackoverflow com questions 15874910 position fixed and if
  • chrome 中选择选项元素的额外填充

    我有一个选择元素 用户可以在其中选择分类和描述 仅在 Chrome 浏览器中 我有一个额外的填充 无法使用 padding 0 或其他 css 标签删除它 Chrome 的屏幕 https i stack imgur com m3iIb p
  • 将图像编码为base64有什么效果?

    如果我将图像 jpg 或 png 转换为 base64 那么它会更大 还是具有相同的大小 会大多少呢 是否建议在我的网站上使用 Base64 编码的图像 大约会大 37 非常粗略地说 Base64 编码的二进制数据的最终大小等于原始数据大小
  • Bootstrap Affix Nav 导致下面的 Div 向上跳转

    我使用 Bootstrap 的 Affix 函数创建了一个 JSFiddle 以便在向下滚动并且标题移出视图时使导航保持在屏幕顶部 我遇到的问题是 当使用纯 HTML 时 导航下方的文本会过早地跳起来并隐藏在导航后面 查看有问题的代码her
  • CSS使背景图像使用字体字符

    我想使用字体字符 例如来自 font awesome 作为输入元素的背景图像
  • 增加数字输入、CSS、HTML 上的向下和向上箭头的大小

    有没有办法利用CSS来增大数字输入框右侧的上下箭头的大小 只是向上和向下箭头 而不是整个输入框 或者至少是按比例的 看这个例子 size 36 font size 36px size 12 font size 12px
  • 动态表单标签宽度的 CSS

    我目前正在重构我们的表单控制器之一 以便我们可以将其用于面向公众的网站 目前它正在为表单生成表格布局 但我正在尝试使用 CSS 表单来完成它 我正在尝试重现看起来像这样的东西http www stylephreak com uploads
  • CSS:水平滚动时背景不存在

    好的 我的背景设置如下 HTML div div CONTENT HERE div div CSS container background url image gif content width 800px margin auto 因此
  • 使用deployJava.runApplet来定位特定元素

    经过多年成功维护一个使用旧有的小程序 嵌入Java小程序的方法 我们无法捂住耳朵唱 啦啦啦 不再了 是时候使用 deployJava runApplet 当我使用点击处理程序触发此方法时 此处通过 jQuery 在按钮上使用事件侦听器 但这
  • iOS UIButton 带有圆角和背景 bug

    我发现圆形 UIButton 存在一个奇怪的问题 这是我创建此按钮的代码块 let roundedButton UIButton type System roundedButton frame CGRectMake 100 100 100
  • 如何使用 a-href 标签链接回文件夹? [复制]

    这个问题在这里已经有答案了 好吧 我在文件夹中有一个页面 该页面称为 jobs html 该文件夹简称为 jobs 它是我的 网站 文件夹的子文件夹 在 main 文件夹的主目录中是我的 home html 文件 当我尝试做的时候 a hr
  • 如何将此 HTML 表格布局解决方案转换为浮动 div 解决方案?

    我经常需要列出各种尺寸的项目images在左边和text在右边 像这样 替代文本 http www deviantsart com upload 7s01l5 png http www deviantsart com upload 7s01
  • 如何在背景剪辑中包含文本装饰:文本;影响?

    我在用 webkit background clip text border and color transparent在锚标记上 下划线似乎永远不可见 我想要的是将文本装饰包含在背景剪辑中 这是我的CSS background clip
  • 如何将送货地址复制到帐单地址

    我想知道是否可以将送货地址复制到帐单地址 当用户单击与送货地址相同的复选框时 送货地址值将被复制到账单输入字段 我完成了大部分部分 但我不确定如何将选择菜单 状态 值复制到帐单地址 我真的很感谢任何帮助 My code document r
  • Twitter 嵌入时间轴小部件

    我继续下载http platform twitter com widgets js http platform twitter com widgets js And the http platform twitter com embed t
  • 为范围旋钮 ionic-range 添加边框颜色

    我正在使用离子范围添加范围滑块 并想向范围旋钮添加边框 由于它的 ionic4 和范围旋钮是 Shadow dom 的一部分 我无法使用范围旋钮的 border 属性直接更改边框 我已附上我想要实现的图像 范围旋钮周围有白色边框 现有属性只

随机推荐

  • 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