得知互动
标题:
利用纯css创建一个三角形
[打印本页]
作者:
swmozowtfl
时间:
2015-7-9 23:01
标题:
利用纯css创建一个三角形
网页中对话气泡框下边的小三角是非常有用的,绘制的方法很多,想什么字体图标、小图片之类的都可以,但是都不够灵活和快捷,有了 css3 之后绘制一个三角形就非常简单了
1 v9 |; z/ x8 h3 H
利用纯 css 创建一个三角形
2 M; \; Z) L4 G2 [, y; o
首先当然是一个任意的空标签来当小三角,下边的 css 丢进去即可:
# F6 h# L' i' Y% \8 F
代码如下:
) ^9 f! r* O% `5 g% r3 z' c
.triangle{
3 b5 Y, ]+ J% c. G& |
left:50%;
5 R6 Z1 O o, k H# P! [
margin-left:-5px;
5 s9 G1 S! t* I
width:5px;
) D0 i3 |% ~! D
height:5px;
?% L9 I1 P. D8 ~3 {5 L0 Q7 @8 c
background:#fafafa;
( y3 T9 U0 q0 J i
bottom:-4px;
9 v6 h7 w( k( A F+ ~
position:absolute;
% U- q6 h, }" J& Y
transform:rotate(45deg);
% g# M5 D% O9 E
-ms-transform:rotate(45deg);
1 e, s# r' O8 ?
-moz-transform:rotate(45deg);
; ~7 ~, P/ n1 }, J
-webkit-transform:rotate(45deg);
+ A1 I- ]. a6 [7 _6 b" a" I7 S
-o-transform:rotate(45deg);
. S9 [, I; V; [8 F
border:1px solid #e5e5e5;
) w! E" u" |: Y/ i4 g# G+ V" C
border-top:none;
/ [0 q$ R# B# [$ ^1 V4 u# M
border-left:none
. h+ ^& A: Z- T0 o0 C
}
% p, i7 @! m& M* O; r% D
代码利用 css3 的 2d 旋转属性对正方形进行旋转,并且隐藏掉顶部左右两边的边框就可以实现小三角了。
: X% L6 `+ P! a X, T( ^
例子
" h" w0 @9 Y9 N& M! F T
代码如下:
% C4 ^# F7 L3 I
<!doctype html>
3 r/ n' D9 l7 X; c3 g- ^
<html>
9 T3 G+ y! p- d
<head>
! ]7 R# g3 i9 i
<meta charset=utf-8>
# V4 E, D! d+ h& F7 O# o
<script type=text/javascript src=/libs/jquery/1.4.4/jquery.min.js></script>
2 q# E6 `! z4 E/ u+ D, l
<title>三种纯css实现三角形的方法</title>
! V- a5 W% x1 ]) S' l! ~
<link rel=stylesheet >
9 }- k1 B! w4 E3 E' ?
<style type=text/css>
8 b7 U0 T5 |% k4 _% Q& h8 V% z- w
.page-info { padding:8px 15px; background:#fcea9e; border-bottom:1px solid #b6bac0; font:normal 16px georgia; }
+ j6 G \, c" ]! ? T$ Y/ Y1 }
.page-info h1 { float:left; }
5 H5 f" T3 F; }# _
.page-info a { font-weight:bold; color:#222; }
& L1 {8 K4 Q7 b+ {' r/ B' k ?
.return-article { float:right; }
! ~/ f* j* Z4 R
.return-article h2{ display:inline; }
* P* W. |, B( n
/*border模拟tips*/
" x' q' L9 E+ R) s
.message-box { position:relative; float:left; margin:80px 0 0 100px; width:240px;
/ l' N# a$ k: u* p( p& U7 M, z
height:60px; line-height:60px; background:#e9fbe4; box-shadow:1px 2px 3px #e9fbe4;
- n0 A. Z$ r5 T8 Z3 w
border:1px solid #c9e9c0; border-radius:4px; text-align:center; color:#0c7823; }
; g, H' i' o* S% h# x* i
.triangle-border { position:absolute; left:30px; overflow:hidden; width:0; height:0;
9 ]/ T, r, D, T) P& t3 M' X. T
border-width:10px; border-style:solid dashed dashed dashed; }
$ l3 D0 b! T0 A/ L! g
.tb-border { bottom:-20px; border-color:#c9e9c0 transparent transparent transparent; }
8 O8 O6 O+ I2 ?, _& @
.tb-background { bottom:-19px; border-color:#e9fbe4 transparent transparent transparent; }
6 N% C0 U5 V7 }5 a' z% k! I" ]
/*字符模拟tips*/
& Z( q1 z b/ B5 o/ J _4 E& r: h
.triangle-character { position:absolute; left:30px; overflow:hidden; width:26px; height:26px; font:normal 26px 宋体; }
# O. i+ R5 I. ?; b, G/ `
.tc-background { bottom:-12px; color:#e9fbe4; }
, M2 L+ Q' g6 B! y6 ~* b
.tc-border { bottom:-13px; color:#c9e9c0;}
# G8 n- ^ \) Z/ h5 o% i
/*css3 transfrom 模拟tips*/
% Q4 j# q9 Z* X2 m# R% s
.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;}
6 v( @8 {/ W ]6 Z3 W1 Z) G) F; e
.transform { -webkit-transform:rotate(45deg); -moz-transform:rotate(45deg); -o-transform:rotate(45deg);
8 R& s7 z3 a- n' g; w
transform:rotate(45deg); }
! \9 v; {. E# p$ M" P8 W1 d9 I; M( f
/*ie7-9*/
0 v: {" y! D- D
.ie-transform-filter {
9 _9 ^' x3 c0 _; Y; Z
-ms-filter: progid:dximagetransform.microsoft.matrix(m11=0.7071067811865475, m12=-0.7071067811865477, m21=0.7071067811865477, m22=0.7071067811865475, sizingmethod='auto expand');
8 ~1 J5 W) ~' t( I& n
filter: progid:dximagetransform.microsoft.matrix( m11=0.7071067811865475,m12=-0.7071067811865477,
% N7 B' I; o p/ h% c( f
m21=0.7071067811865477,m22=0.7071067811865475,sizingmethod='auto expand');
$ K1 @6 r. K" i, J9 J
}
/ K; E- [0 @- n* I
</style>
5 U- l: }3 z [' J
</head>
# u; q$ X# h$ m% ]3 @- a
<body>
2 Z. \4 b: v0 t- c$ P
<div class=message-box>
^% S$ z/ H W9 x
<span>我是利用 border 属性实现的</span>
1 b1 N( h* C! y
<div class=triangle-border tb-border></div>
0 N) ^2 b4 w M6 q8 v" K- ?4 G
<div class=triangle-border tb-background></div>
2 i! T$ ~2 a' ?( P. p
</div>
- L2 M" C/ _7 H
<div class=message-box>
; G4 q6 V/ U0 h! t7 m3 `( J" D' R2 j8 {8 g
<span>我是利用 ◆ 字符实现的</span>
, c1 v y! y8 q5 r. I4 b
<div class=triangle-character tc-border>◆</div>
" ?9 B0 s' C W: ~- L
<div class=triangle-character tc-background>◆</div>
6 z ]6 O+ S" i# _/ y' _
</div>
& p6 E* S9 E9 N& J8 n
<div class=message-box>
* E, r' X% u! n5 e
<span>我是利用 css transfrom 属性实现的</span>
/ [: M' ~, `# d# X- @6 r3 g
<div class=triangle-css3 transform ie-transform-filter></div>
# X/ b* }# Q \
</div>
3 Z1 U/ k' z# p, f# E1 J* i5 H
</body>
3 {' N/ B* n6 }
</html>
: o" [( w$ l h
* J( P# \' U% v. I& w
更多网页制作信息请查看: 网页制作
作者:
Acropozelan
时间:
2015-10-11 14:42
要睡觉了 呵呵
作者:
Mqokjdvq
时间:
2015-10-11 14:42
说嘛1~~~想说什么就说什么嘛~~
作者:
wwzcdenleclv
时间:
2015-10-11 14:43
哦...这个...偶昨天就看了....
作者:
gevaemaidovef
时间:
2015-10-11 14:43
命不能争,运可以造,弱者认命,强者抗命,能者求命,智者造命。
作者:
gevaemaidovef
时间:
2015-11-11 13:03
笨点也好~~~~
作者:
wwdu926a
时间:
2015-11-11 13:04
假如我们把自己力所能及的事都完成了,我们会真的令自己大吃一惊。
作者:
gevaemaidovef
时间:
2015-11-11 13:04
可以加精,签定完毕!
作者:
wwdu926a
时间:
2015-11-11 13:05
哈哈~~~相比现在没人在了 吧 哈哈~~~~
作者:
mwxny
时间:
2015-11-11 13:05
说嘛1~~~想说什么就说什么嘛~~
欢迎光临 得知互动 (https://bbs.dezhifl.com/)
Powered by Discuz! X5.0