search
HomeWeb Front-endCSS TutorialDetailed explanation of how to achieve alignment on both ends of CSS

Previous words

 Alignment at both ends is very commonly used in the production of navigation Nav. This article will introduce in detail the 3 implementation methods of CSS alignment at both ends

flex

PHONEFlexible box model As a powerful elastic layout method, flex can hold most layouts Effects, of course, include alignment. If you want Considering the compatibility of the three versions of flex, use the following code <a href="http://www.php.cn/wiki/109.html" target="_blank"> [Note] IE9-browser does not support </a><pre class='brush:php;toolbar:false;'>justify-content: space-between;</pre>text-align Horizontal Alignment

text-align

itself has an attribute value of aligning both ends

justify

. However, it should be noted that when using it to achieve alignment at both ends, you need to pay attention to adding whitespace characters (including spaces, newlines, and tabs) between elements for it to work. Since there are line breaks between

  • elements in the HTML structure, there is no need to add additional whitespace characters  But just in this way, the elements cannot achieve the effect of aligning both ends

     Elements must occupy a full line, as shown below. Elements that fill up a row can be aligned at both ends, but elements that do not fill up cannot be aligned 【text-align-last】  Obviously, none of the above situations meet the requirements. At this time, You need to use the attribute text-align-last, which is used to specify how to align the last line of text.

    So replace the

    text-align

    attribute with

    text -align-last

    . However, to be compatible with

    IE browser

    , you need to set text-align:justify

    at the same time [Note] Safari browser, IOS, androis4.4-browser does not support <pre class='brush:php;toolbar:false;'>.justify-content_flex-justify{ -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; } &lt;style&gt; body{margin: 0;} ul{margin: 0;padding: 0;list-style: none;} .list{width: 200px;overflow: hidden;border: 1px solid gray;background-color: lightgreen;line-height: 30px;} .in{background-color: lightblue;padding: 0 10px;} .display_flex{display: -webkit-box;display: -ms-flexbox;display: -webkit-flex;display: flex;} .display_flex &gt; *{display: block;} .justify-content_flex-justify{-webkit-box-pack: justify;-ms-flex-pack: justify;-webkit-justify-content: space-between;justify-content: space-between;} &lt;/style&gt; &lt;ul class=&quot;list display_flex justify-content_flex-justify&quot;&gt; &lt;li class=&quot;in&quot;&gt;内容&lt;/li&gt; &lt;li class=&quot;in&quot;&gt;样式&lt;/li&gt; &lt;li class=&quot;in&quot;&gt;行为&lt;/li&gt; &lt;/ul&gt;</pre>【after pseudo-element】 Using text-align-last can achieve the effect of aligning both ends, but the compatibility is not good. By setting the pseudo element :after

    to the parent element, and setting

    inline-block

    to the pseudo element, and setting the width to 100%, it is equivalent to the pseudo element

    :after

    is squeezed to the second line. As a result, the original element occupies the first line, triggering the effect of aligning both ends  It should be noted here that because the blank space will be parsed as a newline, you can set the height of the parent element height<a href="http://www.php.cn/wiki/978.html" target="_blank">, and overflow and hide to solve the problem of redundant line breaks</a><pre class='brush:php;toolbar:false;'>&lt;style&gt; body{margin: 0;} ul{margin: 0;padding: 0;list-style: none;} .list{width: 200px;overflow: hidden;border: 1px solid gray;background-color: lightgreen;line-height: 30px;text-align: justify;text-align-last: justify;} .in{background-color: lightblue;padding: 0 10px;display:inline-block;} &lt;/style&gt; &lt;ul class=&quot;list &quot;&gt; &lt;li class=&quot;in&quot;&gt;内容&lt;/li&gt; &lt;li class=&quot;in&quot;&gt;样式&lt;/li&gt; &lt;li class=&quot;in&quot;&gt;行为&lt;/li&gt; &lt;/ul&gt;</pre>column Use multi-column layoutcolumn to achieve similar effects.

    column-count

    defines the number of columns of the element. In the example, there are 3 sub-elements, so it is defined as 3 columns. Special attention should be paid to the fact that the child elements need to be set as block elements at this time for it to take effect.  [Note] IE9-browser does not support

    <style>
    body{margin: 0;}    
    ul{margin: 0;padding: 0;list-style: none;}
    .list{width: 200px;height: 30px;overflow: hidden;border: 1px solid gray;background-color: lightgreen;line-height: 30px;text-align: justify;}
    .in{background-color: lightblue;padding: 0 10px;display:inline-block;}
    .list:after{content:"";width:100%;display:inline-block;}
    </style>
    <ul class="list ">
        <li class="in">内容</li>
        <li class="in">样式</li>
        <li class="in">行为</li>  
    </ul>

     If vertical bars need to be used between child elements , and when the height of the vertical line is the same as the height of the child element, use

    column-rule

    to conveniently implement the requirement<pre class='brush:php;toolbar:false;'>&lt;style&gt; body{margin: 0;} ul{margin: 0;padding: 0;list-style: none;} .list{width: 200px;overflow: hidden;border: 1px solid gray;background-color: lightgreen;line-height: 30px;text-align: center;} .col3{-webkit-column-count:3;-moz-column-count:3;column-count:3;} .in{background-color: lightblue;padding: 0 10px;display:block;} &lt;/style&gt; &lt;ul class=&quot;list col3&quot;&gt; &lt;li class=&quot;in&quot;&gt;内容&lt;/li&gt; &lt;li class=&quot;in&quot;&gt;样式&lt;/li&gt; &lt;li class=&quot;in&quot;&gt;行为&lt;/li&gt; &lt;/ul&gt;</pre>

  • The above is the detailed content of Detailed explanation of how to achieve alignment on both ends of CSS. 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
    The Lost CSS Tricks of Cohost.orgThe Lost CSS Tricks of Cohost.orgApr 25, 2025 am 09:51 AM

    In this post, Blackle Mori shows you a few of the hacks found while trying to push the limits of Cohost’s HTML support. Use these if you dare, lest you too get labelled a CSS criminal.

    Next Level CSS Styling for CursorsNext Level CSS Styling for CursorsApr 23, 2025 am 11:04 AM

    Custom cursors with CSS are great, but we can take things to the next level with JavaScript. Using JavaScript, we can transition between cursor states, place dynamic text within the cursor, apply complex animations, and apply filters.

    Worlds Collide: Keyframe Collision Detection Using Style QueriesWorlds Collide: Keyframe Collision Detection Using Style QueriesApr 23, 2025 am 10:42 AM

    Interactive CSS animations with elements ricocheting off each other seem more plausible in 2025. While it’s unnecessary to implement Pong in CSS, the increasing flexibility and power of CSS reinforce Lee's suspicion that one day it will be a

    Using CSS backdrop-filter for UI EffectsUsing CSS backdrop-filter for UI EffectsApr 23, 2025 am 10:20 AM

    Tips and tricks on utilizing the CSS backdrop-filter property to style user interfaces. You’ll learn how to layer backdrop filters among multiple elements, and integrate them with other CSS graphical effects to create elaborate designs.

    SMIL on?SMIL on?Apr 23, 2025 am 09:57 AM

    Well, it turns out that SVG's built-in animation features were never deprecated as planned. Sure, CSS and JavaScript are more than capable of carrying the load, but it's good to know that SMIL is not dead in the water as previously

    'Pretty' is in the eye of the beholder'Pretty' is in the eye of the beholderApr 23, 2025 am 09:40 AM

    Yay, let's jump for text-wrap: pretty landing in Safari Technology Preview! But beware that it's different from how it works in Chromium browsers.

    CSS-Tricks Chronicles XLIIICSS-Tricks Chronicles XLIIIApr 23, 2025 am 09:35 AM

    This CSS-Tricks update highlights significant progress in the Almanac, recent podcast appearances, a new CSS counters guide, and the addition of several new authors contributing valuable content.

    Tailwind's @apply Feature is Better Than it SoundsTailwind's @apply Feature is Better Than it SoundsApr 23, 2025 am 09:23 AM

    Most of the time, people showcase Tailwind's @apply feature with one of Tailwind's single-property utilities (which changes a single CSS declaration). When showcased this way, @apply doesn't sound promising at all. So obvio

    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

    Atom editor mac version download

    Atom editor mac version download

    The most popular open source editor

    SAP NetWeaver Server Adapter for Eclipse

    SAP NetWeaver Server Adapter for Eclipse

    Integrate Eclipse with SAP NetWeaver application server.

    Dreamweaver Mac version

    Dreamweaver Mac version

    Visual web development tools

    VSCode Windows 64-bit Download

    VSCode Windows 64-bit Download

    A free and powerful IDE editor launched by Microsoft

    WebStorm Mac version

    WebStorm Mac version

    Useful JavaScript development tools