search
HomeWeb Front-endCSS TutorialSummary of CSS3 flex layout

Summary of CSS3 flex layout

Feb 21, 2020 pm 05:49 PM
css3flexSummarize

Summary of CSS3 flex layout

CSS3 flex layout summary

In 2009, W3C proposed a new solution----Flex layout, which can be simple and complete , implement various page layouts responsively. Currently, it is supported by all browsers.

Flex is the abbreviation of Flexible Box, which means "flexible layout" and is used to provide maximum flexibility for box-shaped models. Any container can be designated as a Flex layout.

(Recommended learning: CSS tutorial)

Inline elements can also use Flex layout.

.box{
  display: flex;
}
.box{
  display: inline-flex;
}

It should be noted that browsers with Webkit core must add the -webkit prefix.

.box{
  display: -webkit-flex; /* Safari */
  display: flex;
}

In addition, after setting to Flex layout, the float, clear and vertical-align attributes of child elements will be invalid.

Six properties commonly used in flex layout

  • flex-direction
  • flex-wrap
  • flex-flow
  • justify-content
  • align-items
  • align-content

##1、flex-directionThe attribute determines the direction of the main axis (that is, the arrangement direction of the items).

.box {
  flex-direction: row | row-reverse | column | column-reverse;
}

    row (default value): The main axis is horizontal and the starting point is at the left end.
  • row-reverse: The main axis is horizontal and the starting point is at the right end.
  • column: The main axis is vertical, and the starting point is on the upper edge.
  • column-reverse: The main axis is vertical, and the starting point is at the lower edge.

2. flex-wrap<strong></strong>Property definition, if one axis line cannot be arranged, how to wrap it.

.box{
  flex-wrap: nowrap | wrap | wrap-reverse;
}

  • nowrap (default): No line wrapping.
  • wrap: Wrap, with the first line at the top.
  • wrap-reverse: Wrap, the first line is below.

3. The flex-flow<strong></strong> attribute is the flex-direction attribute and the flex-wrap attribute. Short form, default value is row nowrap.

.box {
  flex-flow: <flex-direction> || <flex-wrap>;
}

4, justify-content<strong></strong> attribute defines the alignment of the item on the main axis.

-content: flex-start | flex-end | center | space-between | space-

    flex-start (default): left-aligned
  • flex-end: right-aligned
  • center: centered
  • space-between : Align both ends, with equal spacing between items.
  • space-around: Each item is equally spaced on both sides. Therefore, the space between items is twice as large as the space between items and the border.

5, align-items<strong></strong>property defines how items are aligned on the cross axis.

.box {
  align-items: flex-start | flex-end | center | baseline | stretch;
}

  • flex-start: Align the starting point of the cross axis.
  • flex-end: The end point alignment of the cross axis.
  • center: Align the midpoint of the cross axis.
  • baseline: The baseline alignment of the first line of text of the item.
  • stretch (default value): If the item does not set a height or is set to auto, it will occupy the entire height of the container.

6, align-content<strong></strong> attribute defines the alignment of multiple axes. This property has no effect if the project has only one axis.

.box {
  align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}

This attribute may take 6 values.

  • flex-start: Align with the starting point of the cross axis.
  • flex-end: Align with the end point of the cross axis.
  • center: Aligned with the midpoint of the cross axis.
  • space-between: Align with both ends of the cross axis, and the intervals between the axes are evenly distributed.
  • space-around: Each axis is equally spaced on both sides. Therefore, the distance between the axes is twice as large as the distance between the axes and the frame.
  • stretch (default value): The axis occupies the entire cross axis.
There are also the following 6 properties set on the project.

  • order
  • flex-grow
  • flex-shrink
  • flex-basis
  • flex
  • align-self
order attribute Define the order in which items are sorted. The smaller the value, the higher the ranking. The default is 0.


.item {
  order: <integer>;
}

flex-growThe attribute defines the magnification ratio of the item. The default is 0, that is, if there is remaining space, it will not be enlarged.

.item {
  flex-grow: <number>; /* default 0 */}

If all items have a

flex-grow property of 1, they will equally divide the remaining space (if any). If one item's flex-grow property is 2 and all other items are 1, the former will occupy twice as much remaining space as the other items.

flex-shrinkThe attribute defines the shrinkage ratio of the item. The default is 1, that is, if there is insufficient space, the item will shrink.

.item {
  flex-shrink: <number>; /* default 1 */}

If the

flex-shrink property of all items is 1, when there is insufficient space, they will all be reduced proportionally. If the flex-shrink property of one item is 0 and the other items are 1, the former will not shrink when there is insufficient space.

flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。

.item {
  flex-basis: <length> | auto; /* default auto */}

flex属性是flex-growflex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。

.item {
  flex: none | [ <&#39;flex-grow&#39;> <&#39;flex-shrink&#39;>? || <&#39;flex-basis&#39;> ]
}

该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。

align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。
.item {
  align-self: auto | flex-start | flex-end | center | baseline | stretch;
}

The above is the detailed content of Summary of CSS3 flex layout. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:博客园. If there is any infringement, please contact admin@php.cn delete
How We Tagged Google Fonts and Created goofonts.comHow We Tagged Google Fonts and Created goofonts.comApr 12, 2025 pm 12:02 PM

GooFonts is a side project signed by a developer-wife and a designer-husband, both of them big fans of typography. We’ve been tagging Google

Timeless Web Dev ArticlesTimeless Web Dev ArticlesApr 12, 2025 am 11:44 AM

Pavithra Kodmad asked people for recommendations on what they thought were some of the most timeless articles about web development that have changed their

The Deal with the Section ElementThe Deal with the Section ElementApr 12, 2025 am 11:39 AM

Two articles published the exact same day:

Practice GraphQL Queries With the State of JavaScript APIPractice GraphQL Queries With the State of JavaScript APIApr 12, 2025 am 11:33 AM

Learning how to build GraphQL APIs can be quite challenging. But you can learn how to use GraphQL APIs in 10 minutes! And it so happens I've got the perfect

Component-Level CMSsComponent-Level CMSsApr 12, 2025 am 11:09 AM

When a component lives in an environment where the data queries populating it live nearby, there is a pretty direct line between the visual component and the

Set Type on a Circle... with offset-pathSet Type on a Circle... with offset-pathApr 12, 2025 am 11:00 AM

Here's some legit CSS trickery from yuanchuan. There is this CSS property offset-path. Once upon a time, it was called motion-path and then it was renamed. I

What does 'revert' do in CSS?What does 'revert' do in CSS?Apr 12, 2025 am 10:59 AM

Miriam Suzanne explains in a Mozilla Developer video on the subject.

The Modern LoversThe Modern LoversApr 12, 2025 am 10:58 AM

I love stuff like this.

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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.