search
HomeWeb Front-endCSS TutorialCSS: Customize colorful web link underlines_CSS/HTML

CSS itself does not directly provide the function of changing the underline of HTML links, but as long as we use some techniques, we can still make the monotonous underline of web links become colorful.

1. Basic principles

First of all, the first step to customize the underline of HTML links is to create a graphic. Repeat this graphic in the horizontal direction to form an underline effect. If you want to show the background of the web page behind the underline, you can use a transparent .gif graphic.

Secondly, if the height of the underline graphic is large, the height of the text must be increased appropriately so that there is a larger space between the bottom of one line of text and the top of the next line of text, such as p { line-height: 1.5; } .

Example of custom link underlining

Third, in order to display a custom underline, the default underline must be hidden, that is, a { text-decoration: none; }.

Fourth, set the underline graphic for the link element and construct a custom underline. Assuming that the underline graphic is underline.gif, the CSS code for setting the underline graphic is a { background-image: url(underline.gif); }.

Fifth, we need to make the underline graphic appear repeatedly in the horizontal direction, but not in the vertical direction, otherwise it will be hidden behind the text. The code that requires the underline to repeat only in the horizontal direction is: a { background-repeat: repeat-x; }.

Sixth, to ensure that the graphic appears below the link text (regardless of the font size), use the background-position attribute to place the graphic at the bottom of the link element. For underline graphics such as arrows, you may also want to consider the horizontal alignment of the graphics. Suppose you want to place the underline graphic in the lower right corner, the CSS code is: a { background-position: 100% 100%; }.

Seventh, in order to leave space for custom graphics below the link text, appropriate white space must be added. The specific position of the underline graphic relative to the link text is related to the size of the text, but generally speaking, you can first make the bottom margin equal to the height of the underline graphic, and then adjust it if necessary. For example: a { padding-bottom: 4px; }.

Eighth, since the underline graphic is placed at the bottom of the link element, it must be ensured that the link does not break (if the link is allowed to span multiple lines, only the link text in the following line will have a custom underline). Use the white-space attribute of CSS to prevent link text from wrapping, that is, a { white-space: nowrap; }.

In summary, a complete example of defining CSS style attributes for link elements is as follows:

 a {
​​ text-decoration: none;
​​ background: url(underline.gif) repeat-x 100% 100%;
​​ padding-bottom: 4px;
​​ white-space: nowrap;
​ }

If you want the custom underline to appear only when the mouse is hovering, just change the CSS background attribute originally set directly on the link element to:hover, for example:

 a {
​​ text-decoration: none;
​​ padding-bottom: 4px;
​​ white-space: nowrap;
​ }

a:hover {
​​ background: url(underline.gif) repeat-x 100% 100%;
​ }

2. Appreciation of examples

Suppose there are two underline graphics diagonal.gif (ripple line) and flower.gif (flower). The height and width of the former are 3 and 9, and the height and width of the latter are 11 and 15. Here is a complete example of setting two types of underline:

Example of custom link underline

The source code of the web page is as follows:
​ Note: diagonal.gif and flower.gif have been copied to the same directory where the web page is located.

 


ex

 

 a#example1a {
​ text-decoration: none;
​ background: url(diagonal.gif) repeat-x 100% 100%;
​ white-space: nowrap;
​ padding-bottom: 2px;
​ }

 a#example1b {
​ text-decoration: none;
​ white-space: nowrap;
​ padding-bottom: 2px;
​ }

 a#example1b:hover {
​ background: url(diagonal.gif) repeat-x 100% 100%;
​ }

 a#example2a {
​ text-decoration: none;
​ background: url(flower.gif) repeat-x 100% 100%;
​ white-space: nowrap;
​ padding-bottom: 10px;
​ }

 a#example2b {
​ text-decoration: none;
​ white-space: nowrap;
​ padding-bottom: 10px;
​ }

 a#example2b:hover {
​ background: url(flower.gif) repeat-x 100% 100%;
​ }

-->

 

 

Example:


ripple static underline,
The ripple line that appears when the mouse is over.


flower static underline,
Flower underline that appears when the mouse is over.

 

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Flexbox vs Grid: should I learn them both?Flexbox vs Grid: should I learn them both?May 10, 2025 am 12:01 AM

Yes,youshouldlearnbothFlexboxandGrid.1)Flexboxisidealforone-dimensional,flexiblelayoutslikenavigationmenus.2)Gridexcelsintwo-dimensional,complexdesignssuchasmagazinelayouts.3)Combiningbothenhanceslayoutflexibilityandresponsiveness,allowingforstructur

Orbital Mechanics (or How I Optimized a CSS Keyframes Animation)Orbital Mechanics (or How I Optimized a CSS Keyframes Animation)May 09, 2025 am 09:57 AM

What does it look like to refactor your own code? John Rhea picks apart an old CSS animation he wrote and walks through the thought process of optimizing it.

CSS Animations: Is it hard to create them?CSS Animations: Is it hard to create them?May 09, 2025 am 12:03 AM

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

@keyframes CSS: The most used tricks@keyframes CSS: The most used tricksMay 08, 2025 am 12:13 AM

@keyframesispopularduetoitsversatilityandpowerincreatingsmoothCSSanimations.Keytricksinclude:1)Definingsmoothtransitionsbetweenstates,2)Animatingmultiplepropertiessimultaneously,3)Usingvendorprefixesforbrowsercompatibility,4)CombiningwithJavaScriptfo

CSS Counters: A Comprehensive Guide to Automatic NumberingCSS Counters: A Comprehensive Guide to Automatic NumberingMay 07, 2025 pm 03:45 PM

CSSCountersareusedtomanageautomaticnumberinginwebdesigns.1)Theycanbeusedfortablesofcontents,listitems,andcustomnumbering.2)Advancedusesincludenestednumberingsystems.3)Challengesincludebrowsercompatibilityandperformanceissues.4)Creativeusesinvolvecust

Modern Scroll Shadows Using Scroll-Driven AnimationsModern Scroll Shadows Using Scroll-Driven AnimationsMay 07, 2025 am 10:34 AM

Using scroll shadows, especially for mobile devices, is a subtle bit of UX that Chris has covered before. Geoff covered a newer approach that uses the animation-timeline property. Here’s yet another way.

Revisiting Image MapsRevisiting Image MapsMay 07, 2025 am 09:40 AM

Let’s run through a quick refresher. Image maps date all the way back to HTML 3.2, where, first, server-side maps and then client-side maps defined clickable regions over an image using map and area elements.

State of Devs: A Survey for Every DeveloperState of Devs: A Survey for Every DeveloperMay 07, 2025 am 09:30 AM

The State of Devs survey is now open to participation, and unlike previous surveys it covers everything except code: career, workplace, but also health, hobbies, and more. 

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor