在制作网页的过程中少不了绘制类似图片的三角形箭头效果,虽然工程量不大,但是确实麻烦。在学习的过程中,总结了以下三种方法,以及相关的例子。

一、三种绘制三角形箭头方法

    

  1、方法一:利用overflow:hidden;属性。

    

 div.one{
margin-top: 30px;
width: 150px;
/* height: 60px;*/ /*文本高度由内容撑起*/
background-color: pink; }
i{
font-style: normal;
display: inline-block;
width: 16px;
height: 8px; /*高度为s便签的一半*/
background-color: pink; overflow: hidden; /*要点:设置隐藏属性 超出部分不显示*/ position: relative; /*微调 控制箭头在中间*/
top: 3px; }
s{
text-decoration: none;
display: inline-block;
width: 16px;
height: 16px;
font-size: 16px;
line-height: 16px; /*设置字体 和 行高改变◇属性*/ /*利用微调 控制箭头方向 未设置向上*/
position: relative;
top: -9px;
}

  2、方法二:使用after(before)属性定位  利用border画三角。

 /*方法二*/
div.two{
margin-top: 30px;
width: 150px;
/*height: 60px;*/
background-color: #ddd;
}
a{
text-decoration: none;
}
/*使用伪元素a:after*/
/*可以再制作一个与背景色相同的三角利用定位覆盖 制作方法一的效果*/
a:after{
content: '';
display: inline-block; /*利用边框boeder设置*/
/*border-left:5px solid transparent;
border-top:5px solid #fff;
border-right:5px solid transparent;
border-bottom-width:0px;*/ border:5px solid transparent;
border-top-color: #fff; position: relative; /*微调位置*/
top: 5px;
left: 1px; width: 0;
height: 0;
}

  3、方法三:直接使用切图导入三角形图标

     /*方法三*/
div.three{
margin-top: 30px;
width: 150px;
/*height: 60px;*/
background-color: #ddd;
}
div.three u{
display: inline-block;
width: 10px;
height: 7px;
background:url(jiantou.png) 2px -1389px no-repeat;
position: relative;
top: 2px;
}

  

以上三种方法的显示效果如下:

            

二、相关使用案例

    

  1、效果一:带尖角的盒子(聊天框)

 .one{
width: 100px;
height: 50px;
margin: 30px;
background-color: pink;
border:5px solid red;
position: relative;
border-radius: 10px;
}
.one:before, .one:after{
content: '';
width: 0px;
height: 0px;
border:0px solid transparent;
position: absolute;
top: 50px;
left: 10px;
}
.one:before{
border-width: 16px;
border-top-color: red;
/*left: -5px;*/
}
.one:after{
border-width: 11px;
border-top-color: pink;
/*top: 5px;*/
left: 15px;
}

  

  2、文字介绍框

 .two{
margin: 30px;
width: 400px;
height: 100px;
/*background-color: #ddd;*/
border:1px solid red;
position: relative;
}
.two ul{
margin:30px;
}
.two ul li{
float: left;
/*width: 100px;*/
height: 26px;
line-height: 26px;
text-align: center;
padding-right: 13px;
background-color: #eee;
} .two ul li:after{
content: '';
border-left:13px solid transparent;
border-top:13px solid #fff;
border-bottom:13px solid #fff;
border-right-width:0px;
position: absolute;
}

  

  3、翻转效果

 body{
background-color: #333;
}
a{
display: block;
width: 120px;
height: 32px;
line-height:32px;
text-align: center;
margin: 0 auto;
background-color: black;
color: #fff;
text-decoration: none;
font-size: 14px;
}
/*初始效果*/
a:before{
content: attr(title);
}
a:after{
content: '';
display: inline-block;
border-left:5px solid transparent;
border-top:5px solid #fff;
border-right:5px solid transparent;
border-bottom-width:0px;
position: relative;
top: -2px;
left: 3px;
}
/*点击效果*/
a:hover:before{
content: attr(opentitle);
}
a:hover:after{
border-left:5px solid transparent;
border-bottom:5px solid #fff;
border-right:5px solid transparent;
border-top-width:0px;
}

效果展示:

           

end...

