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

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

    

  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. 如何设计相对安全的cookie自动登录系统

    很多网站登录的时候,都会有一个"记住我"功能,用户可以在限定时间段内免登录, 比如豆瓣.人人.新浪微博等都有这种设计.这种技术其实就是基于 cookie的自动登录, 用户登录的时候 ...

  2. memcached使用文档

    使用memcached进行内存缓存 通常的网页缓存方式有动态缓存和静态缓存等几种,在ASP.NET中已经可以实现对页面局部进行缓 存,而使用memcached的缓存比ASP.NET的局部缓存更加灵活, ...

  3. VS2012打开项目 提示Asp.net4.5未在web服务器上注册

    在用vs2012代开项目时,没回都显示Asp.net4.5未在web服务器上注册,最后是由于没有下载一个补丁的原因,只需要下载安装补丁 VS11-KB3002339.exe ,下载地址:https:/ ...

  4. C++ inline函数与编译器设置

    1. 经过测试#define与inline的速度几乎没有区别. 2. inline函数更为安全,有效避免了#define二义性问题.inline是真正的函数,而#define只是在字符串意义上的宏替换 ...

  5. 常见的排序算法总结(JavaScript)

    引言 排序算法是数据结构和算法之中的基本功,无论是在笔试还是面试,还是实际运用中都有着很基础的地位.这不正直七月,每年校招的备战期,所以想把常见的排序算法记录下来.在本篇文章中的排序算法使用 Java ...

  6. 使用C#在VS中开发:未处理AccessViolationException “System.AccessViolationException”类型的未经处理的异常

    未处理AccessViolationException: “System.AccessViolationException”类型的未经处理的异常在System.Data.dll中发生 其他信息:尝试读 ...

  7. Javsssist用InsertAt()方法对语句插桩

    基于上一篇的方法插桩,这一篇则是进一步的对每行的语句进行插桩. 对于存在分支的方法(例如if(){}else{}),对方法插桩的方法是不能够全部涉及到的.所以要对程序的每条语句进行插桩. 插入什么语句 ...

  8. Java 基本语法----关键字、标识符

    关键字 关键字的定义和特点 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)特点:关键字中所有字母都为小写 用于定义数据类型的关键字 class interface enum byte ...

  9. shell脚本中字符串的常见操作及"command not found"报错处理(附源码)

    简介 昨天在通过shell脚本实现一个功能的时候,由于对shell处理字符串的方法有些不熟悉导致花了不少时间也犯了很多错误,因此将昨日的一些错误记录下来,避免以后再犯. 字符串的定义与赋值 # 定义S ...

  10. git创建版本库以及使用

    Git使用教程(摘自tugenhua0707) 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央 ...