关灯
开启左侧

[网页制作] 利用纯css创建一个三角形

[复制链接]
swmozowtfl 发表于 2015-7-9 23:01:55 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
网页中对话气泡框下边的小三角是非常有用的,绘制的方法很多,想什么字体图标、小图片之类的都可以,但是都不够灵活和快捷,有了 css3 之后绘制一个三角形就非常简单了
利用纯 css 创建一个三角形
首先当然是一个任意的空标签来当小三角,下边的 css 丢进去即可:
代码如下:
.triangle{
left:50%;
margin-left:-5px;
width:5px;
height:5px;
background:#fafafa;
bottom:-4px;
position:absolute;
transform:rotate(45deg);
-ms-transform:rotate(45deg);
-moz-transform:rotate(45deg);
-webkit-transform:rotate(45deg);
-o-transform:rotate(45deg);
border:1px solid #e5e5e5;
border-top:none;
border-left:none
}
代码利用 css3 的 2d 旋转属性对正方形进行旋转,并且隐藏掉顶部左右两边的边框就可以实现小三角了。
例子
代码如下:
<!doctype html>
<html>
<head>
<meta charset=utf-8>
<script type=text/javascript src=/libs/jquery/1.4.4/jquery.min.js></script>
<title>三种纯css实现三角形的方法</title>
<link rel=stylesheet >
<style type=text/css>
.page-info { padding:8px 15px; background:#fcea9e; border-bottom:1px solid #b6bac0; font:normal 16px georgia; }
.page-info h1 { float:left; }
.page-info a { font-weight:bold; color:#222; }
.return-article { float:right; }
.return-article h2{ display:inline; }
/*border模拟tips*/
.message-box { position:relative; float:left; margin:80px 0 0 100px; width:240px;
height:60px; line-height:60px; background:#e9fbe4; box-shadow:1px 2px 3px #e9fbe4;
border:1px solid #c9e9c0; border-radius:4px; text-align:center; color:#0c7823; }
.triangle-border { position:absolute; left:30px; overflow:hidden; width:0; height:0;
border-width:10px; border-style:solid dashed dashed dashed; }
.tb-border { bottom:-20px; border-color:#c9e9c0 transparent transparent transparent; }
.tb-background { bottom:-19px; border-color:#e9fbe4 transparent transparent transparent; }
/*字符模拟tips*/
.triangle-character { position:absolute; left:30px; overflow:hidden; width:26px; height:26px; font:normal 26px 宋体; }
.tc-background { bottom:-12px; color:#e9fbe4; }
.tc-border { bottom:-13px; color:#c9e9c0;}
/*css3 transfrom 模拟tips*/
.triangle-css3 { position:absolute; bottom:-8px; bottom:-6px; left:30px; overflow:hidden; width:13px; height:13px; background:#e9fbe4; border-bottom:1px solid #c9e9c0; border-right:1px solid #c9e9c0;}
.transform { -webkit-transform:rotate(45deg); -moz-transform:rotate(45deg); -o-transform:rotate(45deg);
transform:rotate(45deg); }
/*ie7-9*/
.ie-transform-filter {
-ms-filter: progid:dximagetransform.microsoft.matrix(m11=0.7071067811865475, m12=-0.7071067811865477, m21=0.7071067811865477, m22=0.7071067811865475, sizingmethod='auto expand');
filter: progid:dximagetransform.microsoft.matrix( m11=0.7071067811865475,m12=-0.7071067811865477,
m21=0.7071067811865477,m22=0.7071067811865475,sizingmethod='auto expand');
}
</style>
</head>
<body>
<div class=message-box>
<span>我是利用 border 属性实现的</span>
<div class=triangle-border tb-border></div>
<div class=triangle-border tb-background></div>
</div>
<div class=message-box>
<span>我是利用 ◆ 字符实现的</span>
<div class=triangle-character tc-border>◆</div>
<div class=triangle-character tc-background>◆</div>
</div>
<div class=message-box>
<span>我是利用 css transfrom 属性实现的</span>
<div class=triangle-css3 transform ie-transform-filter></div>
</div>
</body>
</html>

更多网页制作信息请查看: 网页制作
 

精彩评论9

正序浏览
Acropozelan 发表于 2015-10-11 14:42:31 | 显示全部楼层
 
要睡觉了 呵呵
 
Mqokjdvq 发表于 2015-10-11 14:42:42 | 显示全部楼层
 
说嘛1~~~想说什么就说什么嘛~~
 
wwzcdenleclv 发表于 2015-10-11 14:43:02 | 显示全部楼层
 
哦...这个...偶昨天就看了....
 
gevaemaidovef 发表于 2015-10-11 14:43:33 | 显示全部楼层
 
命不能争,运可以造,弱者认命,强者抗命,能者求命,智者造命。
 
gevaemaidovef 发表于 2015-11-11 13:03:48 | 显示全部楼层
 
笨点也好~~~~
 
wwdu926a 发表于 2015-11-11 13:04:28 | 显示全部楼层
 
假如我们把自己力所能及的事都完成了,我们会真的令自己大吃一惊。
 
gevaemaidovef 发表于 2015-11-11 13:04:41 | 显示全部楼层
 
可以加精,签定完毕!
 
wwdu926a 发表于 2015-11-11 13:05:03 | 显示全部楼层
 
哈哈~~~相比现在没人在了 吧 哈哈~~~~
 
mwxny 发表于 2015-11-11 13:05:03 | 显示全部楼层
 
说嘛1~~~想说什么就说什么嘛~~
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


0关注

1粉丝

2503帖子

热门图文
热门帖子
排行榜
作者专栏

关注我们:微信订阅号

官方微信

APP下载

全国服务Q Q:

956130084

中国·湖北

Email:956130084@qq.com

Copyright   ©2015-2022  站长技术交流论坛|互联网技术交流平台Powered by©Discuz!技术支持:得知网络  

鄂公网安备 42018502006730号

  ( 鄂ICP备15006301号-5 )