返回列表 发新帖

利用纯css创建一个三角形

375.0k 9
swmozowtfl 发表于 2015-7-9 23:01:55|湖北 | 查看全部 阅读模式
网页中对话气泡框下边的小三角是非常有用的,绘制的方法很多,想什么字体图标、小图片之类的都可以,但是都不够灵活和快捷,有了 css3 之后绘制一个三角形就非常简单了" u0 b+ h: s4 v+ ^/ \
利用纯 css 创建一个三角形# U5 T3 e8 s. @& i9 u' ]5 E5 g5 l
首先当然是一个任意的空标签来当小三角,下边的 css 丢进去即可:  l: c! z4 t4 B  _9 G( X  ~
代码如下:
# l8 m3 I& Y$ z0 k0 W; u4 F
.triangle{" _: @% G: A( `3 E. Y/ v
left:50%;
( \/ }% X) ~; R+ ?6 M" Umargin-left:-5px;
- Q0 J0 ~) p4 S9 k0 swidth:5px;0 ]. P  X# T. b9 }, W+ I
height:5px;/ V4 W  q  z% t$ J& w1 s
background:#fafafa;/ a1 B8 O5 E* m- \
bottom:-4px;5 r/ C# O) N5 K2 V: F
position:absolute;  y3 s. _( h5 _% n* ?
transform:rotate(45deg);/ X6 r# V  ?; _/ ]- Y( s" C
-ms-transform:rotate(45deg);' B# W9 ~# A1 p* I5 D- w
-moz-transform:rotate(45deg);
4 I5 M1 A3 q/ U- _2 O-webkit-transform:rotate(45deg);
8 v; ?$ d' u" A/ I-o-transform:rotate(45deg);
( |3 @* n5 h% l& g& R# g$ Sborder:1px solid #e5e5e5;
4 E' v+ `3 L3 _! y7 mborder-top:none;
1 q6 P  T* S+ [border-left:none  k. M  O: ]( A. W
}
/ R) ]7 X/ Q; `7 d代码利用 css3 的 2d 旋转属性对正方形进行旋转,并且隐藏掉顶部左右两边的边框就可以实现小三角了。
- M& N5 ?! [5 D9 y+ ]/ s例子* j, M9 m. v, L; u( ~8 M- r* H
代码如下:
' J8 o1 t8 o; E* S/ S% A
<!doctype html>3 v" \: g, x( h% M' \
<html>
  P* e8 E% u& b( H. `5 a<head>3 q0 ~) h5 g* @/ N8 K# T  j