纯Css绘制三角形箭头三种方法的更多相关文章

  1. 纯CCS绘制三角形箭头图案

    用CSS绘制三角形箭头.使用纯CSS,你只需要很少的代码就可以创作出各种浏览器都兼容的三角形箭头! CSS代码: /* create an arrow that points up */ div.ar ...

  2. CSS 魔法系列:纯 CSS 绘制三角形(各种角度)

    我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. ...

  3. CSS学习笔记(8)--纯CSS绘制三角形(各种角度)

    纯CSS绘制三角形(各种角度) CSS三角形绘制方法,学会了这个,其它的也就简单.   我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多 ...

  4. 用css伪类制作三角形的三种方法

    在手机上写三角形的时候,我一般都用伪类,刚开始的时候用的图片,但是在现在的手机高清屏幕上,图片容易失真,还是用伪类吧! 第一种:一个90度的“ > ”, 只有线条.(可以做下拉框的箭头之类的) ...

  5. 纯CSS实现垂直居中的7种方法

    今天申请博客通过了,给大家讲讲我所看到过的纯css实现垂直居中的各种方法.为什么要把它作为第一篇文章呢?因为这是我刚开始接触前端学到的对我最有用的知识,希望大家也可以从中获益! 在CSS中实现水平居中 ...

  6. 纯CSS实现垂直居中的几种方法

    垂直居中是布局中十分常见的效果之一,为实现良好的兼容性,PC端实现垂直居中的方法一般是通过绝对定位,table-cell,负边距等方法.有了css3,针对移动端的垂直居中就更加多样化. 方法1:tab ...

  7. [HTML/CSS]创建新元素的三种方法

    第一种:通过text/HTML var txt1="<h1>Text.</h1>"; 第二种:通过jQuery var txt2=$("<h ...

  8. 纯CSS绘制三角形(各种角度)

    我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. ...

  9. 纯CSS绘制三角形(各种角度)类似于使用字符画法,根据位移不同,也可以使用两个元素画出三角边框

    我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. ...

随机推荐

  1. 基于Java SE的模拟双色球彩票系统

    1.双色球规则: ①双色球分为红球和蓝球,红球选择的范围为1-33,而且红球选择6个数字:蓝球选择的范围为1-16,而且只能选择1个数字. ②选择方式为随机选择号码和手动输入选择号码. ③生成号码的顺 ...

  2. 基于 HTML5 WebGL 的 3D 网络拓扑图

    在数据量很大的2D 场景下,要找到具体的模型比较困难,并且只能显示出模型的的某一部分,显示也不够直观,这种时候能快速搭建出 3D 场景就有很大需求了.但是搭建 3D 应用场景又依赖于通过 3ds Ma ...

  3. [翻译]成为顶尖程序员应当学什么?Python、C还是Ruby?

    原文地址(墙外):https://medium.com/life-tips/should-you-learn-python-c-or-ruby-to-be-a-top-coder-infographi ...

  4. C#基础:.NET环境下WebConfig的加密

    在将ASP.NET项目部署到服务器上时,内网环境下Web.Config往往是直接复制过去.对于外网环境,则需要对Web.Config文件进行加密. .NET环境下一共提供了2种方式的加密功能,分别是D ...

  5. POJ 2502 Subway-经过预处理的最短路

    Description You have just moved from a quiet Waterloo neighbourhood to a big, noisy city. Instead of ...

  6. Dev控件学习-GridControl中的BandGridview导出多层行头操作

    BandGridview默认导出的是Columns的列头信息,而不是Bands的列头信息,为了实现导出多层行头.代码如下 public static void ExportExcel2(DevExpr ...

  7. DotNetCore跨平台~服务总线_事件总线的重新设计

    理论闲话 之前在.netFramework平台用的好好的,可升级到.net core平台之后,由于不再需要二进制序列化,导致咱们的事件机制遇到了问题,之前大叔的事件一直是将处理程序序列化后进行存储的, ...

  8. laravel+vue组合的项目中引入ueditor(打包成组件形式)

    前言:最近写东西需要用到ueditor,并且需要是在vue组件中引入. (本博客默认你已经配置了laravel+vue的项目环境,如果还没有配置好的的小伙伴,可以看看我的另一篇博客,链接: http: ...

  9. jfinal框架新手使用之路及开发心得

    从接触jfinal这个框架到现在差不多也有一个的时间了,因为之前接触的都是像spring ,springMVC,mybatis,struts2,hibernate这种传统,大多数公司都在用的这种框架. ...

  10. java多线程系列(三)---等待通知机制

    等待通知机制 前言:本系列将从零开始讲解java多线程相关的技术,内容参考于<java多线程核心技术>与<java并发编程实战>等相关资料,希望站在巨人的肩膀上,再通过我的理解 ...