返回列表 发新帖

利用纯css创建一个三角形

375.0k 9
swmozowtfl 发表于 2015-7-9 23:01:55|湖北 | 查看全部 阅读模式
网页中对话气泡框下边的小三角是非常有用的,绘制的方法很多,想什么字体图标、小图片之类的都可以,但是都不够灵活和快捷,有了 css3 之后绘制一个三角形就非常简单了! S+ y, A* i: a; w$ J2 `0 c$ d) b
利用纯 css 创建一个三角形
5 K: U6 l5 I8 Y3 d首先当然是一个任意的空标签来当小三角,下边的 css 丢进去即可:
" i; g8 J! o5 l代码如下:& G) c' D+ H4 `# t0 T: n
.triangle{
- w) ^) U2 z" W4 Cleft:50%;6 ]0 v: W6 z7 Q0 j
margin-left:-5px;
# d/ w' e. D4 f# O- L9 S7 N1 V! f5 Mwidth:5px;
; {- l! I# _" F# ~- L# Jheight:5px;2 T4 M5 z7 c( O/ y5 Z7 D. q
background:#fafafa;
% [, w4 p" \& Gbottom:-4px;
  [  T- z6 `4 gposition:absolute;$ l  E$ [( P1 X4 K* i, f
transform:rotate(45deg);0 |3 C3 Q/ v1 c% t
-ms-transform:rotate(45deg);
$ o5 K& Z( ^7 O# U+ q$ w-moz-transform:rotate(45deg);" _& i& f, g  O8 T  N
-webkit-transform:rotate(45deg);
" u' S) I6 J! n; o" B8 t# ~  p-o-transform:rotate(45deg);& G1 B7 Z: S$ c
border:1px solid #e5e5e5;' k; `! U& p2 J+ U0 q; d
border-top:none;
7 m/ {! F7 _% ~0 F8 u, D; U6 _border-left:none$ p: g- p1 k, r
}4 s* Y5 d8 E* ~& [8 W9 @
代码利用 css3 的 2d 旋转属性对正方形进行旋转,并且隐藏掉顶部左右两边的边框就可以实现小三角了。
! c5 @* {; q$ _  G, m9 p# S" J# u例子
! e- K3 c$ U3 _6 w, i* U代码如下:) v9 W4 b3 F/ q7 R, }. T
<!doctype html>
, X1 M+ e$ K; e' {6 ^- P<html>4 X0 O/ s" A( t: f6 r; j3 T  }( \
<head>/ e7 p6 ^- U% {6 J
<meta charset=utf-8>
4 p4 a! F$ ?. j9 F1 ^% t<script type=text/javascript src=/libs/jquery/1.4.4/jquery.min.js></script>8 ~+ C- z! k, m; V
<title>三种纯css实现三角形的方法</title>7 q+ i8 y" E& v9 [' N/ a1 c5 I7 N
<link rel=stylesheet >
" u7 \" ]2 ^, H9 n+ l<style type=text/css>* z$ y, h7 F* \" u1 W0 L
.page-info { padding:8px 15px; background:#fcea9e; border-bottom:1px solid #b6bac0; font:normal 16px GEOrgia; }
( K; I0 Y1 _$ ?2 e4 C' I.page-info h1 { float:left; }; T; T+ ?( Z) H2 w9 I
.page-info a { font-weight:bold; color:#222; } 8 q. d+ _7 H* W/ G$ L$ J
.return-article { float:right; }3 ^9 g( f* T  d; k2 e' z* h9 G
.return-article h2{ display:inline; }4 `1 G7 c3 G+ X. q6 z; ?
/*border模拟tips*/) n$ t& m( Y. [& G9 O: ]
.message-box { position:relative; float:left; margin:80px 0 0 100px; width:240px;% G* w$ O5 S% u" b1 h$ x
height:60px; line-height:60px; background:#e9fbe4; box-shadow:1px 2px 3px #e9fbe4;
2 r, L# @8 y# H2 `border:1px solid #c9e9c0; border-radius:4px; text-align:center; color:#0c7823; }
9 M8 N. f5 A( ^# N.triangle-border { position:absolute; left:30px; overflow:hidden; width:0; height:0;7 r% J( Z/ S- t6 i1 d0 i- u
border-width:10px; border-style:solid dashed dashed dashed; }: I$ \% W& @# b; f* r" S
.tb-border { bottom:-20px; border-color:#c9e9c0 transparent transparent transparent; }
. l3 f$ M/ v( v$ k8 K.tb-background { bottom:-19px; border-color:#e9fbe4 transparent transparent transparent; }9 s, D- e2 I& U2 R( Z+ {. }
/*字符模拟tips*/9 O$ I' \5 p  V* V$ |1 p: t
.triangle-character { position:absolute; left:30px; overflow:hidden; width:26px; height:26px; font:normal 26px 宋体; }% w! J9 N, l9 L
.tc-background { bottom:-12px; color:#e9fbe4; }) w) j$ E! H# E3 K
.tc-border { bottom:-13px; color:#c9e9c0;}
+ n% z' n! d; ]/*css3 transfrom 模拟tips*/" q8 Y9 W4 Z/ E
.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;}; r3 ~2 H* F0 b  y1 F9 ]7 J
.transform { -webkit-transform:rotate(45deg); -moz-transform:rotate(45deg); -o-transform:rotate(45deg);
; {) y  |' Y+ ]7 rtransform:rotate(45deg); }7 z" b$ x% r4 g' _# c
/*ie7-9*/$ v% ~. {- f, V! e* F
.ie-transform-filter { ' C, o1 p# K: G( `! V' j
-ms-filter: progid:dximagetransform.microsoft.matrix(m11=0.7071067811865475, m12=-0.7071067811865477, m21=0.7071067811865477, m22=0.7071067811865475, sizingmethod='auto expand');2 R9 g$ Z" x' J, v
filter: progid:dximagetransform.microsoft.matrix( m11=0.7071067811865475,m12=-0.7071067811865477,% ^  u+ `. r5 M( V3 Z
m21=0.7071067811865477,m22=0.7071067811865475,sizingmethod='auto expand');$ k% d, W- g8 g5 |9 w
}
& ]5 Y' A4 r! i% L5 V</style>$ {3 X2 k# I1 b* J* z2 p
</head>6 r) u8 v7 ~' Z+ k8 i
<body>; [7 P0 r7 O" O" W; W* X( s4 x
<div class=message-box>, x1 J- @8 _  ?+ b
<span>我是利用 border 属性实现的</span>' }2 K; a  J% y) r4 o
<div class=triangle-border tb-border></div># w4 k) L6 F! Q2 ?9 h
<div class=triangle-border tb-background></div>
* C  Y0 t. |' E. J</div>: ?7 ~5 f, t- [' w: _+ a( F" Y
<div class=message-box>
! u4 U' ~3 [# t, b6 ^& p# B$ H; m<span>我是利用 ◆ 字符实现的</span>
7 s+ L8 b1 [' u0 m& Q7 t) W* o<div class=triangle-character tc-border>◆</div>1 L/ t; K6 b& @! C, U5 J/ s; ~
<div class=triangle-character tc-background>◆</div>' s# H% i, R4 ^) k7 G# B' n
</div>
+ D" O5 |- h2 [* G<div class=message-box>) d# h' L! y4 C
<span>我是利用 css transfrom 属性实现的</span>
4 V' I, Q( D# S6 e4 `<div class=triangle-css3 transform ie-transform-filter></div>
4 u& w% a( f) u6 Y" f5 ]</div>
9 p4 c: h; l2 ~' O8 n& X  {</body>) i( ~7 _9 P7 S4 c, q7 H$ f4 {: x- Z
</html>
$ n& n. X) |/ E& ]
$ F, @1 h# D% s+ L更多网页制作信息请查看: 网页制作

回复|共 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客服 返回顶部
快速回复 返回顶部 返回列表