What is Flex layout
How to specify a container as Flex layout
Basic syntax of Flex
display
flex-direction
justify-content
align-items
flew-wrap
align-self
flex-flow
flex
order
-
Example
Dice layout
Holy Grail layout
Reference article
1. What is Flex layout? The traditional solution for layout is based on the box model and relies on the display attribute + position attribute + float attribute. It is very inconvenient for those special layouts. For example, vertical centering is not easy to achieve. Flex layout is a layout solution proposed by the W3C organization in 2009, which can realize various page layouts simply, completely and responsively. Currently, it is supported by all browsers. Flex layout will become the preferred solution for future layout.
Second, how to specify a container as Flex layout
You only need to add the display attribute with a value of flex in the container.
.box{ display: flex; }
Three, the basic syntax of Flex
display
Syntax: display:flex;Specify Flex.
flex-direction
Syntax:flex-direction: row | row-reverse | column | column-reverse
Specifies the order in which flexible child elements are arranged in the parent container. This can also be achieved equivalently by setting direction:rtl; or direction:ltr; , where rtl and ltr are right Abbreviation for to left, left to right. justify content
Syntax:justify-content: flex-start | flex-end | center | space-between | space- around
Content The justify-content property is applied to the flex container to align the flex items along the main axis of the flex container. Concept understanding diagram:
For space-around, the author summarized a simple formula:
x=(W2-N*W1)/(2N)
x: the width left on the two most sides.
W2: It is the width of the module.
W1: The width of a submodule (even each).
N:
align-items
Syntax: align-items: flex-start | flex-end | center | baseline | stretch
Set the flexible box element in the side axis (vertical axis) direction alignment on.
The following picture can help readers understand the baseline:
flex-wrap
Syntax: flex-flow :nowrap| warp | warp-reverse
align-content
Syntax: align-content: flex-start | flex-end | center | space-between | space-around | stretch
Set the alignment of each row.
align-self
Syntax: align-self: auto | flex-start | flex-end | center | baseline | stretch
Set the alignment of the elastic element itself in the cross-axis direction. This attribute should be distinguished from align-content. The scope of align-content is each row, but align-self is only a certain elastic element in a certain row.
flex-flow
Syntax: abbreviation for flex-direction and flex-wrap.
flex
Syntax: flex: flex-grow flex-shrink flex-basis|auto|initial|inherit;
Specify the element allocation space. It should be noted that if flex-basis is 100%, then the flex module will occupy a separate line.
oder
Syntax: order: number|initial|inherit;
Specifies the order of elastic modules. The smaller the value, the higher the priority. It can be a negative value.
Four, example
1, layout of the dice
Up to 9 points can be placed on one side of the dice.
下面,就来看看Flex如何实现,从1个点到9个点的布局。你可以到codepen查看Demo。
如果不加说明,本节的HTML模板一律如下。
<p class="box"> <span class="item">>>
上面代码中,p元素(代表骰子的一个面)是Flex容器,span元素(代表一个点)是Flex项目。如果有多个项目,就要添加多个span元素,以此类推。
1.1 单项目
首先,只有左上角1个点的情况。Flex布局默认就是首行左对齐,所以一行代码就够了。
.box { display: flex;}
设置项目的对齐方式,就能实现居中对齐和右对齐。
.box { display: flex; justify-content: center;}
.box { display: flex; justify-content: flex-end;}
设置交叉轴对齐方式,可以垂直移动主轴。
.box { display: flex; align-items: center;}
.box { display: flex; justify-content: center; align-items: center;}
.box { display: flex; justify-content: center; align-items: flex-end;}
.box { display: flex; justify-content: flex-end; align-items: flex-end;}
1.2 双项目
.box { display: flex; justify-content: space-between;}
.box { display: flex; flex-direction: column; justify-content: space-between;}
.box { display: flex; flex-direction: column; justify-content: space-between; align-items: center;}
.box { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end;}
.box { display: flex;}.item:nth-child(2) { align-self: center;}
.box { display: flex; justify-content: space-between;}.item:nth-child(2) { align-self: flex-end;}
1.3 三项目
.box { display: flex;}.item:nth-child(2) { align-self: center;}.item:nth-child(3) { align-self: flex-end;}
1.4 四项目
.box { display: flex; flex-wrap: wrap; justify-content: flex-end; align-content: space-between;}
HTML代码如下。
<p class="box"> <p class="column"><span class="item">><span class="item">> > <p class="column"><span class="item">><span class="item">> >>
CSS代码如下。
.box { display: flex; flex-wrap: wrap; align-content: space-between;} .column { flex-basis: 100%; display: flex; justify-content: space-between;}
1.5 六项目
.box { display: flex; flex-wrap: wrap; align-content: space-between;}
.box { display: flex; flex-direction: column; flex-wrap: wrap; align-content: space-between; }
HTML代码如下。
<p class="box"> <p class="row"><span class="item">> <span class="item">><span class="item">> > <p class="row"><span class="item">> > <p class="row"> <span class="item">> <span class="item">> >>
CSS代码如下。
.box { display: flex; flex-wrap: wrap;} .row{ flex-basis: 100%; display:flex;} .row:nth-child(2){ justify-content: center;} .row:nth-child(3){ justify-content: space-between;}
1.6 九项目
.box { display: flex; flex-wrap: wrap;}
2,圣杯布局
圣杯布局(Holy Grail Layout)指的是一种最常见的网站布局。页面从上到下,分成三个部分:头部(header),躯干(body),尾部(footer)。其中躯干又水平分成三栏,从左到右为:导航、主栏、副栏。
HTML代码如下:
<p> <header>头部header> <article><p>主体p> article> <aside>边栏 1aside> <aside>边栏 2aside> <footer>底部footer>p></footer></aside></aside></p></article></header></p>
CSS代码入下:
.flex-container { display: -webkit-flex;display: flex; -webkit-flex-flow: row wrap;flex-flow: row wrap;font-weight: bold;text-align: center; } .flex-container > * {padding: 10px;flex: 1 100%; } .main {text-align: left;background: cornflowerblue; } .header {background: coral;} .footer {background: lightgreen;} .aside1 {background: moccasin;} .aside2 {background: violet;}@media all and (min-width: 600px) {.aside { flex: 1 auto; }} @media all and (min-width: 800px) { .main { flex: 3 0px; } .aside1 { order: 1; } .main { order: 2; } .aside2 { order: 3; } .footer { order: 4; } }
以上就是【CSS3】 CSS3:弹性盒子(Flex Box)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

