一、border:none
& J4 j4 f( X# y4 U9 P$ K; Sborder-style的简写: g9 d! h1 q& y( L$ Z/ O& V/ v( {
在chrome审查元素看到以下结果
6 Q7 Y" L% S, u代码如下:
' H1 }6 H! K, L: v2 J: Uelement.style {0 E2 [3 X- P0 B5 Y X9 f
border: none;* x9 j! P d- V6 @5 ~7 s3 D
border-top-style: none;
& E/ d5 R% d8 h1 l ?: y3 Uborder-right-style: none; m6 M* Z& V' ^* l/ V: b
border-bottom-style: none;% l8 B4 X1 d& |6 U [. |
border-left-style: none;
' c. l' q2 ]' K2 }$ n0 H# Y0 Lborder-width: initial;
3 A, Z6 A2 O% h& m' vborder-color: initial;/ c4 F2 Y/ Y+ n
}
H# q) b' r1 ~- G4 b0 Z. U0 w在firefox中用firebug查看元素会看到以下结果:
# y7 K) B) ]6 E* C6 V代码如下:: I b. Q& X1 b0 u9 z7 N
element.style {
1 {* s6 U# F% ^1 }border: medium none;( z4 {2 _1 ^ r; }% @; P
}/ q5 U# A: x5 @( ~* u4 J9 w( M6 q
注意这个medium值
9 ? k6 U' Q0 }) e( \二、border:0$ y$ W! [: k: X5 c; u7 x, R
border-width的简写9 W& @' J, v5 o8 z$ T* J5 u$ h+ S
在chrome审查元素看到以下结果
% O8 K$ ^0 a& w8 t代码如下:% e3 V/ A8 D5 d2 w$ n( I" d! K& j
element.style {
9 L) i3 `* L8 fborder: 0;+ I5 @( b5 \- C* v
border-top-width: 0px;
5 n8 U/ g& V; }" h5 G$ dborder-right-width: 0px;
l. ~/ ]& J* {& l! G' c$ I' P! uborder-bottom-width: 0px;. e0 f# E" Z: Q0 E
border-left-width: 0px;
1 _, y5 k( S" Q* z: v5 fborder-style: initial;% h2 p8 {; @$ Y5 Q
border-color: initial;
* x4 X1 C, X G$ y& y}# ]' ^1 x% s1 k; T4 s( ]! Y* L
在firefox中用firebug查看元素会看到以下结果:4 v. V+ `6 I9 I7 a G7 F
代码如下:
9 p; N+ `3 z3 }( H) M) j$ V4 Ielement.style {
2 l2 m4 P; g3 e/ Y/ Q6 Y! Tborder: 0 none;0 W" i. |" z: a. k1 F* D
}
0 Q7 y0 f i& R D注意在firebug中border:none和border:0的区别
5 Z9 ^2 J8 ~6 W& F下面举个例子来具体说明下: q. y. h2 X- _0 |! W* a5 @/ a9 F8 @
代码如下:) L: B! B" P+ |
<style>0 C# M. [+ {3 j }4 D( I
div {border: 1px solid black; margin: 1em;}
5 j- }/ E% E* v- }9 F* U.zerotest div {border: 0;}
, P/ k* i# o/ Q# r5 L' E.nonetest div {border: none;}
* F/ e3 x& ~5 ^# k2 b; ^div.setwidth {border-width: 3px;}
4 `9 T( B) E8 H8 t a Kdiv.setstyle {border-style: dashed;}
3 z, [# G+ M: ~5 a7 M) M% _% ~# f</style>* @7 P8 X4 |6 h5 w/ w; m: h+ e
<div class=zerotest>: L7 u* j& I* D. ?8 [: F7 \0 d* d2 v
<div class=setwidth>+ O7 C* w; w; X5 b, ]9 L( A- \! j( @
border: 0 and border-width: 3px
" H7 M- R2 b1 y% ^, o9 @</div>
$ B0 m, D0 o' N X+ Q<div class=setstyle>
) f z' S+ f7 I( G0 o3 Sborder: 0 and border-style: dashed
4 \1 h9 [6 Y9 ~" a</div>
+ H) G1 |8 x$ ?! g& P, ?</div>
1 t+ w1 r+ @* I<div class=nonetest>6 l5 k* N* [9 b O7 ]/ S
<div class=setwidth>
9 u% i3 B$ @6 uborder: none and border-width: 3px
' [1 i* I$ P+ a( `5 h</div>
/ n5 c5 U( }1 G7 a: Q<div class=setstyle>
S3 V. q1 c1 U0 Cborder: none and border-style: dashed
' c7 K: x2 Q) p4 N& E4 w) D</div>& K$ A. ^! D* O
</div>
/ H# z/ d4 h4 X5 ^/ x- t4 t/ t有兴趣的朋友可以复制以上代码在这个浏览器试一试:
. D! ]- j- v0 K. T7 g" ?# N测试结果:
. z% a# a3 w" g1、.zerotest .setwidth
, |% Y( X* p v: u$ }虽然定义了border-width:3px,但是border-style:none 所以无边框(ie7会显示3像素的边框,这跟border:0解析有关。下面会讲到)
! d' g+ C1 t4 N# J6 d K- c2、.zerotest .setstyle
! u. L( ]/ r2 ~2 g虽然定义了border-style: dashed,但是border-width:0 所以无边框
( F1 S# \! o e, J0 V3、.nonetest .setwidth
6 N& _- S4 w5 ~. ~8 P虽然定义了border-width:3px,但是border-style:none 所以无边框(ie7下无边框)8 z7 w) _) f) p Q( X/ I
4、.nonetest .setstyle4 [% ^% s/ e0 m- C9 R
定义了border-style:dashed border-style为默认值medium border-color为默认值black 所以会显示3像素黑色的虚线框(ie7下为一像素)# d( T2 ~4 G' X% _
综合1、4可以分析出在ie7下! Z9 n9 z: T+ O3 X# ?
border:0 被解析为 border-width:0
# {, u7 S4 J+ U) N# R1 h. J% @2 O' `, ]border:none 被解析为 border-style:none
; T3 Z! q% B' M7 e5 [+ u, x' }再来看看标准浏览器5 N7 z; Q! ?' c0 w% h; [! G. O! p
border:0 比 border:none多渲染了一个border-width:0,也就是为什么border:none的性能要比border:0高
& O' Y- s4 s) H9 I6 E所以建议使用border:none来实现无边框效果
/ U& Z' \$ X5 ]/ n0 k5 S, y7 l
, O0 S+ F3 j. L5 Y2 G* w% v更多网页制作信息请查看: 网页制作 |
|