微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

纯CSS绘制各种箭头方法

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。

用 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="demo16">文字内容</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 页

代码预览

<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>

三角形跟矩形组合成提示

这里还有另一种效果,使用三角形跟矩形组合成提示框:

代码预览

<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>

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