本文列举了兼容 IE 和 FF 的换行 CSS 推荐样式,详细介绍了word-wrap同
word-break的区别。
# d' ?0 n: o+ [" g" P
5 G. o6 |$ p# V( a. T- } 兼容 IE 和 FF 的换行 CSS 推荐样式
* _" v/ X, M/ M! C4 x/ ?0 e
) w- C7 k7 D$ u 最好的方式是
复制内容到剪贴板
代码:
word-wrap:break-word; overflow:hidden;而不是
复制内容到剪贴板
代码:
word-wrap:break-word; word-break:break-all;也不是
复制内容到剪贴板
代码:
word-wrap:break-word; overflow:auto; 在 IE 下没有任何问题,在 FF 下,长串英文会被遮住超出的内容。
6 z( I9 N; H2 D1 Q v6 i" L& g9 K# v3 j( p% C
word-wrap同word-break的区别
/ K& b( ~9 L# q4 n v8 g3 [
7 n g6 [' f* ` word-wrap:
% |+ L) T7 ~, Z: h7 L y) s, @
2 e' ?+ T& N3 N% _
normal Default. Content exceeds the boundaries of its container.
* B9 c6 c% ~& |# k% d# }" H: z9 k
1 L- o8 S8 a$ B3 o e% S break-word Content wraps to next line, and a word-break occurs when necessary. 必要时会触发word-break。
& U* H9 V5 ?& y2 V6 ?( Z
0 e2 E0 ?3 s- s: R) ~
word-break:
% w, T) q3 i2 o) X" D: ^8 ^ F6 w$ t
8 O: K q2 `4 T8 W/ d3 Y; H normal Default. Allows line breaking within words. 好像是只对Asian text起作用。
s5 u3 P9 E. h/ e
9 p+ r- _& J1 U9 d% {( K, t5 ~ break-all Behaves the same as normal for Asian text, yet allows the line to break arbitrarily for non-Asian text. This value is suited to Asian text that contains some excerpts of non-Asian text.
C1 x! y! d1 r8 e. l
8 {. I/ S+ P5 Q3 f/ w, E- G. o7 _! l
keep-all Does not allow word breaking for Chinese, Japanese, and Korean. Functions the same way as normal for all non-Asian languages. This value is optimized for text that includes small amounts of Chinese, Japanese, or Korean.
9 B2 v2 m( x( E8 k" Q/ s' Q' h
: z4 M1 |# @. D 总结如下:
6 z' F- R; B6 b1 H+ t# c" R& }
8 d- s" J, M: @3 r/ u r; K6 [ word-wrap是控制换行的。
( B# u; }, c2 j8 Z: [) ]: D& ~
& N! \* d5 \+ g$ h 使用break-word时,是将强制换行。中文没有任何问题,英文语句也没问题。但是对于长串的英文,就不起作用。
2 F4 p) y9 N4 U# W/ l5 ?7 E; k9 C4 @, S
break-word是控制是否断词的。
5 v( O4 B9 J! K8 g: H
; H9 a6 n5 k( T# S0 d normal是默认情况,英文单词不被拆开。
5 l- u* z8 X3 T% e0 J+ N( ^2 Q
2 w- L, H' A9 l break-all,是断开单词。在单词到边界时,下个字母自动到下一行。主要解决了长串英文的问题。
/ Z7 Y# [2 G9 k6 r1 \. k
" a* m+ T( G: {+ H; W keep-all,是指Chinese, Japanese, and Korean不断词。即只用此时,不用word-wrap,中文就不会换行了。(英文语句正常。)
% d% Y+ a/ W% k' d' ~/ q; K7 l& W8 J" T7 `) f* }* z
ie下:
0 G# D! Q6 A% }, X n
$ Y, k9 Y( w# b: f4 M0 x1 ?( G+ F 使用word-wrap:break-word;所有的都正常。
# A, y& h# u( l0 `. e$ v2 w
( y: E* i" ^( |& }* t ff下:
2 F2 p) b5 [. u( E% `+ j, T9 X
* q9 P' H5 y8 [( b" B( c
如这2个都不用的话,中文不会出任何问题。英文语句也不会出问题。但是,长串英文会出问题。
) `4 _) p0 E& \+ L, e$ V" J- _3 `# x5 v
为了解决长串英文,一般用word-wrap:break-word;word-break:break-all;。但是,此方式会导致,普通的英文语句中的单词会被断开(ie下也是)。
9 P& o# k/ p8 U( Y3 [3 o2 o+ G
. q; [; u" Y9 E3 e5 c; h 目前主要的问题存在于 长串英文 和 英文单词被断开。其实长串英文就是一个比较长的单词而已。
( x" s) ?+ \# ?# ` T. P" {
; K9 h! v3 [1 G3 _( E) _ 即英文单词应不应该被断开那?那问题很明显了,显然不应该被断开了。
, c4 a. d, e+ G8 ]( u
7 X: d! L9 v9 ]/ J& r& ] 对于长串英文,就是恶意的东西,自然不用去管了。但是,也要想些办法,不让它把容器撑大。
' u, L6 \% H; d" I* V) A
$ y7 d S# Z: j5 g 用:overflow:auto; ie下,长串会自动折行。ff下,长串会被遮盖。
+ ]& f; l% e, X* w, e O
: o5 \7 o5 Y$ K% @5 t. e 所以,综上,最好的方式是word-wrap:break-word;overflow:hidden;而不是word-wrap:break-word;word-break:break-all;。
% k: o, T- |9 c1 J. K+ r# T
- u1 a( m8 U% a ~% D; m' R
word-wrap:break-word;overflow:auto;在ie下没有任何问题。在ff下,长串会被遮住部分内容。
! h) w% q4 M. }2 s% {( R9 J3 |
) m0 N% D1 h5 r' |2 [* J 另,测试代码如下:
+ f" T; M2 M* R5 ^ O+ |
3 f0 p/ l( I2 B; N& p5 d
1.htm
0 ?6 D+ D" @, a0 E U
8 Q* U5 e) l# \# m6 o
<style>
" H, F$ j# C+ S5 x
' Q; p# t' ~3 l8 Q) w- ~
.c1{ width:300px; border:1px solid red}
5 e i8 R/ f' V% g" k8 S
: g4 E: w. }- O% r$ z# P1 ^5 r .c2{ width:300px;word-wrap:break-word; border:1px solid yellow}
; M6 Z/ z0 R* ?# r! e" l3 d
+ H1 I8 t( F# g' T9 o .c3{ width:300px;word-wrap:break-word;word-break:break-all; border:1px solid green}
, R; J2 ?% ? @& r
3 ?1 i% t) l7 Q, V* K- p2 v
.c4{ width:300px;word-wrap:break-word;word-break:keep-all; border:1px solid blue}
6 ?5 b: W+ _4 p# d) D: O2 \
; d. }% X7 G1 }- x6 R .c5{ width:300px;word-break:break-all; border:1px solid black}
- Y0 \. N/ w. q/ n
& z! ~$ v: w, V' @) k
.c6{ width:300px;word-break:keep-all; border:1px solid red}
& V6 V. f- [$ \2 F
( R/ i* s. d5 a( e' |( _ F
.c7{ width:300px;word-wrap:break-word;overflow:auto; border:1px solid yellow}
: [' S$ B% k- p0 p4 f$ s, {, S
$ o+ B- ~8 \! J7 X, C0 d
</style>
6 ~$ e8 p7 w+ ?' g! ?
; ?; c0 t3 F. U, E .c1{ width:300px; border:1px solid red}
' H2 W8 V5 _$ R% I7 ^# n& Z/ ?
- n% U9 M5 @/ l6 M4 g5 ]9 I/ x <div class="c1">asdasd
1 z c2 m$ V- c8 V3 h' W9 S
8 h3 E- g' r- j0 G1 P* X </div>
J, g' V, p+ V2 x0 r
3 a) } X" i/ H/ G+ W3 z) Y
<div class=c1>
% o% C3 A3 J5 e6 R
4 z5 I3 [: N% J6 m/ W% Z2 Y This is all English. This is all English. This is all English.
5 Z$ u6 h" A0 w4 v& U H7 j
; N1 K- C) t, d: H/ j7 p </div>
: `5 A q; s6 j& A( k$ O. S
+ D. e4 _: }. X5 D <div class=c1>
, J/ S7 N, b/ i- m% o0 y, u& M+ W# y# I* H1 }0 F
全是中文的情况。全是中文的情况。全是中文的情况。
4 r0 ?3 E5 J3 `% h: G' @& F
. R8 z& }* l7 c8 N% d( Q </div>
* p) g$ Y. q2 c& a' R- L6 ^9 J6 V+ J
<div class=c1>
* G/ _- v3 x5 U$ _+ n* [' j6 _: W- ?5 @( h7 c' _
中英文混排的情况。Chinese and English. 中英文混排的情况。Chinese and English.
' v1 C- x S8 f
, u: i8 L# B$ l, q( l4 V/ I6 l# Z5 }6 D5 u) y
</div>
- ~+ J/ Q' y J& H0 x' G- A+ {/ f. Y) \( E5 T7 D4 Z
<br>
+ [; t& v" B$ {9 f7 W1 K) m
$ e0 N$ g& X/ a" b" x- t6 U
.c2{ width:300px;word-wrap:break-word; border:1px solid yellow}
' i( `$ m, |- A$ p8 b" z! u
+ ?, c' F/ U3 C
<div class="c2">
/ ?) d. s$ j9 |3 H; ]+ t( [: c: L0 \8 {% j1 r8 B% D
safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
6 w! J8 _) R& ]( e
; ~ S. E8 }! [( c </div>
6 X( e I- U5 `# s1 I0 c$ g" Y3 u- k. F# n8 K3 h7 M: ]! W
<div class=c2>
) M. q" ^- w Y! W" l4 e
% {5 F/ `0 L+ W7 x0 ?3 Y" m
This is all English. This is all English. This is all English.
" V- L9 T' n9 R, B
( `7 d" z' Y" E- y; N </div>
+ S! n. B! r& F; w
, u1 s" y9 q( J% R0 L+ u7 @) \
<div class=c2>
( ^1 y' Y0 W2 z( ?* L) s7 E; T$ b: m
# H9 h( G9 |% c- w7 S1 p
全是中文的情况。全是中文的情况。全是中文的情况。
7 k3 r& b# K8 H) N2 R n1 I
1 N! H0 s8 i4 {% T* |7 ~6 Q7 L! Q </div>
- l( G& ?, h0 r* h" }) j
) n6 a. c/ L2 J# S8 U+ N/ n <div class=c2>
! M* g* n# v% A3 r/ j! v2 w/ g' n+ ]
, X% i3 ]4 g. o* i$ y5 ? 中英文混排的情况。Chinese and English. 中英文混排的情况。Chinese and English.
) y- s1 y* h; X
b# ~3 G+ r, H! T
</div>
: n% k. r0 G K6 ?& I, _
2 f% L6 Q* Z% L, k' q <br>
7 T% F4 o0 x, p, Y
+ b: A4 m/ I& i( `( v .c3{ width:300px;word-wrap:break-word;word-break:break-all; border:1px solid green}
- Y/ x9 B% p1 \( h
2 Z( g; {' \: o5 [$ Q8 g <div class="c3">
, f; g+ q& n6 v9 @6 k
/ h/ j& }$ {# A( B safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
: P: |% |+ |6 |- a, M/ f
* V4 [5 W' ^0 v, G </div>
+ ?# E7 e# W6 @% j
( E$ r& L( [, P <div class=c3>
1 T/ F# P3 i3 m* Y" q5 ^1 l
3 E4 K# S( [( J/ Y) K& H9 b! }6 {( U4 A This is all English. This is all English. This is all English.
1 `6 w0 F1 y* M0 `8 b9 X" M* |
6 b+ z8 X* W) {( J M </div>
& g0 a$ `3 X* K+ J
8 [! R* u) l6 M, {7 X' Y5 u7 Q9 P <div class=c3>
: n! g; R" V$ [% j
& P4 a- _1 N& k. y0 ]6 y 全是中文的情况。全是中文的情况。全是中文的情况。
/ X; W9 |, r4 o" l" n% Z( {" l ]! R% y4 B) D0 M" P8 k
</div>
) b" K) J1 F; }* g+ H8 o
- D; D! |/ H: A6 E
<div class=c3>
7 p! ^. Y. a; d4 d
; P) t1 P. s$ E& h" e 中英文混排的情况。Chinese and English. 中英文混排的情况。Chinese and English.
0 ?$ L5 \: f# W9 [8 x! s# d- l9 @2 D9 h! B: T1 q
</div>
% T, M9 t1 E0 ^) I; P. @, S, N
: k4 q8 {8 x1 J& H <br>
& `; E n2 s$ ?. w, w
4 K, |) O6 Z8 D/ f0 v; x
.c4{ width:300px;word-wrap:break-word;word-break:keep-all; border:1px solid blue}
+ x7 L2 o: J' B& I4 J4 `& W- R. T0 Q, R v/ Y; g# K0 I! b
<div class="c4">
1 b" D& `) }9 O ]8 a% ^
+ @/ ^% D7 ]( Z# t9 h; T/ }; S safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
" {6 H/ C* ]2 z9 P0 n' G$ ~* T8 \' Q+ X9 d
</div>
/ T& k5 Q+ Q' O2 R1 X
7 I" u+ { Q, M6 o& Q! [
<div class=c4>
2 E+ }0 P9 d( Y P1 |3 K) P5 q& Q, ?
This is all English. This is all English. This is all English.
! k1 m5 O5 C5 e1 {0 J* R
. S) z9 x; b9 f2 Z8 b6 R1 v </div>
0 z! `0 P9 z# ?7 q% c8 H
7 t1 n# G+ ~: A: \/ C
<div class=c4>
1 a, a% g8 p' v7 R
! k: J! N) G6 R) ]- W 全是中文的情况。全是中文的情况。全是中文的情况。
3 g! B! V. ^( B: z# X
/ Z2 K- d. i% {# ~) G </div>
h/ {8 F$ e5 `3 c
; ^9 }9 C; g' ~7 |& S5 @. b <div class=c4>
. i$ x6 G: D! a6 u# S* g4 e$ D
- _2 F5 \4 a+ X, ?
中英文混排的情况。Chinese and English. 中英文混排的情况。Chinese and English.
}# @1 N1 |) b7 w3 Y
: z: i6 i4 v8 q% c: R6 i9 ^
</div>
2 U, z1 Q9 D5 k- Y9 R
f2 x/ i+ y' Q ?6 ]* Y <br>
4 u- d+ A" G7 [! K
) Y4 |9 r2 F; N, u$ Q2 T& ?
.c5{ width:300px;word-break:break-all; border:1px solid black}
7 W+ N4 n( A) @/ c$ W+ }% P6 Y
4 ]' Q7 n$ x, z2 z1 D( c- J
<div class="c5">
4 c; r$ \ A. D7 n/ X" y1 [
6 g, J+ b7 ]1 K8 w" H safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
( m6 s6 K- w$ e
& G0 W6 g# E8 r. o# \$ q, y0 k# w </div>
* x1 X: }( A' j% p$ e
2 Q9 ?- O( X: s# M) v7 | <div class=c5>
; k$ c | p9 e6 W# a, _
' M' q8 }- n6 K a: C: y
This is all English. This is all English. This is all English.
$ ^5 p: M" G7 g6 O2 @
) A G8 X, J% o, w </div>
; I, s0 } d8 D* G$ w1 l$ l( P0 ~+ k8 e) _. E. b
<div class=c5>
7 z& W6 k$ s. C ~6 z0 y, J, }2 C
3 S0 w3 i4 J. ]/ z4 [
全是中文的情况。全是中文的情况。全是中文的情况。
5 Y4 d, p/ ~+ X2 P& f$ H5 A
% o3 p+ s6 d4 s6 C0 c$ Y+ q: l( [ </div>
. X/ V* m+ U7 u4 g+ Y" v9 i
6 e- w0 |8 p5 |. ^# N4 p* Y
<div class=c5>
% x' B: N6 c0 m, m4 C v4 u& g
) g1 w8 f2 U/ ?$ a0 C4 z0 z7 Z
中英文混排的情况。Chinese and English. 中英文混排的情况。Chinese and English.
, H) X/ e2 c& ], c, c
) ?# p4 F1 O4 |9 G& w9 }$ f& ` J m% |% b
</div>
% _+ v Z$ b* l) b3 w5 e/ }( @/ W( I
: w |0 R8 @$ ] b: g
<br>
O0 d: T- i3 `- H" t
" J) E) r" d* Y4 t3 }' D .c6{ width:300px;word-break:keep-all; border:1px solid red}
# H/ g% b2 J D. B! Q% D% ~' T8 U; P J0 S$ F! m0 S2 b
<div class="c6">
. I- n8 I5 s$ z1 H1 i; q# e4 V
* H& g9 K. d) ^% ~0 s3 A2 v safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
- D. y# Y+ A4 _5 B; z
1 V+ t4 ]: Y, f* b2 ~0 Y6 N
</div>
2 F; D/ I2 K: J8 _- } B6 ^' y0 J
$ q" |" t$ w' \
<div class=c6>
& B' a) k$ ]4 m3 E% S0 _
; Z4 C. Q- W+ k5 [' r) ^ This is all English. This is all English. This is all English.
" o1 q/ k5 F( [8 s E6 k
3 A( y5 z6 `! n! B: c- s1 K$ n8 G' b5 l </div>
* n- d L7 ~8 N1 D% g! x0 r/ \5 s5 @, t/ L* E
<div class=c6>
% ~- P; e( A. h4 }* { G; g
. f9 {. p c" D' d 全是中文的情况。全是中文的情况。全是中文的情况。
1 ]; ?; N/ _3 k/ V, h
, @3 L/ B( ]2 C </div>
3 {# o0 T9 Y' a. I% [, D4 t
7 B" w7 l& H- o8 O7 p% j# t
<div class=c6>
. M- l% a; a! l z2 L; f: z6 [0 C
( n& H/ E8 r) t4 k: v9 | 中英文混排的情况。Chinese and English. 中英文混排的情况。Chinese and English.
- a) `) q" H+ p. ?
$ H! ?9 g+ v! J& L8 Q$ H \ </div>
6 P$ L) W; x& t
& r6 n: @: v5 S' k' r
<br>
( D& r9 L( x6 j+ Y- Q
2 O3 `* W4 G6 u7 x! N% C5 a .c7{ width:300px;word-wrap:break-word;overflow:auto; border:1px solid yellow}
, C `2 H) }% @: {8 Q
6 v' k# l( O2 m2 `* U
<div class="c7">
1 v' t1 }, W" g" {
2 B: l) f d) Y$ I1 U safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
$ G* n- |4 a4 g& P2 W, @" B
( X7 i5 O. w# I! \- K7 A </div>
$ o6 M+ e( i: P% _
4 b b9 F$ Z3 U& Y. s
<div class=c7>
0 ?) I& C$ H+ S( B/ o) D$ @" @0 e: n( x* C& E
This is all English. This is all English. This is all English.
3 y8 {% |, q" R3 z! \4 a4 g, V* H ^8 F/ \7 Y- M: I5 T' R( [
</div>
; {$ y( \% p k* Z k( H- U" R3 i0 F4 P6 j$ I/ R
<div class=c7>
1 `2 @, m/ P) ~( h- g J# J l
( I# B( V, b' v5 N8 V% I
全是中文的情况。全是中文的情况。全是中文的情况。
* b! m7 c+ F2 f" y, @ u, ~/ z
& e( W) c! ^2 S5 k& [ </div>
; q0 S9 Y* ~, w: ^
4 L0 T& [. V* X/ R
<div class=c7>
6 p$ s% z% c; P% X6 M6 N
# Z2 i* q% U: `0 P) S4 |( C 中英文混排的情况。Chinese and English. 中英文混排的情况。Chinese and English.
0 t" q' l$ a4 e0 w1 Q2 T5 G" L" _
) m6 M# r' O9 x0 [6 ?3 W
</div>