search
HomeWeb Front-endCSS TutorialOne of the methods to develop CSS3 flexible box model
One of the methods to develop CSS3 flexible box modelJun 20, 2018 pm 02:03 PM
css3elasticitybox model

This article mainly shares CSS3 flexible box model development notes with everyone, and introduces compatibility and different attributes. Interested friends can refer to

Flexible Box Model (Flexible Box Moudle), a model used to decide how elements are distributed in a box and to deal with the available space in the box. This is similar to XUL (the user interaction language of the Firefox browser), and other languages ​​use the same box model. Such as XAML, GladeXML, etc. The flexbox model makes it easy to create a fluid layout that adapts to the browser window or a flex layout that adapts to the font size.

Compatibility: The flexible box model specification was released by the W3C standardization organization in 2009. Currently, no mainstream browser supports it, but it uses Webkit and Mozilla rendering engine browsers have customized a set of private properties to support the flexible box model.

Browsers that use the Webkit rendering engine mainly include Safari and Chrome browsers. The engine supports private attributes prefixed with -webkit.

The browsers of Mozilla rendering engine mainly include Firefox browser, which supports private attributes prefixed with -moz.

Related attributes:

box-align: Define the space allocation method of child elements in the vertical direction of the box
box-direction: Define the display order of the box
box-flex: Define the adaptive size of sub-elements in the box
box-flex-group: Define adaptive sub-element groups
box-lines: Define sub-elements to be displayed in columns
box-ordinal-group: Define sub-elements The display position of the element in the box
box-orient: Defines the coordinate axis of the box division
box-pack: Defines the horizontal space allocation method of child elements in the box

box -orient attribute

This attribute can be used to define the flow layout direction inside the box element. When using the flexible box model, you need to first set the display attribute of the parent container to box or inline-box.
Grammar:

box-orient: horizontal | vertail | inline-axis | block-axis | inherit

Simple description of value:

horizontal: box element from Displays its child elements in a horizontal line from left to right.

vertail: The box element displays its child elements in a vertical line from top to bottom.

inline-axis: The box element displays its child elements along the inline axis.

block-axis: The box element displays its child elements along the block axis.

Practical experience: designing multi-column layout

html code:

<p id="box">  
    <p id="box0"><img  src="/static/imghwm/default1.png"  data-src="images/web_01.gif"  class="lazy"   / alt="One of the methods to develop CSS3 flexible box model" ></p>  
    <p id="sub-box">  
        <p id="box1"><img  src="/static/imghwm/default1.png"  data-src="images/web_02.gif"  class="lazy"   / alt="One of the methods to develop CSS3 flexible box model" ></p>  
        <p id="box2"><img  src="/static/imghwm/default1.png"  data-src="images/web_03.gif"  class="lazy"   / alt="One of the methods to develop CSS3 flexible box model" ></p>  
        <p id="box3"><img  src="/static/imghwm/default1.png"  data-src="images/web_04.gif"  class="lazy"   / alt="One of the methods to develop CSS3 flexible box model" ></p>  
    </p>  
</p>

CSS3 code:

<style type="text/css">   
body{/*文档样式*/  
    margin:0;padding:0px;/*清除页边距*/  
    text-align:center;/*文档居中对齐*/  
    background:#170843;   
}   
#box{   
    margin:auto;/*文档居中对齐*/  
    text-align:center;   
    width:975px;   
}   
/*定制各个栏目的宽度*/  
#box1{width:185px;}   
#box2{width:601px;}   
#box3{width:189px;}   
/*定制子包含框的盒子显示,其包含的元素水平流动*/  
#sub-box{   
    display:-moz-box;   
    display:-webkit-box;   
    display:box;   
    box-orient:horizontal;   
    -moz-box-orient:horizontal;   
    -webkit-box-orient:horizontal;     
}   
</style>

Demonstration effect:

box-direction attribute

The box-direction attribute can change the flow order of internal elements in the box element. The basic syntax of this attribute:

box -direction: normal | reverse | inherit

Simple description of the value:

normal: normal display order, that is, if the box-origent attribute value of the box element is horizontal, then the child elements it contains Displayed in order from left to right, that is, the left side of each child element is always close to the right side of the previous child element; if the box-origent attribute value of the box element is set to vertical, the child elements it contains are arranged in order from top to bottom. Displayed in sequence.

reverse: Reverse display, the display order of the sub-elements contained in the box will be reversed from normal.

inherit: Inherit the display order of superior elements.

Practical experience: Reverse layout web page (based on the above case):

CSS3 code:

<style>   
body{   
    margin:0;padding:0px;   
    text-align:center;   
    background:#170843;   
}   
#box{   
    margin:auto;   
    text-align:center;   
    width:975px;   
}   
#box1{width:185px;}   
#box2{width:601px;}   
#box3{width:189px;}   
#sub-box{   
    display:-moz-box;   
    display:-webkit-box;   
    display:box;   
    box-orient:horizontal;   
    -moz-box-orient:horizontal;   
    -webkit-box-orient:horizontal;     
    box-direction:reverse;   
    -moz-box-direction:reverse;   
    -webkit-box-direction:reverse;   
}   
</style>

Demonstration effect:

box-ordinal-group attribute

The box-direction attribute can change the flow order of elements inside the box, and the box-ordinal-group attribute can set the position of each child element. The specific display position in the box, the syntax is as follows:

box-ordinal-group:

Value description:

The attribute value is a natural number, starting from 1 Start, used to set the position symbol of the child element. The distribution of child elements will be arranged from small to large according to this attribute value. By default, child elements will be arranged based on the element's position.
Note: If there is no child element with a box-ordinal-group attribute value specified, its serial number defaults to 1, and elements with the same serial number will be arranged in the order in which they are loaded in the document.

