Home >Web Front-end >CSS Tutorial >How to Properly Justify Inline-Block Elements Without Extra Vertical Space?

How to Properly Justify Inline-Block Elements Without Extra Vertical Space?

Barbara Streisand
Barbara StreisandOriginal
2024-11-30 12:03:101033browse

How to Properly Justify Inline-Block Elements Without Extra Vertical Space?

Proper Text Justification of Inline-Block Elements with "text-align: justify;"

Several discussions have explored the challenges of evenly distributing text across inline-block elements using "text-align: justify;". However, a lingering issue is the empty vertical space that appears below the line of elements.

The proposed workaround, as seen in this fiddle, involves setting "line-height: 0;" on the parent element. However, this sacrifices any previously set line-height on the child elements.

An alternative solution, presented in this fiddle, addresses this issue without affecting line-height:

CSS

.prevNext {
    text-align: justify;
}

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

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

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

Explanation

The "display: block" on the ":before" element with a negative bottom margin lifts the text up by one line-height, eliminating the extra line. The "position: relative" on the inline-block elements counteracts this displacement, but without adding an additional line.

The use of "em" in the margin-bottom and top settings accommodates any line-height set as a multiplier value. This ensures that the displacement matches the intended line height.

Future Clean Solution

A potential future solution employs a webkit property:

.prevNext {
    text-align: justify;
    -moz-text-align-last: justify;
    -webkit-text-align-last: justify;
    text-align-last: justify; /* IE */
}

This method works in Firefox 12.0 and IE8 , but requires experimental features to be enabled in Webkit browsers. In Webkit version 39 , this property is supported without the "-webkit-" extension, but only if experimental features are enabled.

The above is the detailed content of How to Properly Justify Inline-Block Elements Without Extra Vertical Space?. For more information, please follow other related articles on the PHP Chinese website!

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