得知互动

标题: 利用纯css创建一个三角形 [打印本页]

作者: swmozowtfl    时间: 2015-7-9 23:01
标题: 利用纯css创建一个三角形
网页中对话气泡框下边的小三角是非常有用的,绘制的方法很多,想什么字体图标、小图片之类的都可以,但是都不够灵活和快捷,有了 css3 之后绘制一个三角形就非常简单了1 j# V% U2 F, G, D, D
利用纯 css 创建一个三角形5 D/ K6 b) v& F+ e8 g
首先当然是一个任意的空标签来当小三角,下边的 css 丢进去即可:7 H8 Y) ?/ L2 L. S
代码如下:
' `3 s: u" f6 X! d) F* l
.triangle{% p6 w/ i5 K2 [$ e, C& Z9 G
left:50%;5 H1 l  C% R* P0 X. ]8 T
margin-left:-5px;6 _( @" H7 b* a
width:5px;
3 F9 |: B' }6 V/ g6 h+ Oheight:5px;) z! D+ m! F( Q8 D0 {
background:#fafafa;" Y5 Z' j' t  d) @: A
bottom:-4px;
. s" m9 Z2 z, a' s. k7 \position:absolute;% j- V/ a/ q& y! X0 D* D
transform:rotate(45deg);
" P# x; \1 l. w-ms-transform:rotate(45deg);8 x+ |1 p* |2 s$ \7 d
-moz-transform:rotate(45deg);1 }7 X& c$ `( e; W: E8 A& F
-webkit-transform:rotate(45deg);1 P# }' n/ ~, K8 B& S
-o-transform:rotate(45deg);- i: T; d7 w7 Y5 e' X
border:1px solid #e5e5e5;
1 S3 a* T0 y3 W" G5 x: Pborder-top:none;8 }; p. K: l5 |- B# D/ K' [* n
border-left:none3 T$ c; n+ ?) G* \
}
' v4 Z* p" R: h1 s/ ^9 g; z2 x! \8 n, T代码利用 css3 的 2d 旋转属性对正方形进行旋转,并且隐藏掉顶部左右两边的边框就可以实现小三角了。
; q% M$ T2 Z* J4 A3 R例子
: {4 B* t8 L/ p代码如下:
) X1 b0 u( `% w$ t5 _3 s. O
<!doctype html>
. R& [8 ^/ f2 S3 t9 @5 D<html>2 y( E+ g% X# l: K  `4 D* C
<head>7 @0 h8 b: _, m# `! a
<meta charset=utf-8>+ n: z- j: U: H# v+ ~4 \# b
<script type=text/javascript src=/libs/jquery/1.4.4/jquery.min.js></script>
0 Z9 t# Z% F3 |/ I<title>三种纯css实现三角形的方法</title>
6 E, X" L; x: }9 e) f; h/ @; S<link rel=stylesheet >
5 J, A3 Z5 w- l- C) v5 s<style type=text/css>
$ t. U$ I- `* S% h4 Z7 |+ X1 q. h( R.page-info { padding:8px 15px; background:#fcea9e; border-bottom:1px solid #b6bac0; font:normal 16px georgia; }8 O! T2 R  y( B
.page-info h1 { float:left; }
! b8 B. }: J+ a; `# x.page-info a { font-weight:bold; color:#222; } ' F1 ~+ c1 Y* Y1 Q: z" ?  c0 d4 O- p
.return-article { float:right; }
! w' Y" y9 [- e7 k.return-article h2{ display:inline; }
; t  \* Q) z2 c# @% `- B9 O7 u+ J! k# f1 E/*border模拟tips*/
- X2 |% q& v& `1 H; r+ [- M.message-box { position:relative; float:left; margin:80px 0 0 100px; width:240px;
5 t* V& n9 V" ?; ^* Dheight:60px; line-height:60px; background:#e9fbe4; box-shadow:1px 2px 3px #e9fbe4;
7 p0 ~( W( d; d' zborder:1px solid #c9e9c0; border-radius:4px; text-align:center; color:#0c7823; }, a; y2 W# X& n+ r
.triangle-border { position:absolute; left:30px; overflow:hidden; width:0; height:0;' `( p, C+ ^+ E) D
border-width:10px; border-style:solid dashed dashed dashed; }+ O1 V' c! W4 f; ?* [& b
.tb-border { bottom:-20px; border-color:#c9e9c0 transparent transparent transparent; }
( L( X0 q) v* k/ J, Y1 ?.tb-background { bottom:-19px; border-color:#e9fbe4 transparent transparent transparent; }
! b# _, h. }9 U2 q0 ]/*字符模拟tips*/+ f* y+ X) W3 |3 ?- ?4 c& V
.triangle-character { position:absolute; left:30px; overflow:hidden; width:26px; height:26px; font:normal 26px 宋体; }5 p- B8 X7 {9 s$ e1 f8 o
.tc-background { bottom:-12px; color:#e9fbe4; }; B- E9 q  z$ k
.tc-border { bottom:-13px; color:#c9e9c0;}: Y1 S% k3 d- H* i, p4 K
/*css3 transfrom 模拟tips*/
. h3 B" t# R* B2 v# a. l7 q1 x.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;}# G  \" B  d. k6 G# k& R2 O
.transform { -webkit-transform:rotate(45deg); -moz-transform:rotate(45deg); -o-transform:rotate(45deg);0 l; f2 H8 q4 ~- _2 |
transform:rotate(45deg); }2 k: ?0 n4 J. D2 ~6 F" x3 o
/*ie7-9*/4 a9 n- K# T6 G! F6 g
.ie-transform-filter { ) ~$ J$ B! _! }/ K- S$ i
-ms-filter: progid:dximagetransform.microsoft.matrix(m11=0.7071067811865475, m12=-0.7071067811865477, m21=0.7071067811865477, m22=0.7071067811865475, sizingmethod='auto expand');' B9 i3 g$ U. c3 T. H# t% _/ [- m, y
filter: progid:dximagetransform.microsoft.matrix( m11=0.7071067811865475,m12=-0.7071067811865477,( ?. _  }$ l/ w) n8 e9 b# W; i
m21=0.7071067811865477,m22=0.7071067811865475,sizingmethod='auto expand');
9 V. N( \3 G! s  X/ h) K9 s: a}8 s9 G, E1 S6 q8 m! C
</style>
: G* h/ }+ x7 r* H</head>  r5 U+ F6 T. H- S# ?% A
<body>
; @4 X  ]9 |2 c& q& b. S5 c& {1 K# S<div class=message-box>
: o8 a4 i  Z* P1 N- x<span>我是利用 border 属性实现的</span>" m+ @" t, p; X% M: m/ n
<div class=triangle-border tb-border></div>* l' i7 `6 r; C% d4 j: V) m7 u$ O7 Q
<div class=triangle-border tb-background></div>
6 J5 g: b5 @' Y: D/ V; \</div>/ M/ n: k3 n0 u4 {
<div class=message-box>
9 R9 @0 u3 V+ [<span>我是利用 ◆ 字符实现的</span>
- F/ f5 A/ b- n# D: |4 G<div class=triangle-character tc-border>◆</div>' u( S2 u7 @5 X+ P7 s$ Z
<div class=triangle-character tc-background>◆</div>9 g/ o' V9 h" g3 X
</div>' \, H8 Y7 s% K; i
<div class=message-box>; N$ e5 A0 f* a7 e1 b# s2 |
<span>我是利用 css transfrom 属性实现的</span>
( Z8 `7 @& H/ w7 L: @<div class=triangle-css3 transform ie-transform-filter></div>
: a8 _8 ~+ f; S- m( K</div>! d/ G- T) M& _; D9 w: s2 c
</body>+ q  o6 _% l1 I' `7 Q2 u) ^% @
</html>, P9 [1 `3 R  F! ~9 p9 N" y& j

& G* V8 l; U/ v9 l' ~$ s" s: R更多网页制作信息请查看: 网页制作
作者: 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