Practical experience: vertical web page layout

HTML code:

<p id="box">  
    <p id="box1"><img  src="/static/imghwm/default1.png"  data-src="images/web1_01.gif"  class="lazy"   / alt="One of the methods to develop CSS3 flexible box model" ></p>  
    <p id="box2"><img  src="/static/imghwm/default1.png"  data-src="images/web1_02.gif"  class="lazy"   / alt="One of the methods to develop CSS3 flexible box model" ></p>  
    <p id="box3"><img  src="/static/imghwm/default1.png"  data-src="images/web1_03.gif"  class="lazy"   / alt="One of the methods to develop CSS3 flexible box model" ></p>  
    <p id="box4"><img  src="/static/imghwm/default1.png"  data-src="images/web1_04.gif"  class="lazy"   / alt="One of the methods to develop CSS3 flexible box model" ></p>  
</p>

CSS3 code:

<style type="text/css">   
body {   
    margin:0;   
    padding:0;   
    text-align:center;   
    background:#d9bfe8;   
}   
#box {   
    margin:auto;   
    text-align:left;   
    width:988px;   
}   
/*定义盒形显示及盒内元素垂直显示*/  
#box {   
    display : -moz-box;   
    display : -webkit-box;   
    display : box;   
    box-orient:vertical;   
    -moz-box-orient:vertical;   
    -webkit-box-orient:vertical;   
}   
/*根据网页内容的现实需要,借助弹性盒模型调整各个板块的显示顺序*/  
#box1 {/*设置第一个元素显示在第二个位置*/  
    -moz-box-ordinal-group : 2;/*兼容Mozilla Gecko引擎*/  
    -webkit-box-ordinal-group : 2;/*兼容Webkit引擎*/  
    box-ordinal-group : 2;/*标准用法*/  
}   
#box2 {/*设置第二个元素显示在第三个位置*/  
    -moz-box-ordinal-group : 3;/*兼容Mozilla Gecko引擎*/  
    -webkit-box-ordinal-group : 3;/*兼容Webkit引擎*/  
    box-ordinal-group : 3;/*标准用法*/  
}   
#box3 {/*设置第三个元素显示在第一个位置*/  
    -moz-box-ordinal-group : 1;/*兼容Mozilla Gecko引擎*/  
    -webkit-box-ordinal-group : 1;/*兼容Webkit引擎*/  
    box-ordinal-group : 1;/*标准用法*/  
}   
#box4 {/*设置第四个元素显示在第四个位置*/  
    -moz-box-ordinal-group : 4;/*兼容Mozilla Gecko引擎*/  
    -webkit-box-ordinal-group : 4;/*兼容Webkit引擎*/  
    box-ordinal-group : 4;/*标准用法*/  
}   
</style>

Demonstration effect

The above is the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

Use CSS3 to realize the cool Black Cat Sheriff homepage

Use CSS to realize pure English numbers Automatic line wrapping

The above is the detailed content of One of the methods to develop CSS3 flexible box model. For more information, please follow other related articles on the PHP Chinese website!

Statement
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
css怎么隐藏元素但不占空间css怎么隐藏元素但不占空间Jun 01, 2022 pm 07:15 PM

两种方法:1、利用display属性,只需给元素添加“display:none;”样式即可。2、利用position和top属性设置元素绝对定位来隐藏元素,只需给元素添加“position:absolute;top:-9999px;”样式。

原来利用纯CSS也能实现文字轮播与图片轮播!原来利用纯CSS也能实现文字轮播与图片轮播!Jun 10, 2022 pm 01:00 PM

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

css3什么是自适应布局css3什么是自适应布局Jun 02, 2022 pm 12:05 PM

自适应布局又称“响应式布局”,是指可以自动识别屏幕宽度、并做出相应调整的网页布局;这样的网页能够兼容多个不同的终端,而不是为每个终端做一个特定的版本。自适应布局是为解决移动端浏览网页而诞生的,能够为使用不同终端的用户提供很好的用户体验。

css3如何实现鼠标点击图片放大css3如何实现鼠标点击图片放大Apr 25, 2022 pm 04:52 PM

实现方法:1、使用“:active”选择器选中鼠标点击图片的状态;2、使用transform属性和scale()函数实现图片放大效果,语法“img:active {transform: scale(x轴放大倍数,y轴放大倍数);}”。

css3动画效果有变形吗css3动画效果有变形吗Apr 28, 2022 pm 02:20 PM

css3中的动画效果有变形;可以利用“animation:动画属性 @keyframes ..{..{transform:变形属性}}”实现变形动画效果,animation属性用于设置动画样式,transform属性用于设置变形样式。

css3怎么设置动画旋转速度css3怎么设置动画旋转速度Apr 28, 2022 pm 04:32 PM

在css3中,可以利用“animation-timing-function”属性设置动画旋转速度,该属性用于指定动画将如何完成一个周期,设置动画的速度曲线,语法为“元素{animation-timing-function:速度属性值;}”。

一文了解CSS3中的新特性 ::target-text 选择器一文了解CSS3中的新特性 ::target-text 选择器Apr 12, 2022 am 11:24 AM

本篇文章带大家一起深入了解一下CSS3中的新特性::target-text 选择器,聊聊该选择器的作用和使用方法,希望对大家有所帮助!

css3线性渐变可以实现三角形吗css3线性渐变可以实现三角形吗Apr 25, 2022 pm 02:47 PM

css3线性渐变可以实现三角形;只需创建一个45度的线性渐变,设置渐变色为两种固定颜色,一个是三角形的颜色,另一个为透明色即可,语法“linear-gradient(45deg,颜色值,颜色值 50%,透明色 50%,透明色 100%)”。

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)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

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

Atom editor mac version download

Atom editor mac version download

The most popular open source editor