Table of Contents
Previous words
flex
 But just in this way, the elements cannot achieve the effect of aligning both ends" > 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
 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
Home Web Front-end CSS Tutorial Detailed explanation of how to achieve alignment on both ends of CSS

Detailed explanation of how to achieve alignment on both ends of CSS

Mar 25, 2017 am 11:49 AM

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><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>justify-content: space-between;</pre><div class="contentsignin">Copy after login</div></div>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

<li>

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 <div class="code" style="position:relative; padding:0px; margin:0px;"><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; } &amp;lt;style&amp;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 &amp;gt; *{display: block;} .justify-content_flex-justify{-webkit-box-pack: justify;-ms-flex-pack: justify;-webkit-justify-content: space-between;justify-content: space-between;} &amp;lt;/style&amp;gt; &amp;lt;ul class=&amp;quot;list display_flex justify-content_flex-justify&amp;quot;&amp;gt; &amp;lt;li class=&amp;quot;in&amp;quot;&amp;gt;内容&amp;lt;/li&amp;gt; &amp;lt;li class=&amp;quot;in&amp;quot;&amp;gt;样式&amp;lt;/li&amp;gt; &amp;lt;li class=&amp;quot;in&amp;quot;&amp;gt;行为&amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;</pre><div class="contentsignin">Copy after login</div></div>【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><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>&amp;lt;style&amp;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;} &amp;lt;/style&amp;gt; &amp;lt;ul class=&amp;quot;list &amp;quot;&amp;gt; &amp;lt;li class=&amp;quot;in&amp;quot;&amp;gt;内容&amp;lt;/li&amp;gt; &amp;lt;li class=&amp;quot;in&amp;quot;&amp;gt;样式&amp;lt;/li&amp;gt; &amp;lt;li class=&amp;quot;in&amp;quot;&amp;gt;行为&amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;</pre><div class="contentsignin">Copy after login</div></div>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

1

2

3

4

5

6

7

8

9

10

11

12

&lt;style&gt;

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:&quot;&quot;;width:100%;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;

Copy after login

 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<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>&amp;lt;style&amp;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;} &amp;lt;/style&amp;gt; &amp;lt;ul class=&amp;quot;list col3&amp;quot;&amp;gt; &amp;lt;li class=&amp;quot;in&amp;quot;&amp;gt;内容&amp;lt;/li&amp;gt; &amp;lt;li class=&amp;quot;in&amp;quot;&amp;gt;样式&amp;lt;/li&amp;gt; &amp;lt;li class=&amp;quot;in&amp;quot;&amp;gt;行为&amp;lt;/li&amp;gt; &amp;lt;/ul&amp;gt;</pre><div class="contentsignin">Copy after login</div></div>

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 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 Article Tags

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)

What does placeholder mean in vue What does placeholder mean in vue May 07, 2024 am 09:57 AM

What does placeholder mean in vue

How to write spaces in vue How to write spaces in vue Apr 30, 2024 am 05:42 AM

How to write spaces in vue

How to get dom in vue How to get dom in vue Apr 30, 2024 am 05:36 AM

How to get dom in vue

What does span mean in js What does span mean in js May 06, 2024 am 11:42 AM

What does span mean in js

What does rem mean in js What does rem mean in js May 06, 2024 am 11:30 AM

What does rem mean in js

How to introduce images into vue How to introduce images into vue May 02, 2024 pm 10:48 PM

How to introduce images into vue

What is the function of span tag What is the function of span tag Apr 30, 2024 pm 01:54 PM

What is the function of span tag

What language is the browser plug-in written in? What language is the browser plug-in written in? May 08, 2024 pm 09:36 PM

What language is the browser plug-in written in?

See all articles