HTML
您可以使用单个 div 来创建它们。为每个方向的可能性创建类会很好。
<div class="arrow-up"></div>
<div class="arrow-down"></div>
<div class="arrow-left"></div>
<div class="arrow-right"></div>
CSS
这个想法是一个宽度和高度为零的盒子。箭头的实际宽度和高度由边框的宽度决定。例如,在向上箭头中,底部边框为彩色,而左右边框为透明,从而形成三角形。
.arrow-up {
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-bottom: 5px solid black;
}
.arrow-down {
width: 0;
height: 0;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
border-top: 20px solid #f00;
}
.arrow-right {
width: 0;
height: 0;
border-top: 60px solid transparent;
border-bottom: 60px solid transparent;
border-left: 60px solid green;
}
.arrow-left {
width: 0;
height: 0;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
border-right:10px solid blue;
}
演示
查看 CodePen 上 Chris Coyier (@chriscoyier) 的笔 解释 CSS 三角形的动画。
示例
Dave Everitt 在文章中写道
对于等边三角形,值得指出的是高度是宽度的 86.6%,因此 (border-left-width + border-right-width) * 0.866% = border-bottom-width
太神奇了!我无法理解!
我也是..相当棘手!
你好。
我怎样才能改变三角形内部的颜色?
还有,如果我只需要确保三角形的底部不存在,我该怎么做呢?
嘿,Ayush!你可以通过更改可见边框的颜色来更改三角形的颜色
嘿,非常感谢!
它起作用了!
但是你能告诉我如何为这种类型的三角形添加边框吗?(因为它仅由 div 的边框组成!!)
嘿,Tarun!
因为它仅由边框组成,所以你所能做的就是增加边框的大小,如果你真的希望这样做,因为这是你能对它做的全部操作。并且你必须给出与边框大小相等的负边距以保持对齐。
酷炫的解释!
很棒的解释
如果有人感兴趣,我将此转换为 Sass 混合。
我在本文中添加了一点内容,以实现相同的效果,但使用了一些功能性的 SCSS 来拯救 DRY。
http://powdertothepeople.tv/2015/06/29/Functional-SCSS/
感谢清晰的解释!
有几个页面展示了如何在工具提示等上放置箭头,但它们让我完全无法理解它们是如何工作的。现在,终于,感谢此页面,我明白了!
太棒了。之前无法理解。这个解释击中了要害。非常感谢!
它基本上就像一个巨大的 3D 边框角。(当左右边框颜色不同时,边缘是斜的,这就是用来制作这个三角形的方法)。
谢谢,TeMc,现在一切都说得通了。
顺便说一句,玩弄内部 div 的右边框宽度,并改变三角形的形状和大小很有趣!
感谢您解释清楚.. 还要感谢管理员分享如此棒的技巧 :) 我非常感谢这个网站.. :)
感谢提醒!我已经很久没有注意到不同的边框颜色是如何一起作用的了(想想表格单元格)。
巧妙。我喜欢看到 CSS 做一些它不应该做的事情
你能旋转它吗?
是的
显然,用你想要的任何东西替换“1”!
http://www.cssplay.co.uk/menu/flag
哇,你的链接上的旗帜做得很好…
另外,我想问一下为什么使用“dashed”而不是“solid”?我无法理解其中的区别..
再次致敬并祝贺。
哇!太棒了!
嗨,“dashed”使其在角度不是 90° 时能够很好地呈现。
这是我经常用于各种事物的示例
您可以玩弄边框大小以获得不同的深度等。
这是最简单的示例,我喜欢它
谢谢,Otto。在找到这篇文章之前,我不确定边框颜色的 2 个值的语法是什么,这可能对其他人有所帮助;
https://mdn.org.cn/en-US/docs/Web/CSS/border-color
太酷了!喜欢它的解释方式
有人知道为什么这在 WebKit 中看起来很糟糕吗?
http://img825.imageshack.us/img825/3002/screenshot20100830at827.png
也许 WebKit 无法以正确的方式绘制它?
如果三角形的尺寸不对称,你就会得到这些锯齿状的线条。出于某种原因,它在 Webkit 中似乎更明显——我不确定为什么。
你可能已经解决了这个问题,但无论如何还是说一下
对于 webkit,要使线条平滑,请添加以下规则
transform: rotate(360deg);
根据箭头的方向尝试不同的角度。
尝试向三角形添加“box-shadow: 0 0 2px orange;”。它可能会有帮助。如果没有,减少其中的“2px”或增加它将改变阴影的模糊强度。
喜欢它。谢谢。
很酷的技巧,我在其他地方看到后第一次尝试它。
然后我在这个网站上看到了常春藤叶子的技巧,如果你想让三角形随文本缩放,可以将常春藤叶子改为三角形。
向下:\25bc
向上:\25b2
向右:\25b6
我找不到“地图”,但如果你尝试更改 URL 中的最后 4 位数字,你可以找到各种很酷的东西。
http://www.decodeunicode.org/en/u+25bc
这太棒了!!感谢分享。。
您可以使用这些三角形在 IE6 中创建实时 3D 对象。是的,IE6!
http://www.uselesspickles.com/triangles/
边框也可以建造房子
http://www.designdetector.com/tips/3DBorderDemo2.html
我在 Firefox 5.0(Win)中注意到此技术的一个小问题。FF 5.0 在三角形的前侧渲染了一个浅色笔画。这是一个复制此问题的 jsFiddle 链接
http://jsfiddle.net/brightlight/4DmFk/
显然,您需要在 FF 5.0(Win)中查看它才能看到我所说的内容。
更新:将元素透明侧的边框样式更改为“inset”似乎解决了 Firefox 5 和 6 中的此问题。即使在调整边框样式后,其他浏览器仍会继续正常渲染三角形。
感谢 inset 提示!我尝试了一整天来消除那条细笔画!!
很棒的教程。
@ted:关于“inset”的绝佳提示。一直在思考奇怪的微型边框的原因!
在以下场景中,我在 Safari、IE 和一些 FF 中遇到了像素化问题。还有其他人遇到过这种情况吗?
.point_bottom {
border-left: 200px solid transparent;
border-right: 200px solid transparent;
border-top: 80px solid #FF0000;
bottom: 0;
height: 0;
left: -101px;
position: absolute;
width: 0;
}
如果三角形不对称,它看起来就不会平滑。基本上,这就像尝试在位图图像中以 30 度角绘制一条直线。这条线总是看起来有点锯齿状。
此技巧只是利用了 CSS 的行为——我不认为 CSS 的本意是做这种事情。如果您想要以任何角度绘制真正的直线,您可能需要探索 SVG。
这对我很有效,可以使线条平滑:http://stackoverflow.com/a/9945375
现在如何才能很好地在三角形上添加一个投影呢?那将是太棒了……
您可以使用伪元素来实现一些有限的投影。只需将其放置的位置与原始三角形略有不同,然后更改颜色和/或透明度。此效果搭配一点旋转看起来也很不错。我最近在 NetTuts 的一篇帖子中看到了它。
是否可以在 [提交] 按钮上使用它?
所以最终结果看起来像这样 https://skitch.com/iestynx/fa6et/artwork
我对这方面不太了解,所以如果这是一个愚蠢的问题,请见谅。
谢谢
Lestyn,
我想按钮无法使用 div 来实现。我尝试使用两个 div 创建相同的按钮,但得到了相同的结果。
这是我的尝试
http://jsfiddle.net/smkarthick/vb5Tv/3/
一些人报告的边缘不准确的问题是由于抗锯齿和
transparent
等于rgba(0, 0, 0, 0)
——透明黑色。与抗锯齿结合使用时,会产生与作者意图不符的结果。我不知道 2009 年年中是否有任何浏览器使用抗锯齿,但现在,Firefox 明显使用了。我正在撰写一篇博文(作为开始写博客的一部分,这使得它花费了更长的时间……)来处理这个特定主题,包括完整的细节、解释、注意事项等,我最初计划等到完成之后再发布。但由于我开始计划已经有好几个星期了,而且可能还需要至少同样多的时间才能准备好并发布,所以我认为我应该在为时过晚之前阻止人们在不理解的情况下使用
transparent
。我的总体建议是避免使用
transparent
,除非您知道它适用(即黑色是接触颜色)。如果您必须关心不支持rgba()
值的浏览器(IE8 及更早版本),则将其指定为transparent
,并在其后添加一个border-left/right/top/bottom-color
值,使用正确的rgba
值来覆盖它并使其正确。我刚刚尝试解决抗锯齿问题,发现如果我设置边框宽度使三角形对称,然后对三角形进行缩放变换以将其拉伸到正确的尺寸,它会强制浏览器对边缘进行抗锯齿处理并消除锯齿状。
转换技巧在 webkit 中非常有效!
不幸的是,对我来说,它在 Firefox 中引入了问题。每当我放大或缩小三角形时,现在三角形中间都会出现一个垂直分割线……
http://jsfiddle.net/bensmithett/fEjJ3/
嗨,
IE9 中的三角形设计问题
我注意到,如果您使用此方法将按钮样式化为箭头,则在 IE9 中会出现问题。如果您为所有 4 个边框定义样式,它将显示所有边框(即使它们是透明的)。由于您希望重置所有边框以避免默认按钮样式,因此会导致问题。它还会对尺寸做一些奇怪的事情,因此即使您只定义了所需的 3 个边,它看起来也不正确。
到目前为止,我发现的最佳解决方法是使用 <a>(或 div),即使它不太语义化。
嗨 Chris,我在 vimeo 上观看了你的视频,你讲得太快了。我很想能够创建具有可变文本宽度的倾斜导航选项卡。我一直在尝试修改一个 PVII 菜单集,但遇到一个问题,我不确定箭头是否可以解决,因为边框的宽度问题。我只能通过示例向您展示我正在尝试用 CSS 复制的项目的基于固定宽度图像的版本
http://heavy-construction.us/
注意悬停时的黄色线条边框。现在这是迄今为止的项目:http://heavy-construction.us/test.html。使用箭头让我创建了一个倾斜的选项卡,但悬停时失去了黄色边框。现在我正在为导航按钮的每个状态使用重复的图像渐变作为背景,我可以将其替换为 CSS3 渐变填充,但我认为我看到的任何东西都无法创建狭窄的 45 度黄色边框,除非可能是 2 个重叠的三角形?
使用渐变按钮取得了一些进展
http://heavy-construction.us/test3.html
这是基于 DW 中菜单的 Spry Widget,但由于某种原因,它没有在菜单选项卡的左侧开始渐变。
而且我还没有弄清楚如何在悬停时添加黄色 45 度边框。
嘿 Jeff,你能否分享视频链接?我也看过那个视频,但只是丢失了链接。
好吧,我使用黄色标志而不是轮廓边缘使其工作了
http://heavy-construction.us
感谢教程!我将它与 em 大小结合使用以使其动态工作——查看一下!
http://thinkcloud.ly/snippets/tooltips.html
我在 Chrome 中注意到一个有趣的事情,当所有箭头设置为相同大小时,.arrow-right 比其他箭头高 2px。
如何使文本与箭头对齐?谢谢!
line-height: 0
将垂直居中对齐文本,并且您应该应用填充以防止文本覆盖箭头。这太棒了!谢谢
div{
height: 0px;
width: 0px;
}
div.left-arrow {
border: 20px solid #fff;
border-right: 20px solid #abc;
border-left:none;
}
div.right-arrow {
border: 20px solid #fff;
border-left: 20px solid #abc;
}
div.down-arrow {
border: 20px solid #fff;
border-top: 20px solid #abc;
border-bottom:none;
}
div.up-arrow {
border: 20px solid #fff;
border-bottom: 20px solid #abc;
border-top:none;
}
来自: http://kougiland.com/css-triangle.html
大家好!我刚刚制作了一个简单的生成器
http://apps.eky.hk/css-triangle-generator
非常感谢!很棒的生成器!
几周前我在不知道它是你的情况下使用了它,它非常有用。
很棒的作品,恭喜!
生成器做得太好了!!
生成器做得非常好!
感谢您提供的精彩教程!
问题:是否可以将多个这样的“三角形”分配给一个元素?我正在考虑通过将多个基于边框的三角形分配给一个正方形
div
来创建星形。这会起作用吗,还是:after
伪类阻止了这种情况?如何设置自动宽度?它正在获取其父 div 的宽度。我尝试了所有类型,例如 auto…还有其他技巧吗?
伙计,有问题的火狐浏览器正在显示灰色边框:( 即使使用 before 和 after 也无法正常工作
尝试使用白色!
.arrow-right {
width: 0;
height: 0;
border-top: 60px solid transparent;
border-bottom: 60px solid transparent;
border-left: 60px solid #FFF;
}
参见上面 Ted 的评论关于内嵌边框
这应该可以解决您的问题。
看起来很棒。我对这个级别的 CSS 完全是新手。我需要快速学习如何显示一个带有三角形的提示框,根据我为其分配的控件类型,该三角形指向下方或左侧。如何将这种三角形的使用与矩形或圆角矩形提示框结合起来?
提前感谢,
file-monger
如果您想改进三角形在 chrome/safari 中的渲染方式,请添加
-webkit-transform:rotate(360deg);
谢谢,这正是我想要的,效果很好。
我想提一个小的错误:在 css 示例中,它没有将“display: block”列为必需的定义 - 在演示中这是继承的,但如果没有正确的显示设置,箭头会被切断。
我建议在 css 示例中添加“display: block”。
您想看看 http://www.ardianta.tk/2012/04/css3-membuat-segitiga-atau-triangle.html
您网站上的箭头不是 CSS 三角形,而是图像。您的意思是您想用 CSS 三角形替换这些图形三角形吗?
是的,太酷了..我可以创建任何我想要的三角形..
酷且简单!我想知道如何向一个窗口添加箭头,该窗口的边框颜色为黑色,背景为白色,并且您希望箭头具有相同的背景和边框。就像 Google+
真的很喜欢这个技巧!
不幸的是,你的 Facebook 推荐按钮不起作用,伙计。
在“.end-of-article-stuff”中设置 overflow:hidden 的具体原因是什么?
呃,这偏离了以上讨论,但如果有人知道怎么做的话…
我想创建一个指向东北方向的浮动三角形,将其放置在 3 列页面(左右两列窄且宽度相等)的右列的右上角,这样当向下滚动页面时,RH 列的内容会消失在始终位于顶部的浮动三角形下方。
以下是实践中的想法(eky 的三角形生成器(右上角)可能可以解决问题,我还没有尝试过)
http://www.1001cocktails.com/
谢谢,
Justme
CSS 箭头!(重叠的三角形)
.arrow-right {
width:0px;
height:0px;
border-bottom:9px solid transparent;
border-top:9px solid transparent;
border-left:9px solid #2f2f2f;
font-size:0px;
line-height:0px;
position: absolute;
z-index: 1;
top: 0;
left: 0;
overflow:auto;
}
.smaller-arrow-right {
width:0px;
height:0px;
border-bottom:4px solid transparent;
border-top:4px solid transparent;
border-left:4px solid #fff;
font-size:0px;
line-height:0px;
position: absolute;
z-index: 2;
top: 5px;
left: 0;
}
查看此页面。向我们的箭头添加边框。http://cssarrowplease.com/
我完全同意您的想法。我们都从这篇精彩的帖子中获益。这个网站很棒。我从这里学到了很多东西。非常感谢。
酷,感谢您的提示!我将此方法用于我的新网站,而不是图像,http://www.doodlingpandas.com。
上面来自
wendee
12/16/2011
的评论是一个非常有效的关注点。我似乎也遇到了这个问题,我看到的示例都重现了这个问题。在 Chrome 中,左箭头比右箭头小 2px。只有 Chrome!我无法修复它。因此,每当箭头紧密排列且较小时,差异就会非常明显。对于希望没有图像和精灵但必须跨浏览器兼容的网站来说,这是一个巨大的问题。哦,我的天哪!!!
当我应用 Dan 的修复程序时
-webkit-transform:rotate(360deg);
它会平滑边缘,使问题在大型示例中不那么明显,但会使较小的示例仍然看起来差异太大。
有没有人有更多见解?在我看来,这是 Chrome 中的一个错误。
唐
太棒了,克里斯!这绝对比笨重的 SVG 标签好。
带边框的箭头
CSS
HTML 代码片段
嗨,我一直在更新我的网站,并一直在尝试更改箭头。现在我的箭头是用 javascript 编写的,但我的网站的其余部分是用 HTML 和 CSS 编写的。当我输入 Otto 发布的代码时,它起作用了,箭头显示出来了,但我试图弄清楚如何使箭头也能够点击下一张图片,以及能够点击缩略图。任何人都可以帮忙吗?我还希望箭头位于图片两侧的中间,而不是底部。
请帮忙!提前感谢! :)
-安吉拉
在本地尝试了一下,看起来很棒
我遇到的问题是,我在容器(它是一个 h3)内有一个 span,我猜是因为宽度为 0,我无法设法使文本出现在三角形外观中
干杯,
阿米特
是否可以为箭头添加阴影?
不是的,因为没有设置高度和宽度。这只是一个边框技巧。如果想要阴影效果,请使用 Photoshop 创建 PNG 图片。
嗨,
我正在尝试使用这种技术,想知道是否有人可以帮忙.. 请看这个 jsbin
http://jsbin.com/uviyat/2/edit
注意“Longer Wording Example” – 如何让三角形垂直缩放以动态填充选定的蓝色区域高度?(三角形是在最后一个 CSS 规则中生成的)。
我被难住了!有没有人有什么想法?
提前感谢
非常棒的技巧,正是我想要的。
我使用了非等腰三角形,它与 Dan 的 rotate-webkit-fix 结合使用效果很好。
在 IE8 中看起来有点糟糕,但我可以接受。
非常感谢,并保持良好的工作状态。
有人知道修复 IE8 锯齿状渲染的方法吗?-ms-transform: rotate(360deg); 似乎与 IE8 不兼容。
嗨!
我喜欢那个解决方案!
不幸的是,我必须使用边框来做一个箭头… 有没有人有好的解决方案?:/
谢谢!^^
嘿,伙计。
感谢 @Matts 的链接,我能够将一些东西组合在一起: )
它非常基础,但可以完成工作。
它在 Mozilla Firefox 中效果最佳。
/* CSS 开始 */
body
{
margin-top: 100px;
}
.container
{
width:100%;
}
.trifront
{
position:absolute; right:5px; top:-195px;
width: 0;
height: 0;
border-top: 195px solid transparent;
border-bottom: 195px solid transparent;
border-left: 195px solid #FFFF66;
}
.triback
{
position:absolute; left:64%;
width: 0;
height: 0;
border-top: 205px solid transparent;
border-bottom: 205px solid transparent;
border-left: 205px solid #000000;
z-index:-1;
}
.rectangle
{
position:absolute; top: 28%; left:1%; width:63%; height:14%; background-color:#FFFF66;
text-align:center; border-style:solid; border-width: 5px;border-right:0px;
}
/* CSS 结束 */
只需在 HTML 代码中添加对 CSS 的引用,并相应地应用 div 标签。
我希望我提供了一些帮助,或者至少让你走上了正确的轨道!!
祝你好运,伙计!
让我知道你的想法: )
HoofedCracker
嘿,伙计!
在一两周前,我遇到这种情况时没有这样的运气!
我相信,当你编辑三角形的边框元素时,会违背初衷;因为它会改变箭头头的形状、位置和大小。实心边框的透明元素非常重要;所以我真的看不到修改边框以适应这种情况的方法。
我不得不使用良好的对比度 - 使用强烈的填充颜色作为箭头,以获得这种粗体效果。
我知道这不是解决方案,只是想让你知道我是如何通过修改我最初提出的布局来简单克服这个问题的。
如果你找到解决方案,请告诉我!
(如果您对上述任何陈述有错误,请随时更正我)
HoofedCracker
@M
@HoofedCracker
我偶然发现了一种使用 :before 和 :after 来实现此目的的方法,基本上是在前一个三角形后面创建另一个稍大的三角形,使其看起来像一个边框.. 我用它来创建这样的工具提示
http://jsbin.com/oturaf/1/edit
不错!
这听起来很有希望!
正在努力理解它。
你认为是否可以将其应用于完整的三角形形状,而不是带三角形指针的方框?
例如(如上所示的原始三角形)
.arrow-right {
width: 0;
height: 0;
border-top: 60px solid transparent;
border-bottom: 60px solid transparent;
border-left: 60px solid green;
}
非常好奇它会是什么样子: )
干杯,
HoofedCracker
嗨.. 解释得很好。我写了一些类似的东西关于[如何创建 CSS 三角形](http://webdesigninspirationtoday.com/article/133/how-to-create-css-triangle-caret/)。在那里,我使用 CSS 边框解释了基本原理,以便让每个人更好地理解 CSS 三角形是如何产生的。
Chris,
下面是 StackOverflow 上一个关于此主题的问题,并提供了一个关于良好实际用例的可靠示例
http://stackoverflow.com/questions/12499673/css-items-with-border-radius-and-triangle-side
我似乎不明白在 Blogger 模板中将代码放在哪里,请帮忙
你好,
是否可以在三角形中添加阴影?
我尝试使用 box shadow,但效果出现在方框周围而不是三角形上。
提前感谢。
我也很好奇!
这个 会告诉你如何操作!
我知道这个教程,但这不是我想要的。
看看我做的这个。希望你喜欢:D
http://jsfiddle.net/adoumas/tNXdp/
无需使用四个 DIV 来用 CSS 创建三角形。
基于上面 40a 和 Web Design Inspiration Today 的示例,我创建了这个 CodePen 演示,其中包含其他几个“旋转”三角形的方法:http://codepen.io/rzea/pen/feiLs
我认为这很酷,而且我很惊讶还没有人发布过它!
不错。效果很好 :-)
我也认为这很酷,从我的另一篇文章中稍微重构了一下。
LESS
输出如下
CSS
我查找了如何使用纯 CSS 创建直的双头箭头,但没有找到任何内容,所以我自己稍微调整了一下给定的代码片段,然后就完成了!它在这里…(在制作这些的过程中,我真的掌握了伪元素以及它们是如何工作的(:before 和 :after))
将 rotate 类中的度数更改为“90”以使箭头水平或倾斜到任何你想要的角度。
尝试将其粘贴到 JSFiddle 中,自己看看 :)
HTML
CSS
谁能告诉我如何为三角形添加粗黑色边框。
谢谢 Ted;你的技术完美地去除了 Firefox 中的描边。
谢谢大家。我也在 http://www.careerbless.com/services/css/csstooltipcreator.php 上提供了一个基本工具 - 可以与您建议的技术结合使用。请分享您对此的看法。
这在 IE 8 中不起作用。
意思是:使用相同的代码,IE 8 中不会出现准确的箭头尖端。
谢天谢地我找到了
只需添加
到你的 CSS 中以使其在 IE 8 中工作。
以下是所有代码
这个 也很有用!
如果我想在三角形内添加文本,那可能吗?
我试过了,但文本在每个单词后都会断开,我假设这是因为 div 的高度和宽度为 0,所以如果有人有解决方案,请告诉我 :)
不错的技巧 :)
很棒的技巧!
想知道是否有办法将箭头复制成一行,一直延伸到浏览器宽度的长度?
我在 Less (CSS) 中进行了一些改进,可以实现这种效果
https://gist.github.com/alejonext/5131863
这个箭头不错。你有没有关于使用 JavaScript 制作游戏的教程?谢谢 :)
同样值得注意的是如何在不使用任何额外标记的情况下向元素添加三角形/箭头。
.add-on { position: relative {
.add-on:after {
border-bottom: 4px solid transparent;
border-left: 4px solid #EDEDED;
border-top: 4px solid transparent;
content: " ";
height: 0;
left: 0;
margin-top: -4px;
position: absolute;
top: 50%;
width: 0;
}
我似乎找不到解决我问题的方法,我想为我的响应式div创建一个动态高度的三角形。
调整大小的三角形可能有助于您入门 :: http://codepen.io/Matnard/pen/wBDre
SVG 也可能不错
这是一个很棒的纯 CSS 动态高度箭头
https://gist.github.com/056dc67bf31342cc6bd7
我偶然发现了一个“插入符号”,但无法在我的代码中复制它。经过一番摸索,我在 CSS 中找到了代码起作用的原始代码,但我没有理解其逻辑。我在 Google 上搜索了一下,并来到了你的网站。解释很棒。
是否可以为三角形添加圆角?
绝妙的技巧!对于那些还没有想到的人,您可以在第一个三角形内放置一个稍微小一点的三角形来创建一个漂亮的箭头。通过使用负边距(或类似方法)定位,可以轻松地为您的主要部分创建气泡外观
<
div>
谢谢你的分享!唯一的问题是,当您想在三角形上放置边框时会出现问题。
这太棒了,非常感谢。我只是花了很长时间才找到你的帖子。Django,要在三角形上添加边框,您应该再添加一个外部 div,该 div 的边框宽度会比原始三角形的边框宽度略大,并使用您选择的颜色。请告诉我是否有效。
仅仅是为了表示感谢!
优秀的帖子,非常感谢分享。
这让我免于使用 transform: rotateZ(45deg); 它在 iOS 6/Safari 上的效果不是很好。
不错。但有一个问题。有没有办法为**边框**应用**边框**?
希望你能理解我想实现的目标。
您可以使用两个三角形,一个大一个小,然后像这里所述使用 CSS 对齐它们
我想要一个周围有 1 px 边框的箭头,这可能吗?
请帮忙。
您好,我也需要三角形的边框。这是我的代码。
http://jsfiddle.net/e62b3/
感谢分享,我在此处使用了它 带有 CSS 和 jQuery 的下拉菜单,包括 CSS 箭头。
我们可以制作可写入的三角形吗?当我写入时,我无法在三角形中写入
我使用一个 div 创建了响应式的纯 CSS 三角形:纯 CSS 响应式三角形。它利用相对于父元素宽度的填充来覆盖一个大的固定宽度三角形。对于一个向上指向的三角形和 100% 的宽度
最后一个使用了两个 div。对于一个使用伪元素的、一个 div 的响应式向上指向的三角形 100% 宽度
有关如何更改三角形比例以及向下、向左和向右指向的三角形代码片段的完整说明,请参见 纯 CSS 响应式三角形。此 CSS 假设 box-sizing:content-box。
创建了这个小的可视化效果来解释边框如何变成三角形:http://codepen.io/Tresva/pen/dxHsb。这可能有助于更快地理解。
有关更多 css3 信息,可以查看以下 URL
http://www.uiplayground.in/css3-icons/
信不信由你,我遇到了一种情况,除了 CSS 三角形之外,没有任何东西可以提供帮助 :)
感谢教程
Mac 上的 Firefox 灰色对角线问题。
已解决:不要使用“transparent”,而是使用 rgba(255,255,255,0)
[rgba(0,0,0,0) 的渲染效果与 transparent 相同]
在阅读本文后(感谢 Chris 提供的有用信息!),我偶然发现了这个 CSS 三角形生成器。它非常棒
这是我用来获取箭头的混合片段!
谢谢
很棒的文章,我已经引用了很多次。我正在尝试制作一个速度计,部分是为了学习转换,部分是因为与许多汽车制造商合作,他们希望他们的数据以真实的仪表盘小部件的形式表示。但是,我在用作仪表“指针”的三角形上遇到了一些奇怪的问题,它看起来非常块状(就像来自原始的任天堂游戏一样)。有什么办法可以改善这种情况吗?
http://codepen.io/arsdehnel/pen/xqpgn
谢谢!
谢谢!我之前在 html 电子邮件模板中使用了 html 实体作为箭头,但在 iOS 上显示不正确。CSS 三角形解决了这个问题!
根本没有必要旋转三角形,因为它们很难对齐。例如,这个三角形位于它的其中一边
border-left:30px solid transparent;
border-bottom:25px solid #B7550C;>
顺便说一下,如果线条在 Firefox 等浏览器中看起来很糟糕,请在透明边框上使用“dashed”而不是“solid”。 :)
非常感谢 Shaun,这样看起来确实好多了。
做得好 :)
我第一次知道这个。。
非常有用,当然,借助 CSS 3 可以稍微减少所有资源的功能。。
非常感谢。。
创建了一个 Gist 用于 SASS 版本,可以用作混合。尽情享受!
https://gist.github.com/willbowling/10181744#file-_sass-arrows-sass
有人可以帮我把那个三角形放在 div 的 :before 或 :after 中吗?
加上一些定位。完美运行。
2013 年 3 月(第 56 卷第 3 期)的《ACM 通讯》中有一篇文章《DHTML 中茶壶的故事》,作者是 Brian Beckman 和 Erik Meij,解释了如何使用 CSS 边界渲染任意图像。如果您无法访问 CACM,则可以在 http://www.sjbaker.org/wiki/index.php?title=The_History_of_The_Teapot 找到一个维基。
注意:
BACKGROUND
需要是TRANSPARENT
/NONE
解释:这可能不太清楚,但即使宽度和高度为 0,任何背景都会出现在这些透明边框“后面”。
所以,例如,如果您正在编辑一个具有黑色背景的现有元素,并且您设置了黑色底部边框和透明的左右边框 - 您实际上会得到一个矩形 :)
希望这对某些人有所帮助 :)
在那个三角形中获得背景图像的最佳方法是什么?
如果我想只使用 html css 创建一个箭头(而不是带有填充背景颜色或边框颜色的三角形)怎么办?请提供任何建议
1) 使用字体箭头,例如 → (
&#8592
),您可以谷歌搜索“ascii 箭头”以获取更多2) 使用 HTML&CSS(三角形将必须带有边框,但是请查看此内容)
它基本上是在彼此旁边放置一个矩形和一个三角形(使用内联块)
并为它们两者设置
vertical-align: middle
,以便它们垂直居中 :)希望这有帮助 :)
非常好。但是我们能否像代码一样为此列表创建项目符号?
这真是太酷了。我印象深刻。
极好的解释,它简单易懂,易于修改以实现我想要的结果
感谢精彩的教程
我的一点建议...
如果您制作一个向上的三角形。将横向边框声明为“inset”似乎可以使三角形渲染得更好……在 Firefox 中存在很大差异。
最好的!
更多 css 形状:-
http://findnerd.com/list/view/Create-shapes-using-css/1311/
感谢那个链接
如何创建这种类型的 css 箭头并添加边框?
这里有一个带有更多箭头的笔
http://codepen.io/chrissp26/pen/QwOpbO
这。完全是这个。
感谢您将此笔放在一起。
@Chris,感谢您的文章。它可能很旧,但它很有帮助。
非常欢迎 Lisa。
我想在 CSS 中创建类似这样的东西(请参阅附带的图像),然后将其引导到 Bootstrap 中……任何人都可以帮助我吗?
http://imgur.com/hAQU4bb ……请尽快帮助我
不错,非常感谢
在 css 示例中,蓝色箭头显示在绿色之前,但在 css 代码中它是相反的。您能否使其按相同的顺序出现,以避免任何混淆。
太棒了!!真是个好主意!
它非常简单,并且运行良好。
我喜欢它。。
我只是想知道如何在该三角形上添加阴影。谢谢。
简单而棒
hep böyle böyle kandırıyosunuz insanları ayıptır be olm yapmayın şöyle şeyler :)
你们用这些技巧欺骗人们……不要这样做。使用其他东西,例如大尺寸的 png 图像。 :)
我需要一个使用 % 制作的响应式网页的三角形大小。我该怎么做?
GOOGLE
这就是我所做的:D
查看 Aditya Narayan 的笔 带边框属性的箭头 (@adinar97) 在 CodePen 上。
谢谢……
是否可以为 arrow-down 类应用渐变颜色。
非常有用的文章。我能够将 css 三角形方法用于一个副项目,并希望分享,以防它对其他人有用。
http://www.appliedcss.com/target-component/
我构建了一个 CSS 三角形生成器 (http://triangle.designyourcode.io) 这可能有助于一些人更轻松地创建和着色三角形。
它输出普通元素和在伪选择器上使用它的代码。我也正在努力使用 SCSS mixin 更新它,但该功能尚未可用。
我没有 Safari 浏览器,但我想知道,您是否知道如果我们将三角形/边框设置为半透明,则 backdrop-filter 是否会在其上起作用?
干杯,
Bob。
箭头按钮选项卡代码
对此印象深刻!如此简单实用!
哇……我希望有一个点赞或评论的按钮,或者颁发一枚奖章。
太棒了!
从不知道 border 属性可以用于此!
非常感谢,Chris!!!
有人可以发布在 HTML 段落中使用的原始右箭头代码示例吗?当我尝试它时,段落位于箭头尖端下方。如果我把标签放在段落的末尾,文本就会被挤压成一长列。
例如,
历史日是 4 月 21 日。
致 Michael F.(4 月 21 日)。
您只需要在 html 中放置一个浮动(左或右),就可以了。
非常感谢您。非常简单、直接且易于应用。
您如何将文本放在三角形中,因为当我添加文本时,它会超出三角形。
嗨,
感谢您的帖子。是否可以在表格元素内放置一个三角形以显示它是按升序或降序排序的?
这是我遇到的创建这些三角形的简明解释,这将被记住。非常感谢!
这都很酷,但是如果我想给一个朝上的三角形添加边框,但只显示边框的两侧,并且三角形的斜边不可见怎么办
编程了几十年……多亏了你,我终于得到了三角形。谢谢!
我发现了一个有趣的事情:将
<div>
更改为<span>
或<i>
会导致难看的变形!仍然想知道为什么 :/浏览器兼容性怎么样?一些浏览器会将边框的角变成方形而不是斜角。至少以前是这样的。
谢谢,这真的帮助我理解了这个 CSS 技巧!
非常感谢!这个教程太棒了!
未指定边框大小的尺寸是多少?找不到规则说明它默认值为 0