发新话题
打印

自定多姿多彩的网页链接下划线


朋友别哭,要坚定自己的信心,我们一路陪伴您!!!

自定多姿多彩的网页链接下划线

CSS本身没有直接提供变换HTML链接下划线的功能,但只要运用一些技巧,我们还是可以让单调的网页链接下划线变得丰富多彩。   一、基本原理 ) b7 g* N7 [2 X* A: ^  r
  首先,自定义HTML链接下划线的第一步是创建一个图形,在水平方向重复放置这个图形即形成下划线效果。如果要显示出下划线背后的网页背景,可以使用透明的.gif图形。" w7 @7 D) [- L! ^$ w
2 F1 ]" ?6 G  E' ]9 x
  其次,如果下划线图形的高度较大,则必须适当增加文本的高度,使得一行文本的底部与下一行文本的顶部之间有较大的空间,例如p { line-height: 1.5; }。
# Y. P, Z' S6 V, ^2 |" H, z* c9 Q; L) r5 J
  第三,为显示出自定义的下划线,必须隐藏默认的下划线,即a { text-decoration: none; }。
3 B+ }9 j- @. e* P! B# D6 J
$ t  f: [; h4 d+ V: I  第四,为链接元素设置下划线图形,构造出自定义的下划线。假设下划线图形是underline.gif,则设置下划线图形的CSS代码为a { background-image: url(underline.gif); }。. ~( u$ u5 Y# _

3 B1 V0 u+ m4 a$ k8 j: B' ]  第五,我们要让下划线图形在水平方向反复出现,但不能在垂直方向重复出现,否则它将被隐藏到文本的背后。要求下划线只在水平方向重复出现的代码为:a { background-repeat: repeat-x; }。, p* H5 ?; L' r4 q. j1 N. a' o
# c4 E% d3 c9 r6 _
  第六,为保证图形出现在链接文字的下方(不管字体的大小),用background-position属性将图形放在链接元素的底部。对于箭头之类的下划线图形,可能还要考虑图形在水平方向的对齐方向。假设要将下划线图形放在右下角,CSS代码为:a { background-position:100% 100%; }。8 Z7 d. F* O- N3 ^' |5 V& F/ v

! k; o$ I3 \  R) @0 P0 m- g: P% e! f  第七,为了在链接文本的下方给自定义图形留出空间,必须加入适当的空白。下划线图形相对于链接文字的具体位置与文字的大小有关,但一般而言,可以先让底部空白等于下划线图形的高度,必要时再作调整。例如:a { padding-bottom: 4px; }。" |. ~% q& e8 K3 a8 m. o

# e2 U/ k) w' G  第八,由于下划线图形放在链接元素的底部,必须保证链接不折行(如允许链接跨越多个行,则只有下面一行的链接文本下面会有自定义的下划线)。用CSS的white-space属性可以防止链接文字折行,即a { white-space: nowrap; }。
3 H) |2 V8 ~. r; v# l6 N4 ]) [7 \- S
  综上所述,为链接元素定义CSS样式属性的完整例子如:# I) ]. _7 p0 O

. B6 }# A; j6 N0 |2 y$ r$ u  a {
2 [+ `: C, p  a' z   text-decoration: none;
4 ~) F3 ?( u# W. j7 |   background: url(underline.gif) repeat-x 100% 100%;9 V6 }0 j* h) S/ O
   padding-bottom: 4px;
5 B1 e% d4 P# W* b! N. d- t   white-space: nowrap;3 y5 ~0 J  N. v% ^6 |: A( K
  }   如果要让自定义下划线只在鼠标停留时出现,只要把原来直接设置在链接元素上的CSS background属性改到:hover ,例如:
. z: W# Y1 c" M6 R$ q  a {
  ?& a7 R0 o+ e  e, g1 B& \   text-decoration: none;8 i) E% H2 G4 T. m7 x
   padding-bottom: 4px;' B9 ^, T+ {2 C$ Y/ T# \( U
   white-space: nowrap;
$ Q/ I4 _: y5 i, g& L- t  }
8 M5 ~0 r- j+ P  k7 ?! g* e* v  a:hover {
4 C9 W" i/ K# h8 L0 o   background: url(underline.gif) repeat-x 100% 100%;  A- g' y$ D( t1 i$ T
  }

TOP

发新话题