|
  
- UID
- 1
- 帖子
- 738
- 精华
- 28
- 积分
- 14389
- 金币
- 2480
- 威望
- 1647
- 贡献
- 1428
|
CSS本身没有直接提供变换HTML链接下划线的功能,但只要运用一些技巧,我们还是可以让单调的网页链接下划线变得丰富多彩。 一、基本原理 . `$ V$ `! p. z$ B/ w
首先,自定义HTML链接下划线的第一步是创建一个图形,在水平方向重复放置这个图形即形成下划线效果。如果要显示出下划线背后的网页背景,可以使用透明的.gif图形。9 x3 V' G6 Z i
' u2 \% ~9 C& {- [1 f4 z
其次,如果下划线图形的高度较大,则必须适当增加文本的高度,使得一行文本的底部与下一行文本的顶部之间有较大的空间,例如p { line-height: 1.5; }。
j! O, J; W/ ~8 K( d- H A5 N3 p5 u: s+ l, e4 a
第三,为显示出自定义的下划线,必须隐藏默认的下划线,即a { text-decoration: none; }。+ x2 I8 D7 S; Q7 H
& W3 D7 W# O! `2 O& T' Q 第四,为链接元素设置下划线图形,构造出自定义的下划线。假设下划线图形是underline.gif,则设置下划线图形的CSS代码为a { background-image: url(underline.gif); }。( U" E, O$ M; e0 R0 M
! `, b3 ~& ^# p
第五,我们要让下划线图形在水平方向反复出现,但不能在垂直方向重复出现,否则它将被隐藏到文本的背后。要求下划线只在水平方向重复出现的代码为:a { background-repeat: repeat-x; }。/ ~# d: n8 l1 m
5 }8 V7 @! n% X: Z3 g$ G2 d0 ], C 第六,为保证图形出现在链接文字的下方(不管字体的大小),用background-position属性将图形放在链接元素的底部。对于箭头之类的下划线图形,可能还要考虑图形在水平方向的对齐方向。假设要将下划线图形放在右下角,CSS代码为:a { background-position:100% 100%; }。5 P [+ q8 [! Z1 K9 R% G( Z, {3 M
' N. \" J; ^% V7 J' G. Z0 W% f 第七,为了在链接文本的下方给自定义图形留出空间,必须加入适当的空白。下划线图形相对于链接文字的具体位置与文字的大小有关,但一般而言,可以先让底部空白等于下划线图形的高度,必要时再作调整。例如:a { padding-bottom: 4px; }。
% q y& [ d* H9 M: I6 k3 p% e) k! j0 c4 I* B6 ^2 m) Y, ]
第八,由于下划线图形放在链接元素的底部,必须保证链接不折行(如允许链接跨越多个行,则只有下面一行的链接文本下面会有自定义的下划线)。用CSS的white-space属性可以防止链接文字折行,即a { white-space: nowrap; }。" _1 l; ~) A2 }& |( a
; `! n- x# P1 l8 V5 g2 K
综上所述,为链接元素定义CSS样式属性的完整例子如:+ N) |; a/ G _/ o. @" r
" I! B2 y( U- E2 A a { j7 E; j( \6 W7 N- M9 w% Q5 D
text-decoration: none;
3 a( o$ ?4 U2 E d- ]* E& L% V background: url(underline.gif) repeat-x 100% 100%;. g& s7 M+ |: G: G1 N3 k, J z
padding-bottom: 4px;
+ h" k! z% @' f0 A9 R white-space: nowrap;; ~$ h5 H- ^0 s2 H
} 如果要让自定义下划线只在鼠标停留时出现,只要把原来直接设置在链接元素上的CSS background属性改到:hover ,例如:5 j% i$ W# o( ]5 [3 N: s
a {+ o% a& d8 Z9 \9 j* J: x
text-decoration: none;
! a+ G$ @& J; U1 R6 d padding-bottom: 4px;% |( h5 u% Y9 \2 t4 }: x1 k* u
white-space: nowrap;
E; G- t9 t9 I. `" c5 c5 Q3 V }; N. c# e+ s. v( h( O
a:hover {
: P9 M) r9 ^2 u0 Y, b( M/ | background: url(underline.gif) repeat-x 100% 100%;
8 Z, `4 W+ D) ~: Z* Q. q } |
|