css 绘制三角形箭头
2017-08-29 16:49
661 查看
转载自:http://ourjs.com/detail/532bc9f36922aa7e1d000001
OurJS
阅读
全端
发布
订阅邮件
![](http://ourjs.com/img/rss.png)
分享到
分类 编程技巧 关键字 Html5 发布 newghost 2014-03-21
注意 转载须保留原文链接,译文链接,作者译者等信息。
用CSS即可绘制出各种箭头,无需裁剪图片,甚至没有用到CSS3的东西。对浏览器支持良好。
原理非常简单,通过截取border(边框)的部分“拐角”实现,几行CSS代码即可理解:
当元素宽、高和边框的宽相近(等)时,改变某一边的颜色可以看到一个梯形;
当元素宽、高为零,且其他边为透明颜色时,可以形一个三角形。
改变各个边的宽度,即通过调整“边框”厚度可以配置出任意角度
三角形可以通过伪元素绘制出,而无需改变原来的DOM结构
文字内容
通过伪元素绘制出的两个,一个与背景色相同覆盖部分红色箭头,形成三角线
文字内容
文字内容 Tab1
文字内容 Tab2
文字内容 Tab3
这里还有另一种效果,使用三角形跟矩形组合成提示框,代码来自这篇文章: Css arrows and
shapes without markup
[ 非英文:359, 总字符:4335 ]
社区评论 ( Beta版 )
![](http://www.gravatar.com/avatar/undefined)
#0 哑雀2014-03-22 12:09:09
这个技巧很不错
回复
![](http://www.gravatar.com/avatar/undefined)
#1 凡尘清心2014-03-23 21:04:29
很刁
回复
![](http://www.gravatar.com/avatar/undefined)
#2 bugknightyyp2014-03-23 21:15:09
goudiao
回复
![](http://www.gravatar.com/avatar/undefined)
#3 renren1507433912014-03-24 07:23:29
mark
回复
![](http://www.gravatar.com/avatar/undefined)
#4 Sima2014-03-27 10:02:00
高尚大啊
回复
![](http://www.gravatar.com/avatar/undefined)
#5 卫芒亚2015-04-07 14:18:30
好
回复
![](http://www.gravatar.com/avatar/undefined)
#6 车卫产2016-02-23 14:24:34
good
回复
![](http://www.gravatar.com/avatar/undefined)
#7 母凶次2016-06-02 18:25:10
感谢 很棒
回复
![](http://www.gravatar.com/avatar/undefined)
#8 成厌切2016-06-29 15:33:53
非常棒 给赞
回复
![](http://www.gravatar.com/avatar/undefined)
#9 侯而本2016-08-17 11:45:22
咸鱼
回复
![](http://www.gravatar.com/avatar/undefined)
#10 孔勿杂2016-09-19 10:22:06
@哑雀 #0
真心不错,就是自己不会写
回复
![](http://www.gravatar.com/avatar/undefined)
#11 你大爷2017-01-17 13:45:16
good
回复
![](http://www.gravatar.com/avatar/undefined)
#12 沈方奶2017-02-14 16:51:33
@bugknightyyp #21111
回复
![](http://www.gravatar.com/avatar/undefined)
#13 胡干丝2017-06-16 17:18:00
![](https://ss0.baidu.com/73F1bjeh1BF3odCf/it/u=3543650085,2815710169&fm=85&s=F8013A769E841E412812AABE03007025)
回复
![](http://www.gravatar.com/avatar/undefined)
#14 黄纤未2017-06-28 08:52:19
厉害!
回复
![](http://www.gravatar.com/avatar/undefined)
#15 母乐子2017-07-26 18:53:13
牛了
回复
![](http://www.gravatar.com/avatar/undefined)
#16 姜决无2017-08-14 16:34:25
.
回复
![](http://www.gravatar.com/avatar/undefined)
#17 甘网毛32017-08-14 16:34:56
.
回复
游客
发布评论
![](http://ourjs.com/img/oncedoc.png)
访问404页面,寻找丢失儿童
热门文章 - 分享最多
JSON为王,为什么XML会慢慢淡出人们的视野
为什么你写的Python运行的那么慢呢?
什么是最好的编程语言?(怎样才能爱上编程呢?)
该不该闭合这些元素?曾经〈br/〉的写法是错误的
使用简单的JavaScript,我们为什么应该抵制ES6
我们抛弃了AngularJS:单页面应用的5大缺陷
如何雇佣杰出的外包程序员
快乐Node程序员的10个习惯
HTML5版Flappy Bird,虐心游戏你能过几关
图解Node.js流行趋势,Node在路上
AirJD-简单好用的免费建站工具
相关阅读 - 编程技巧
使用Javascript将相对路径地址转换为绝对路径
该不该闭合这些元素?曾经〈br/〉的写法是错误的
for in 比for loop慢至少20倍
停止使用循环,教你用underscore优雅的写代码
不到30行JS代码实现的Excel表格,jQuery并非不可替代
如何在网页上隐藏你的Email邮件地址
Ruby己死?NodeJS能否取代Ruby?
永远不要在Linux执行的10个最危险的命令
代码审查:写出好的 commit message
性能测评:Ngix_Lua, Node.JS Python三者性能相当,均比php快近一倍
关键字 - Html5
让Select选择框可编辑可输入可自动补全可下拉选择
用纯CSS实现的箭头
HTML5的TCP和UDP Web Socket API草案定稿
传统广告与H5广告的差别在哪里?
WeMall微信商城源码插件代金券部分代码
WeMall微信商城源码插件会员卡代码详情
WeMall微信商城源码插件大转盘代码详情
你应该使用HTML5的header和footer标签吗?
5个实用Web界面设计工具 | 附开发案例
从PDF转换到HTML5的三种方法,你用过吗?
欢迎订阅 - 技术周刊
我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;
关注我们
我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊
![](http://ourjs.com/img/weixin.jpg)
沪ICP备13020027号-2
返回顶部
OurJS
阅读
全端
发布
订阅邮件
![](http://ourjs.com/img/rss.png)
用纯CSS实现的箭头
分享到分类 编程技巧 关键字 Html5 发布 newghost 2014-03-21
注意 转载须保留原文链接,译文链接,作者译者等信息。
用CSS即可绘制出各种箭头,无需裁剪图片,甚至没有用到CSS3的东西。对浏览器支持良好。
基本原理
原理非常简单,通过截取border(边框)的部分“拐角”实现,几行CSS代码即可理解:
一个梯形
当元素宽、高和边框的宽相近(等)时,改变某一边的颜色可以看到一个梯形;<div id="demo11"></div> <style> #demo11 { border: 10px solid #000; border-left-color: #f00; width: 10px; height: 10px; } </style>
一个三角形
当元素宽、高为零,且其他边为透明颜色时,可以形一个三角形。<div id="demo12"></div> <style> #demo12 { border: 10px solid #000; border-left-color: #f00; width: 0; height: 0; } </style>
任意角度的三角形
改变各个边的宽度,即通过调整“边框”厚度可以配置出任意角度<div id="demo14"></div> <style> #demo14 { border: 10px solid transparent; border-left: 20px solid #f00; width: 0; height: 0px; } </style>
通过伪元素实现
三角形可以通过伪元素绘制出,而无需改变原来的DOM结构文字内容
<span id="demo15">文字内容</span> <style> #demo15{ position: relative; } #demo15:after { border: 10px solid transparent; border-left: 10px solid #f00; width: 0; height: 0; position: absolute; content: ' ' } </style>
伪元素实现三角线箭头
通过伪元素绘制出的两个,一个与背景色相同覆盖部分红色箭头,形成三角线文字内容
<span id="demo15">文字内容</span> <style> #demo16{ position: relative; } #demo16:after, #demo16:before { border: 10px solid transparent; border-left: 10px solid #fff; width: 0; height: 0; position: absolute; top: 0; right: -20px; content: ' ' } #demo16:before { border-left-color: #f00; right: -21px; } </style>
三角线分割的Tab页
文字内容 Tab1文字内容 Tab2
文字内容 Tab3
<ul id="demo17"> <li>文字内容 Tab1</li> <li>文字内容 Tab2</li> <li>文字内容 Tab3</li> </ul> <style> #demo17{ font-size: 10px; height: 24px; } #demo17 li { float: left; position: relative; list-style: none; margin: 0 20px 12px -19px; border-top: solid 1px #ddd; border-bottom: solid 1px #ddd; padding-left: 12px; } #demo17 li:after, #demo17 li:before { border: 10px solid transparent; border-left: 10px solid #fff; width: 0; height: 0; position: absolute; top: 0; right: -18px; content: ' ' } #demo17 li:before { border-left-color: #ddd; right: -19px; } </style>
三角形跟矩形组合成提示框
这里还有另一种效果,使用三角形跟矩形组合成提示框,代码来自这篇文章: Css arrows andshapes without markup
<div id="demo"></div> <style> #demo { width: 100px; height: 100px; background-color: #ccc; position: relative; border: 4px solid #333; } #demo:after, #demo:before { border: solid transparent; content: ' '; height: 0; left: 100%; position: absolute; width: 0; } #demo:after { border-width: 9px; border-left-color: #ccc; top: 15px; } #demo:before { border-width: 14px; border-left-color: #333; top: 10px; } </style>
[ 非英文:359, 总字符:4335 ]
社区评论 ( Beta版 )
#0 哑雀2014-03-22 12:09:09
这个技巧很不错
回复
#1 凡尘清心2014-03-23 21:04:29
很刁
回复
#2 bugknightyyp2014-03-23 21:15:09
goudiao
回复
#3 renren1507433912014-03-24 07:23:29
mark
回复
#4 Sima2014-03-27 10:02:00
高尚大啊
回复
#5 卫芒亚2015-04-07 14:18:30
好
回复
#6 车卫产2016-02-23 14:24:34
good
回复
#7 母凶次2016-06-02 18:25:10
感谢 很棒
回复
#8 成厌切2016-06-29 15:33:53
非常棒 给赞
回复
#9 侯而本2016-08-17 11:45:22
咸鱼
回复
#10 孔勿杂2016-09-19 10:22:06
@哑雀 #0
真心不错,就是自己不会写
回复
#11 你大爷2017-01-17 13:45:16
good
回复
#12 沈方奶2017-02-14 16:51:33
@bugknightyyp #21111
回复
#13 胡干丝2017-06-16 17:18:00
回复
#14 黄纤未2017-06-28 08:52:19
厉害!
回复
#15 母乐子2017-07-26 18:53:13
牛了
回复
#16 姜决无2017-08-14 16:34:25
.
回复
#17 甘网毛32017-08-14 16:34:56
.
回复
游客
发布评论
![](http://ourjs.com/img/oncedoc.png)
访问404页面,寻找丢失儿童
热门文章 - 分享最多
JSON为王,为什么XML会慢慢淡出人们的视野
为什么你写的Python运行的那么慢呢?
什么是最好的编程语言?(怎样才能爱上编程呢?)
该不该闭合这些元素?曾经〈br/〉的写法是错误的
使用简单的JavaScript,我们为什么应该抵制ES6
我们抛弃了AngularJS:单页面应用的5大缺陷
如何雇佣杰出的外包程序员
快乐Node程序员的10个习惯
HTML5版Flappy Bird,虐心游戏你能过几关
图解Node.js流行趋势,Node在路上
AirJD-简单好用的免费建站工具
相关阅读 - 编程技巧
使用Javascript将相对路径地址转换为绝对路径
该不该闭合这些元素?曾经〈br/〉的写法是错误的
for in 比for loop慢至少20倍
停止使用循环,教你用underscore优雅的写代码
不到30行JS代码实现的Excel表格,jQuery并非不可替代
如何在网页上隐藏你的Email邮件地址
Ruby己死?NodeJS能否取代Ruby?
永远不要在Linux执行的10个最危险的命令
代码审查:写出好的 commit message
性能测评:Ngix_Lua, Node.JS Python三者性能相当,均比php快近一倍
关键字 - Html5
让Select选择框可编辑可输入可自动补全可下拉选择
用纯CSS实现的箭头
HTML5的TCP和UDP Web Socket API草案定稿
传统广告与H5广告的差别在哪里?
WeMall微信商城源码插件代金券部分代码
WeMall微信商城源码插件会员卡代码详情
WeMall微信商城源码插件大转盘代码详情
你应该使用HTML5的header和footer标签吗?
5个实用Web界面设计工具 | 附开发案例
从PDF转换到HTML5的三种方法,你用过吗?
欢迎订阅 - 技术周刊
我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;
关注我们
我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊
![](http://ourjs.com/img/weixin.jpg)
沪ICP备13020027号-2
返回顶部
相关文章推荐
- 纯CSS绘制三角形箭头效果
- 用CSS绘制箭头等三角形图案 [译]
- 纯css绘制 三角形 ,箭头
- 纯CSS绘制的三角形箭头图案【原创】
- 纯CSS绘制三角形箭头图案技术解析
- 用CSS绘制三角形和箭头
- 用CSS代码绘制三角形 纯CSS绘制三角形的代码
- Css绘制箭头实现代码
- 纯CSS实现箭头、气泡让提示功能具有三角形图标(简单实例)
- html中css使用div绘制三角形
- 使用纯CSS完成一个三角形的绘制
- 利用css绘制三角形的方法及拓展
- 剑走偏锋——用css制作一个三角形箭头
- 用CSS画三角形,纯CSS绘制三角形的代码
- css整理 -- 右箭头,上下箭头,三角形
- CSS绘制三角形原理
- CSS 魔法系列:纯 CSS 绘制三角形(各种角度)
- CSS 三角形绘制方法
- 纯CSS绘制三角形(各种角度)
- 纯CSS绘制三角形(各种角度)