一、border:none
. s$ ^9 }# f% u m2 ?border-style的简写6 ~4 O+ M- f+ d% X! i+ g8 R% _
在chrome审查元素看到以下结果3 o5 J" V. K6 {, b3 E- C
代码如下:4 s& T. @0 E. o
element.style {
9 r7 n6 C$ S% n3 s6 k$ s/ O: Zborder: none;
+ `" _5 r- g) Z' D, }border-top-style: none;$ b' p9 X/ q4 \
border-right-style: none;
' V; \, o- O' e5 }! Hborder-bottom-style: none;
7 Q6 m- U# D& y3 M7 Rborder-left-style: none;# Z* [1 |$ J: t g/ W- N
border-width: initial;
/ z7 N9 j; N4 ~4 } Cborder-color: initial; s7 z5 \0 j9 j2 o: |
}
* s* P q7 a$ U9 q z: G在firefox中用firebug查看元素会看到以下结果:
5 d0 Z# T' q- T3 _* V代码如下:
4 Z2 m0 g& s* q1 i8 Xelement.style {
& s! t) k( M, ]' ~* Cborder: medium none;
$ {; h/ j; r2 D3 Q4 |}) A0 V4 t8 F2 f- f- w- ^
注意这个medium值
, k; M+ \1 q, ]4 W/ [, I! k p' k6 _二、border:0
# d1 z/ |) V9 P# B2 _border-width的简写
8 u, K$ o! ~. ^8 Q" y; g, S在chrome审查元素看到以下结果, \2 ^6 P) f1 D# {" |& Z: V, ]3 V# o
代码如下:1 k; \8 i; U( A; m
element.style {
6 F8 w& h$ d8 I4 ?border: 0;( X- r# h2 ?' }3 Z5 L& o. Y( g
border-top-width: 0px;! Q$ y' r" I `# @" M& g% B4 e1 ^
border-right-width: 0px;' @) X% H9 i6 @8 R, `" v* H
border-bottom-width: 0px;
1 @( |& P0 @+ m2 |border-left-width: 0px;: R' \4 j4 ^* m7 ~
border-style: initial;
" V9 j, H6 Y. Cborder-color: initial;' H6 d4 q0 H5 L$ ~4 Y$ \- F- ]3 P n
}4 f7 p, ?: R+ `+ R/ Y
在firefox中用firebug查看元素会看到以下结果:+ {' x# Q' g# o4 I
代码如下:
J9 m' f0 _; x6 ^8 velement.style {3 |+ U5 x% }/ r" f' C% d/ y/ k0 H: j
border: 0 none;: H" Q1 F; ?" r8 _+ M
}
$ r X! A# M; H- X- O注意在firebug中border:none和border:0的区别
( R: M# w! @' s: V: a' _下面举个例子来具体说明下
/ m! t! M6 U; i8 s& |代码如下:# W2 e" S O7 V! ~/ f- G
<style>( O) _3 } m* q, T8 b0 F8 V: ^* G
div {border: 1px solid black; margin: 1em;}' l. y9 [1 j8 e
.zerotest div {border: 0;}7 j, q; c: q0 H5 }/ J) w
.nonetest div {border: none;}0 k, e U- Z; u
div.setwidth {border-width: 3px;}3 u" i1 S' G7 A
div.setstyle {border-style: dashed;}
: Y Y4 q+ E7 P</style># h3 c% @2 k, E8 k1 A9 a& i3 i
<div class=zerotest>9 T- ?5 u/ E2 l1 n! F8 j* {
<div class=setwidth>
8 e% N# L0 _+ N: P, k% f. uborder: 0 and border-width: 3px7 e" y( n- A! P" {( m$ ]2 u8 ~
</div>$ W+ Q# c- G$ v, N- d- |' u, I$ r
<div class=setstyle>
. L! f' J2 m8 iborder: 0 and border-style: dashed9 Q# ?9 L( \. r8 L. q$ R
</div>
j$ H2 b0 r4 t! v</div>. L4 q4 s e( W6 |$ s$ U y1 q
<div class=nonetest>) y" k) N y: _5 I. g6 P6 n$ E6 _! _
<div class=setwidth>- f; v2 c; \- U3 B) Z O
border: none and border-width: 3px
p' h& c# V" V: F: E</div>
' t, p! r; L/ ]4 ~, }" M: Q5 x% c- v<div class=setstyle>
0 S3 p9 e6 ?- z& W5 X) A, g- mborder: none and border-style: dashed
4 y9 b% A5 o3 e- ^4 E</div>
. ]# u- Y2 ]( |% i</div>( h0 S3 S" p8 u* @' V
有兴趣的朋友可以复制以上代码在这个浏览器试一试:3 Z" }5 B: l$ F. v
测试结果:
; b/ Q( D( S3 D4 }- y- R' A4 W4 c& K0 B1、.zerotest .setwidth
0 S6 L( V L( F虽然定义了border-width:3px,但是border-style:none 所以无边框(ie7会显示3像素的边框,这跟border:0解析有关。下面会讲到)
- f6 L' @- j/ l( j& g2、.zerotest .setstyle
5 b3 O2 s) J: M虽然定义了border-style: dashed,但是border-width:0 所以无边框
/ p$ \+ z- H3 c. [3、.nonetest .setwidth0 U5 L! p# T8 a/ B j
虽然定义了border-width:3px,但是border-style:none 所以无边框(ie7下无边框)
' _. y0 q9 T' K8 {) A4、.nonetest .setstyle- A& s% R3 e1 j0 ~5 }) c
定义了border-style:dashed border-style为默认值medium border-color为默认值black 所以会显示3像素黑色的虚线框(ie7下为一像素)
+ F K' F) ]6 B+ R2 r* A+ c综合1、4可以分析出在ie7下) J0 j3 @% h# ~: `9 p
border:0 被解析为 border-width:0
! M2 O0 x2 z I1 i( Nborder:none 被解析为 border-style:none
k" d7 _; C* d& Q/ Y e6 `( v) O再来看看标准浏览器
- w! q% Z' Q8 V9 c* t5 a( yborder:0 比 border:none多渲染了一个border-width:0,也就是为什么border:none的性能要比border:0高' N$ b1 c; M, l4 a8 u# X) Q
所以建议使用border:none来实现无边框效果7 g- f" X; i. A) J. J5 Y/ T, k
; I& y% M! ^# I: D, ~! q更多网页制作信息请查看: 网页制作 |
|