Home Web Front-end CSS Tutorial CSS: Customize colorful web link underlines_CSS/HTML

CSS: Customize colorful web link underlines_CSS/HTML

May 16, 2016 pm 12:10 PM

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

 

 

 

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 of this Website
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

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

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1664
14
PHP Tutorial
1268
29
C# Tutorial
1243
24
Google Fonts   Variable Fonts Google Fonts Variable Fonts Apr 09, 2025 am 10:42 AM

I see Google Fonts rolled out a new design (Tweet). Compared to the last big redesign, this feels much more iterative. I can barely tell the difference

How to Create an Animated Countdown Timer With HTML, CSS and JavaScript How to Create an Animated Countdown Timer With HTML, CSS and JavaScript Apr 11, 2025 am 11:29 AM

Have you ever needed a countdown timer on a project? For something like that, it might be natural to reach for a plugin, but it’s actually a lot more

HTML Data Attributes Guide HTML Data Attributes Guide Apr 11, 2025 am 11:50 AM

Everything you ever wanted to know about data attributes in HTML, CSS, and JavaScript.

A Proof of Concept for Making Sass Faster A Proof of Concept for Making Sass Faster Apr 16, 2025 am 10:38 AM

At the start of a new project, Sass compilation happens in the blink of an eye. This feels great, especially when it’s paired with Browsersync, which reloads

How We Created a Static Site That Generates Tartan Patterns in SVG How We Created a Static Site That Generates Tartan Patterns in SVG Apr 09, 2025 am 11:29 AM

Tartan is a patterned cloth that’s typically associated with Scotland, particularly their fashionable kilts. On tartanify.com, we gathered over 5,000 tartan

How to Build Vue Components in a WordPress Theme How to Build Vue Components in a WordPress Theme Apr 11, 2025 am 11:03 AM

The inline-template directive allows us to build rich Vue components as a progressive enhancement over existing WordPress markup.

While You Weren't Looking, CSS Gradients Got Better While You Weren't Looking, CSS Gradients Got Better Apr 11, 2025 am 09:16 AM

One thing that caught my eye on the list of features for Lea Verou's conic-gradient() polyfill was the last item:

A Comparison of Static Form Providers A Comparison of Static Form Providers Apr 16, 2025 am 11:20 AM

Let’s attempt to coin a term here: "Static Form Provider." You bring your HTML

See all articles