纯Css绘制三角形箭头三种方法
在制作网页的过程中少不了绘制类似图片的三角形箭头效果,虽然工程量不大,但是确实麻烦。在学习的过程中,总结了以下三种方法,以及相关的例子。
一、三种绘制三角形箭头方法
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绘制三角形箭头三种方法的更多相关文章
- 纯CCS绘制三角形箭头图案
用CSS绘制三角形箭头.使用纯CSS,你只需要很少的代码就可以创作出各种浏览器都兼容的三角形箭头! CSS代码: /* create an arrow that points up */ div.ar ...
- CSS 魔法系列:纯 CSS 绘制三角形(各种角度)
我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. ...
- CSS学习笔记(8)--纯CSS绘制三角形(各种角度)
纯CSS绘制三角形(各种角度) CSS三角形绘制方法,学会了这个,其它的也就简单. 我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多 ...
- 用css伪类制作三角形的三种方法
在手机上写三角形的时候,我一般都用伪类,刚开始的时候用的图片,但是在现在的手机高清屏幕上,图片容易失真,还是用伪类吧! 第一种:一个90度的“ > ”, 只有线条.(可以做下拉框的箭头之类的) ...
- 纯CSS实现垂直居中的7种方法
今天申请博客通过了,给大家讲讲我所看到过的纯css实现垂直居中的各种方法.为什么要把它作为第一篇文章呢?因为这是我刚开始接触前端学到的对我最有用的知识,希望大家也可以从中获益! 在CSS中实现水平居中 ...
- 纯CSS实现垂直居中的几种方法
垂直居中是布局中十分常见的效果之一,为实现良好的兼容性,PC端实现垂直居中的方法一般是通过绝对定位,table-cell,负边距等方法.有了css3,针对移动端的垂直居中就更加多样化. 方法1:tab ...
- [HTML/CSS]创建新元素的三种方法
第一种:通过text/HTML var txt1="<h1>Text.</h1>"; 第二种:通过jQuery var txt2=$("<h ...
- 纯CSS绘制三角形(各种角度)
我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. ...
- 纯CSS绘制三角形(各种角度)类似于使用字符画法,根据位移不同,也可以使用两个元素画出三角边框
我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. ...
随机推荐
- linux 下载文件到本地磁盘的命令是什么
linux下可以直接运行命令下载或上传文件1.检查并安装相应的包:yum install lrzsz2.使用 sz 文件名 现在相应的文件到本地磁盘.3.上传使用rz 选择相应文件即可.
- Mysql按时间段分组查询
Mysql按时间段分组查询来统计会员的个数,mysql个数 Mysql按时间段分组查询来统计会员的个数,mysql个数 1.使用case when方法(不建议使用)- 代码如下 复制代码SELECT ...
- a链接返回上一页
<a href="javascript:void(0);" onclick="javascript:history.go(-1);" style='mar ...
- jQuery与原生js实现banner轮播图
jQuery与原生js实现banner轮播图: (jq需自己加载)(图片需自己加载) <!DOCTYPE html> <html> <head> <meta ...
- Mathematica学习笔记2
导入文件中的矩阵 mat = Import["...", "Table"] 转化为向量矩阵(元素为数对) data = Table[{mat[[i, j]], ...
- 用CSS3实现无限循环的无缝滚动
有时候在页面的某个模块中,需要无限循环的滚动一些消息.那么如果我们用js实现无缝衔接滚动的思路是什么呢(比如我们这个模块是向上滚动的)? 克隆A一份完全一样的数据B放在原数据A的后面: 使用setIn ...
- Vulkan Tutorial 26 view and sampler
操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 在本章节我们将为图形管线创建另外两个资源来对图像进行采样.第一个资源我们之前已经接触 ...
- JavaScript一个whenReady函数,监听及注册事件
/** * 传递函数给whenReady(),当文档解析完成且为操作准备就绪时, * 函数将作为文档对象的方法调用 * DOMContentLoaded.readystatechange或load事件 ...
- [C++]智能指针的实现与使用
智能指针 智能指针是当我们在使用对象时,有时会把对象的内存分配在堆上忘记释放,导致内存泄露,并且当多个指针共享同一个对象的内存时,容易出现重复释放内存,导致错误. 我们针对所需要共享的对象,手动完成一 ...
- java基础系列--集合类库(一)
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/7229478.html 1.概述 Java的集合类库很是丰富,囊括了大部分的常见数据结构形式 ...