CSS aligned
Previous words
Alignment at both ends is very commonly used in the production of navigation Nav. This article will introduce in detail the three implementation methods of CSS alignment at both ends
flex
Flexible box model flex is a powerful elastic layout method that can hold most layouts Effects, of course, include alignment. You can use the two-end alignment attribute of the main axis alignmentjustify-content
space-between
justify-content: space-between;
If you want to consider the compatibility of the three versions of flex, use the following code
[Note] IE9-browser does not support
.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>
text-align
Horizontal alignmenttext-align
itself has an attribute value that is aligned on 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
<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>
[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
being Squeeze to the second row. 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
, and overflow and hide to solve the problem of redundant line breaks
<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>
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;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>
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 sub-element, use column-rule
to conveniently implement the requirements
<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;} .col-rule{-webkit-column-rule: 1px solid black;-moz-column-rule: 1px solid black;column-rule: 1px solid black;} .in{background-color: lightblue;padding: 0 10px;display:block;} </style> <ul class="list col3 col-rule"> <li class="in">内容</li> <li class="in">样式</li> <li class="in">行为</li> </ul>
For more CSS Alignment related articles, please pay attention to 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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

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

It's out! Congrats to the Vue team for getting it done, I know it was a massive effort and a long time coming. All new docs, as well.

I had someone write in with this very legit question. Lea just blogged about how you can get valid CSS properties themselves from the browser. That's like this.

I'd say "website" fits better than "mobile app" but I like this framing from Max Lynch:

The other day, I spotted this particularly lovely bit from Corey Ginnivan’s website where a collection of cards stack on top of one another as you scroll.

If we need to show documentation to the user directly in the WordPress editor, what is the best way to do it?

There are a number of these desktop apps where the goal is showing your site at different dimensions all at the same time. So you can, for example, be writing

CSS Grid is a collection of properties designed to make layout easier than it’s ever been. Like anything, there's a bit of a learning curve, but Grid is

Questions about purple slash areas in Flex layouts When using Flex layouts, you may encounter some confusing phenomena, such as in the developer tools (d...