<meta charset=utf-8>2 B+ C& n# h3 d; F- m
<script type=text/javascript src=/libs/jquery/1.4.4/jquery.min.js></script>. N+ c8 e7 `; z; o3 f5 Q
<title>三种纯css实现三角形的方法</title>
: Z' ]3 \/ u' y# I3 f8 G7 X$ ^( l8 z<link rel=stylesheet >' W1 O% F0 g' D& i+ b# W4 O- |
<style type=text/css>2 d! }1 R/ {- b, w  y9 `- i" }; s
.page-info { padding:8px 15px; background:#fcea9e; border-bottom:1px solid #b6bac0; font:normal 16px GEOrgia; }( m7 ~5 P8 U( a6 e7 n8 j8 i
.page-info h1 { float:left; }
2 k  A% |# ^9 ^6 J$ j.page-info a { font-weight:bold; color:#222; } ; }; A" t4 E5 U1 o7 I. A+ c/ c8 l
.return-article { float:right; }
  b" g" R2 V* ?/ ~5 ^: [.return-article h2{ display:inline; }+ `, X) ?+ F- G- T; G" G- z
/*border模拟tips*/
+ p, E4 m" x3 s) r& Q! H  _/ Z.message-box { position:relative; float:left; margin:80px 0 0 100px; width:240px;
7 B5 G' \5 E3 N- g  Q2 aheight:60px; line-height:60px; background:#e9fbe4; box-shadow:1px 2px 3px #e9fbe4;
* c/ I5 L6 ]' v* Pborder:1px solid #c9e9c0; border-radius:4px; text-align:center; color:#0c7823; }
9 W! S8 Z: \2 u( I/ R8 N; V.triangle-border { position:absolute; left:30px; overflow:hidden; width:0; height:0;
( x0 g( |. y' `6 m! U  Lborder-width:10px; border-style:solid dashed dashed dashed; }
$ K+ n& @1 p# f' J2 m  q.tb-border { bottom:-20px; border-color:#c9e9c0 transparent transparent transparent; }
0 A: o2 T- {. O' Z' o.tb-background { bottom:-19px; border-color:#e9fbe4 transparent transparent transparent; }
+ N2 L" w) Y# Z/*字符模拟tips*/
& P; z/ ~% x, E' x' C9 z! t.triangle-character { position:absolute; left:30px; overflow:hidden; width:26px; height:26px; font:normal 26px 宋体; }% F7 ^( z" G; z/ G0 T
.tc-background { bottom:-12px; color:#e9fbe4; }9 s0 D  j# A1 f" P0 X
.tc-border { bottom:-13px; color:#c9e9c0;}6 @" Y# |7 q/ d; m7 _
/*css3 transfrom 模拟tips*/  _/ A! M; z2 K' f
.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;}
! ^& I7 l, l  F# B* l( d.transform { -webkit-transform:rotate(45deg); -moz-transform:rotate(45deg); -o-transform:rotate(45deg);
6 X% x2 B, J; W6 S* {/ k- j- Btransform:rotate(45deg); }& f( w. D. c( T& I
/*ie7-9*/
6 J/ X  p: |: m6 ^) d) h; n.ie-transform-filter {
; L/ M& a2 l9 v) G0 }6 U-ms-filter: progid:dximagetransform.microsoft.matrix(m11=0.7071067811865475, m12=-0.7071067811865477, m21=0.7071067811865477, m22=0.7071067811865475, sizingmethod='auto expand');& M& J8 I+ O" b! W& H. U! z
filter: progid:dximagetransform.microsoft.matrix( m11=0.7071067811865475,m12=-0.7071067811865477,* z) T1 J9 |% k7 Q! B) O0 }
m21=0.7071067811865477,m22=0.7071067811865475,sizingmethod='auto expand');9 v# W* s2 Y: g" G4 ^  X4 T! s
}
  s+ T1 a, T' m</style>/ W: O7 n3 I& |3 m, v/ ?5 l% X
</head>2 W* G* L: y& X
<body>5 g4 \  [, t. |' `6 P( j
<div class=message-box>
( Z1 Q- |! P! G# [( e' ~; A$ q: d<span>我是利用 border 属性实现的</span>! t* J" N# ^& D( l0 @! N) n
<div class=triangle-border tb-border></div>" J# @$ v' E1 U" o' u" T
<div class=triangle-border tb-background></div>) c5 O( @( k, @5 ?; [+ ^
</div>
& Q! Q; B, W! C" I/ C# l$ K<div class=message-box>
: t4 \- Z, ]8 ]3 @9 c<span>我是利用 ◆ 字符实现的</span>% k- d0 r) r( a7 d( p8 A0 b
<div class=triangle-character tc-border>◆</div>1 ^% l: c$ B3 c
<div class=triangle-character tc-background>◆</div>
/ u" y8 B/ e1 _2 T* w5 O* m0 r</div>! R3 t& J7 ~7 L
<div class=message-box>+ g0 B/ @* n$ u9 q. s2 L
<span>我是利用 css transfrom 属性实现的</span>, \7 m/ C' C  \7 M2 I& c
<div class=triangle-css3 transform ie-transform-filter></div>: c, ^4 S* m; }- b& g: n+ J
</div>
3 l4 v  @) j3 K7 Z2 _) ?! i# W</body>
; Z7 V* P7 w8 b</html>  R( ?* C. |) e7 r. D5 b; b
& }) i1 K8 `" l" a$ d+ k7 ~* }8 |
更多网页制作信息请查看: 网页制作

回复|共 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|Reserved | 查看全部
命不能争,运可以造,弱者认命,强者抗命,能者求命,智者造命。
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|INNA | 查看全部
哈哈~~~相比现在没人在了 吧 哈哈~~~~
mwxny 发表于 2015-11-11 13:05:03|INNA | 查看全部
说嘛1~~~想说什么就说什么嘛~~

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

得知互动是一个融创意、设计、开发、营销、生活、互联网于一体的专业交流分享平台。
Copyright © 2026 得知互动-专注Ai与站长技术交流社区-Ai交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表