糯米文學吧

位置:首頁 > 設計 > 網頁設計

如何巧妙利用CSS自定義網頁下劃線樣式

CSS為網頁設計者們提供了豐富而靈活的頁面元素表現形式的控制手段。但是,或許你可能注意到了,對於下劃線,CSS提供的可選操作卻不是很多。一般情況下,人們看到的下劃線基本上都是橫直線,缺少生氣和靈動。不過,路並不是死的,通過一些絕妙的改造,我們還是可以做出富有創意的下劃線來使頁面更為美觀。下面小編給大家分享的是學習巧妙利用CSS自定義網頁下劃線樣式 ,在這裏詳細的介紹了學習巧妙利用CSS自定義網頁下劃線樣式 ,希望對大家有所幫助!

如何巧妙利用CSS自定義網頁下劃線樣式

這是一個自定義下劃線的例子:自定義的下劃線 。是不是很酷呢?除了能讓你的網頁呈現出一個與眾不同的風格之外,它還能對於文檔中不同的文字類型給與不同的視覺外觀,起到提醒或者着重的作用。

下面我們就來一起學習如何自定義與眾不同的下劃線。

首先,我們得先準備一幅作為下劃線的圖片。你可以利用先成的,也可以自己動手繪制。需要提醒注意的是,你所準備的圖片應該適合水平方向上的重複,最好還能使透明的GIF格式,這樣能夠確保背景不被遮擋。

另外,如果你所準備的下劃線圖片在高度(粗細)上佔用比較多的像素,那麼,應當增加該行文本和下行文本之間的行距(line-height)空間,可以這麼設定:

p { line-height: 1.5; }

接下來要做的事情是取消原來默認的下劃線,這樣我們才能把自定義的下劃線應用到指定文本,使用如下的CSS設定(它的含義是讓超鏈接文字沒有任何修飾):

a { text-decoration: none; }

好了,現在可以來創建自定義的下劃線了,這裏,我們用準備的圖片設定為超鏈接元素的背景圖片,如下:

a { background-image: url(underline.gif); }

當然,文字的長度未必和原圖的長度相等,這就需要考慮圖片重複的問題,也就是説,應當把重複限定在水平方向的X軸上,可以如下設定:

a { background-repeat: repeat-x; }

還有個必須考慮的問題,就是字的`大小改變怎麼辦?要讓下劃線的圖片始終顯示在超鏈接文字的下方,而不必理會文字大小的話,我們應當使用CSS中的背景位置(background-position)屬性來定位圖片位於超鏈接元素色底部。而對於如箭頭這樣的下劃線圖片,還得考慮超鏈接的文本邊緣和圖片邊對齊。 下面的這個例子將下劃線背景圖片的位置限定在右下角:

a { background-position: 100% 100%; }

如何控制自定義的下劃線圖片和文字之間的空白呢?這個可以通過增加填充(padding)來做到。下劃線圖片相對於超鏈接文本基線(baseline)的確切位置以來與所用的字的大小。建議你一開始將底部填充(bottom-padding)的大小設定同下劃線圖片的高度相等,然後再慢慢調整到合適位置(下面這個CSS設定超鏈接的底部填充為4像素):

a { padding-bottom: 4px; }

因為下劃線的圖片被定位在超鏈接元素的底部,所以需要確保所用的超鏈接文本沒有跨行,否則,只有處在最下面的超鏈接文本會出現自定義的下劃線了。怎麼解決呢,那就是阻止超鏈接文本跨行產生,可以通過CSS的white-space屬性來完成:

a { white-space: nowrap; }

好了,把上面提到的這些超鏈接標記的CSS設定合併起來,結果如下:

a {

text-decoration: none;

background: url(underline.gif) repeat-x 100% 100%;

padding-bottom: 4px;

white-space: nowrap;

}

還記得有些超鏈接文本沒有下劃線,但是當鼠標移到它的上面的時候,下劃線就浮現出來的情況麼?自定義的下劃線也可以做到這個效果,那就在:hover上設定超鏈接背景,而不是在超鏈接標記a上設定,如下:

a {

text-decoration: none;

padding-bottom: 4px;

white-space: nowrap;

}

a:hover {

background: url(underline.gif) repeat-x 100% 100%;

}

怎麼樣,是不是很簡單呢?在來看看一些例子和它們對應的CSS設定:

靜態下劃線

a#example3a {

text-decoration: none;

background: url('http://tech.tom.com/images/computer/2004/02/04/diagonal.gif') repeat-x 100% 100%;

white-space: nowrap;

padding-bottom: 2px

}

浮動效果下劃線

a#example3b {

text-decoration: none;

white-space: nowrap;

padding-bottom: 2px;

}

a#example3b:hover {

background: url('http://tech.tom.com/images/computer/2004/02/04/diagonal.gif') repeat-x 100% 100%;

}

靜態下劃線

a#example4a {

text-decoration: none;

background: url('http://tech.tom.com/images/computer/2004/02/04/flower.gif') repeat-x 100% 100%;

white-space: nowrap;

padding-bottom: 10px

}

浮動花朵效果下劃線

a#example4b {

text-decoration: none;

white-space: nowrap;

padding-bottom: 10px;

}

a#example4b:hover {

background: url('http://tech.tom.com/images/computer/2004/02/04/flower.gif') repeat-x 100% 100%;

}

靜態箭頭下劃線

a#example1a {

text-decoration: none;

background: url('http://tech.tom.com/images/computer/2004/02/04/arrow.gif') repeat-x 100% 100%;

white-space: nowrap;

padding-bottom: 5px

}

浮動動畫箭頭下劃線 (這裏箭頭會出現滾動,不過這一滾動圖片的效果只在部分瀏覽器中看得到)

a#example2b {

text-decoration: none;

white-space: nowrap;

padding-bottom: 5px;

}

a#example2b:hover {

background: url('http://tech.tom.com/images/computer/2004/02/04/animarrow.gif') repeat-x 100% 100%;

}