一、border:none
9 i7 U# Q& i! u$ V) j* n* M9 dborder-style的简写) L* U# j" c1 M" k# ?
在chrome审查元素看到以下结果
7 p3 E1 C c' o. k! X0 w* W, P; e代码如下:
+ }7 V0 I' H6 ]: Y0 g, welement.style {
! L8 w, J. L. s* Bborder: none;& o5 Z1 |6 q; Y. o& b7 F7 c
border-top-style: none;
! t) h& Q0 ]: Y$ ?3 t/ Nborder-right-style: none;$ \* B9 N3 g; _: F" k
border-bottom-style: none;- I, _! J! Y" m0 n8 ^$ a# R' i. m" r
border-left-style: none;
# H y: ^' x/ V6 uborder-width: initial;
& {$ h ~$ d3 }border-color: initial;
4 b. d* z0 }6 C- W7 l}
1 }$ p6 m( h5 b: f/ a在firefox中用firebug查看元素会看到以下结果:2 z! ^% G: G5 I8 R
代码如下:( Y, {; b0 R. I' q4 s: O
element.style {
1 g, H/ I, E0 z+ E6 ?- Xborder: medium none;
' U/ j) n! q: @7 w( m3 V: ?}& B0 V( R5 j9 r1 a& X0 c* p& a
注意这个medium值
4 r; K1 m, z( F; S$ A+ K, ^二、border:0; ?* b: N- v. H( ?* a& N0 v9 i' `
border-width的简写
$ ?' b) a4 |6 [* N( Q/ E在chrome审查元素看到以下结果- g1 i9 R2 S [/ C0 B. J B
代码如下:
( a1 L8 T% U1 O7 U# velement.style {
- I2 i. K2 _8 p' d5 L9 I y+ S9 xborder: 0;
& A8 r& w) @8 j0 Rborder-top-width: 0px;
/ W3 o! {* E! w8 P4 bborder-right-width: 0px;
8 k1 p4 \5 v- t8 yborder-bottom-width: 0px;7 \7 \: k( u: G& U& p
border-left-width: 0px;0 f+ ]0 ]- T8 i' g
border-style: initial;8 t C; X1 `' q: \ `
border-color: initial;! k( ~# }! e @4 y1 X2 ?3 A
}
0 v+ A# }2 K, {在firefox中用firebug查看元素会看到以下结果:
9 K: U+ _. m7 H9 f Y3 w! ^. v代码如下:9 [4 u. ~. ~% ^& ~7 J9 i+ C! V) c
element.style {( j3 j. a7 z7 k" L
border: 0 none;
" M: A! e0 E; H6 a}% F$ w$ h1 |" c" _
注意在firebug中border:none和border:0的区别% l' R0 }, v6 f R4 a O0 E
下面举个例子来具体说明下
- s0 E( {; E2 p9 R代码如下:
0 B7 I: Y G. ]) ]1 G" @! u<style>
; B! k- f) Y) [* q# I# ]div {border: 1px solid black; margin: 1em;}
, `5 W* e2 c ^2 f5 c.zerotest div {border: 0;}% ?' L7 l4 y7 X6 Z( a% O
.nonetest div {border: none;}
$ ~* ^/ ]& v) |; Wdiv.setwidth {border-width: 3px;}1 A( D, @( ~5 U5 T0 E; V+ B
div.setstyle {border-style: dashed;}
( Z) e9 W1 M! y3 }( b# b, Z</style>5 y) e8 X5 ~) T. X2 z1 [5 S _/ f* F
<div class=zerotest>
$ X, }" S" ^, M. z" `1 L/ ^<div class=setwidth>
' e( j1 o! r1 D( t" aborder: 0 and border-width: 3px
0 E( l& W& s' b# T+ X6 [</div>
; q' o) L' z& ~/ F9 _! f- ]% O<div class=setstyle>! G, }7 b3 k) Y- i
border: 0 and border-style: dashed, d- ?7 d! T* Q' w" L3 |3 I" g! N
</div>7 t& M1 m5 W) b6 A2 N
</div>4 R% Q4 e/ P3 S% l& f
<div class=nonetest>
1 Q4 F! P ?- u5 L<div class=setwidth>1 `; a% J4 {, i6 X7 Q$ W/ X
border: none and border-width: 3px8 c. |! T0 b. ?9 y/ B
</div>
+ V! ]( U/ P( C! f<div class=setstyle>; J/ c6 V# t2 ^; j+ u' v0 O: ^) ~
border: none and border-style: dashed
5 h1 s; ~' w9 \5 W7 U# K' b, Y</div>9 M8 ]* i5 l5 s' R1 z3 M
</div>
( g$ t. K3 E/ X有兴趣的朋友可以复制以上代码在这个浏览器试一试:
- |& `* l' S0 U; d. r% Q6 j测试结果:
5 _- i% n3 z9 H$ b. a1、.zerotest .setwidth
! L/ I4 D$ m1 p! O' z# Z& \3 D( F虽然定义了border-width:3px,但是border-style:none 所以无边框(ie7会显示3像素的边框,这跟border:0解析有关。下面会讲到)9 T- k9 V/ e9 K4 w
2、.zerotest .setstyle
& e. E" n' e+ I- n! _* B: t# R/ K虽然定义了border-style: dashed,但是border-width:0 所以无边框& t& G! K& T% B& a/ g
3、.nonetest .setwidth& v, h/ o" V3 s. n& A& }
虽然定义了border-width:3px,但是border-style:none 所以无边框(ie7下无边框)$ ^" x) h/ H2 j% o7 C8 O
4、.nonetest .setstyle1 l" b/ W5 y& C, F _- r
定义了border-style:dashed border-style为默认值medium border-color为默认值black 所以会显示3像素黑色的虚线框(ie7下为一像素)
4 k6 i+ p4 P. m0 B* }: f6 F" H综合1、4可以分析出在ie7下
7 k# j1 h* x& ]) b, aborder:0 被解析为 border-width:0
: R8 }- _* y4 u) h. Xborder:none 被解析为 border-style:none
0 x/ r1 M* Y: J7 O% ?+ N4 p再来看看标准浏览器9 {+ b) M* Q+ k% e) L
border:0 比 border:none多渲染了一个border-width:0,也就是为什么border:none的性能要比border:0高! N. \$ v( a3 h$ B7 t( s: T" |
所以建议使用border:none来实现无边框效果
9 c; E; }& W* a* _& @+ N% a% J' [6 [6 o9 ?% @2 h! ^2 ?" T3 t7 o
更多网页制作信息请查看: 网页制作 |
|