


Detailed 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><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
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-alignattribute 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;
}
<style>
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 > *{display: block;}
.justify-content_flex-justify{-webkit-box-pack: justify;-ms-flex-pack: justify;-webkit-justify-content: space-between;justify-content: space-between;}
</style>
<ul class="list display_flex justify-content_flex-justify">
<li class="in">内容</li>
<li class="in">样式</li>
<li class="in">行为</li>
</ul></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-blockto 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;'><style>
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;}
</style>
<ul class="list ">
<li class="in">内容</li>
<li class="in">样式</li>
<li class="in">行为</li>
</ul></pre><div class="contentsignin">Copy after login</div></div>
column Use multi-column layout
column
to achieve similar effects.
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<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><style>
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;}
</style>
<ul class="list col3">
<li class="in">内容</li>
<li class="in">样式</li>
<li class="in">行为</li>
</ul></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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Using Bootstrap in Vue.js is divided into five steps: Install Bootstrap. Import Bootstrap in main.js. Use the Bootstrap component directly in the template. Optional: Custom style. Optional: Use plug-ins.

HTML defines the web structure, CSS is responsible for style and layout, and JavaScript gives dynamic interaction. The three perform their duties in web development and jointly build a colorful website.

There are two ways to create a Bootstrap split line: using the tag, which creates a horizontal split line. Use the CSS border property to create custom style split lines.

WebdevelopmentreliesonHTML,CSS,andJavaScript:1)HTMLstructurescontent,2)CSSstylesit,and3)JavaScriptaddsinteractivity,formingthebasisofmodernwebexperiences.

To set up the Bootstrap framework, you need to follow these steps: 1. Reference the Bootstrap file via CDN; 2. Download and host the file on your own server; 3. Include the Bootstrap file in HTML; 4. Compile Sass/Less as needed; 5. Import a custom file (optional). Once setup is complete, you can use Bootstrap's grid systems, components, and styles to create responsive websites and applications.

To adjust the size of elements in Bootstrap, you can use the dimension class, which includes: adjusting width: .col-, .w-, .mw-adjust height: .h-, .min-h-, .max-h-

How to use the Bootstrap button? Introduce Bootstrap CSS to create button elements and add Bootstrap button class to add button text

There are several ways to insert images in Bootstrap: insert images directly, using the HTML img tag. With the Bootstrap image component, you can provide responsive images and more styles. Set the image size, use the img-fluid class to make the image adaptable. Set the border, using the img-bordered class. Set the rounded corners and use the img-rounded class. Set the shadow, use the shadow class. Resize and position the image, using CSS style. Using the background image, use the background-image CSS property.