The future of HTML is full of infinite possibilities. 1) New features and standards will include more semantic tags and the popularity of WebComponents. 2) The web design trend will continue to develop towards responsive and accessible design. 3) Performance optimization will improve the user experience through responsive image loading and lazy loading technologies.

The roles of HTML, CSS and JavaScript in web development are: HTML is responsible for content structure, CSS is responsible for style, and JavaScript is responsible for dynamic behavior. 1. HTML defines the web page structure and content through tags to ensure semantics. 2. CSS controls the web page style through selectors and attributes to make it beautiful and easy to read. 3. JavaScript controls web page behavior through scripts to achieve dynamic and interactive functions.

HTMLisnotaprogramminglanguage;itisamarkuplanguage.1)HTMLstructuresandformatswebcontentusingtags.2)ItworkswithCSSforstylingandJavaScriptforinteractivity,enhancingwebdevelopment.

HTML is the cornerstone of building web page structure. 1. HTML defines the content structure and semantics, and uses, etc. tags. 2. Provide semantic markers, such as, etc., to improve SEO effect. 3. To realize user interaction through tags, pay attention to form verification. 4. Use advanced elements such as, combined with JavaScript to achieve dynamic effects. 5. Common errors include unclosed labels and unquoted attribute values, and verification tools are required. 6. Optimization strategies include reducing HTTP requests, compressing HTML, using semantic tags, etc.

HTML is a language used to build web pages, defining web page structure and content through tags and attributes. 1) HTML organizes document structure through tags, such as,. 2) The browser parses HTML to build the DOM and renders the web page. 3) New features of HTML5, such as, enhance multimedia functions. 4) Common errors include unclosed labels and unquoted attribute values. 5) Optimization suggestions include using semantic tags and reducing file size.

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

The role of HTML is to define the structure and content of a web page through tags and attributes. 1. HTML organizes content through tags such as , making it easy to read and understand. 2. Use semantic tags such as, etc. to enhance accessibility and SEO. 3. Optimizing HTML code can improve web page loading speed and user experience.

HTMLisaspecifictypeofcodefocusedonstructuringwebcontent,while"code"broadlyincludeslanguageslikeJavaScriptandPythonforfunctionality.1)HTMLdefineswebpagestructureusingtags.2)"Code"encompassesawiderrangeoflanguagesforlogicandinteract


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

SublimeText3 English version
Recommended: Win version, supports code prompts!

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function