Home > Web Front-end > CSS Tutorial > How Can I Justify Inline-Block Elements Without Unwanted Spacing?

How Can I Justify Inline-Block Elements Without Unwanted Spacing?

DDD
Release: 2024-11-28 09:04:12
Original
923 people have browsed it

How Can I Justify Inline-Block Elements Without Unwanted Spacing?

Aligning Inline Elements with "text-align: justify"

Despite previous attempts to evenly justify inline-block elements using "text-align: justify," a persistent issue arises: the browser adds an empty vertical space after the 100% width element that clears the line of inline-block elements.

Seeking a solution without using line-height: 0, which eliminates the empty space but discards the original line height, we explore potential alternatives.

Present Workaround (IE8 , FF, Chrome Tested)

(See fiddle: https://jsfiddle.net/jasperdeGroot/xe27o/)

CSS:

.prevNext {
    text-align: justify;
}

.prevNext a {
    display: inline-block;
    position: relative;
    top: 1.2em; /* line-height */
}

.prevNext:before{
    content: '';
    display: block;
    width: 100%;
    margin-bottom: -1.2em; /* line-height */
}

.prevNext:after {
    content: '';
    display: inline-block;
    width: 100%;
}
Copy after login

Explanation:

This workaround utilizes a :before pseudo-element with a negative bottom margin to shift the text up, eliminating the extra line. The inline-block elements are then adjusted with position: relative to compensate for this displacement.

Future Solution

A promising solution that awaits full support is the use of "text-align-last: justify," which justifies inline elements without the need for workarounds. However, it currently requires experimental features to be enabled in Webkit browsers, limiting its accessibility.

(See fiddle: https://jsfiddle.net/jasperdeGroot/c3r4w/)

CSS:

.prevNext {
    text-align: justify;
    text-align-last: justify; /* IE */
}
Copy after login

Note: This solution may not be suitable for all browsers until full support is implemented.

The above is the detailed content of How Can I Justify Inline-Block Elements Without Unwanted Spacing?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template