GVKun编程网logo

CSS布局总结(css布局详解)

6

在本文中,我们将详细介绍CSS布局总结的各个方面,并为您提供关于css布局详解的相关解答,同时,我们也将为您带来关于CSS布局总结??变宽度布局_html/css_WEB-ITnose、CSS+Div

在本文中,我们将详细介绍CSS布局总结的各个方面,并为您提供关于css布局详解的相关解答,同时,我们也将为您带来关于CSS 布局总结??变宽度布局_html/css_WEB-ITnose、CSS+Div布局总结-基础篇_html/css_WEB-ITnose、css+div布局总结??基础篇_html/css_WEB-ITnose、CSS3 flex布局总结的有用知识。

本文目录一览:

CSS布局总结(css布局详解)

CSS布局总结(css布局详解)

总结

以上是小编为你收集整理的CSS布局总结全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

CSS 布局总结??变宽度布局_html/css_WEB-ITnose

CSS 布局总结??变宽度布局_html/css_WEB-ITnose

变宽度布局

1-2-1 等比例变宽



总宽度设置 width: 85%; min-width: 650px; (关于IE6的min-width支持,可用)

content 设置 width: 66%; float: left;

side 设置 width: 33%; float: right;

加入clear 空div


HTML 结构:

	    	<title>1-2-1 等比例变宽</title><meta charset="utf-8"><div id="header">            <p>header</p>
<p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1"rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</p>        </div>                    <div id="container">            <div id="content">                <h2>Content header</h2>                <div>                    <p>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                    </p>                </div>            </div>            <div id="side">                <h2>Side header</h2>                <div>                    <p>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                    </p>                </div>            </div>            <div id="clear"></div>        </div>                    <div id="footer">			<p>footer footer footer footer footer footer footer footer</p>        </div>    
登录后复制
CSS:

			body{				font: 13px/1.5 Arial;				margin: 0;				padding: 0;			}			#header, #container, #footer{				width: 85%;				margin: 10px auto;				min-width: 650px;			}			#header{				border: 1px solid black;				background-color: #666;			}			#content{				border: 1px solid black;				background-color: #999;				width: 66%;				float: left;			}			#side{				border: 1px solid black;				background-color: #999;				width: 33%;				float: right;			}			#clear{				clear: both;			}						#footer{				border: 1px solid black;				background-color: #CCC;			}
登录后复制

1-2-1 单列变宽


side 固定宽度,content 随窗口宽度变化

side设置 width: 200px; float: left;

在content外层加入 contentWrap,contentWrap 设置为 width: 100%; margin-right: -220px; float: right;

而content 设置为 margin-right: 220px;

这样就利用了wrap实现了content的宽度为 100%-320px


HTML 结构:

	    	<title>1-2-1 单列变宽</title><meta charset="utf-8"><div id="header">            <p>header</p>
<p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1"rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</p>        </div>                    <div id="container">            <div id="contentWrap">                <div id="content">                    <h2>Content header</h2>                    <div>                        <p>                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                        </p>                    </div>                </div>            </div>                        <div id="side">                <h2>Side header</h2>                <div>                    <p>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                    </p>                </div>            </div>            <div id="clear"></div>        </div>                    <div id="footer">			<p>footer footer footer footer footer footer footer footer</p>        </div>    
登录后复制

CSS:

			body{				font: 13px/1.5 Arial;				margin: 0;				padding: 0;			}			#header, #container, #footer{				width: 85%;				margin: 10px auto;				min-width: 700px;			}			#header{				border: 1px solid black;				background-color: #666;			}			#contentWrap{				width: 100%;				margin-right: -220px;				float: right;			}			#content{				border: 1px solid black;				background-color: #999;				margin-right: 220px;			}			#side{				border: 1px solid black;				background-color: #999;				width: 200px;				float: left;			}			#clear{				clear: both;			}			#footer{				border: 1px solid black;				background-color: #CCC;			}
登录后复制

1-3-1 单侧列宽固定




nav 固定宽度 width: 200px; float: left;

在content 和 side 外层加入两层 div:outerWrap 和 innerWrap 

outerWrap 设置为 width: 100%; margin-right: -210px; float: right;

innerWrap 设置为 margin-right: 210px;

然后content 和 side 相当于在 innerWrap 内部等比例变宽


HTML结构:

	    	<title>1-3-1 单侧列宽固定</title><meta charset="utf-8"><div id="header">            <p>header</p>
<p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1"rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</p>        </div>                    <div id="container">            <div id="nav">                <h2>Nav header</h2>                <div>                    <p>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                    </p>                </div>            </div>                        <div id="outerWrap">            	<div id="innerWrap">                    <div id="content">                        <h2>Content header</h2>                        <div>                            <p>                                文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                                文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                            </p>                        </div>                    </div>                    <div id="side">                        <h2>Side header</h2>                        <div>                            <p>                                文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                                文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                            </p>                        </div>                    </div>                </div>            </div>            <div id="clear"></div>        </div>                    <div id="footer">			<p>footer footer footer footer footer footer footer footer</p>        </div>    
登录后复制

CSS:

			body{				font: 13px/1.5 Arial;				margin: 0;				padding: 0;			}			#header, #container, #footer{				width: 85%;				margin: 10px auto;				min-width: 800px;			}			#header{				border: 1px solid black;				background-color: #666;			}			#nav{				border: 1px solid black;				background-color: #999;				width: 200px;				float: left;			}			#outerWrap{				width: 100%;				margin-right: -210px;				float: right;			}			#innerWrap{				margin-right: 210px;			}			#content{				border: 1px solid black;				background-color: #999;				width: 66%;				float: left;			}			#side{				border: 1px solid black;				background-color: #999;				width: 33%;				float: right;			}			#clear{				clear: both;			}						#footer{				border: 1px solid black;				background-color: #CCC;			}
登录后复制

1-3-1 中间列宽固定


content 宽度固定

在 nav 和 side 分别加上外层 div :navWrap 和 sideWrap

navWrap 设置为 width: 50%; margin-left: -210px; float: left;

nav 设置为 margin-left: 210px;

同理,sideWrap 和 side 也做类似的设置


HTML结构:

	    	<title>1-3-1 中间列宽固定</title><meta charset="utf-8"><div id="header">            <p>header</p>
<p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1"rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</p>        </div>                    <div id="container">            <div id="navWrap">                <div id="nav">                    <h2>Nav header</h2>                    <div>                        <p>                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                        </p>                    </div>                </div>            </div>                <div id="content">                <h2>Content header</h2>                <div>                    <p>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                    </p>                </div>            </div>                        <div id="sideWrap">                <div id="side">                    <h2>Side header</h2>                    <div>                        <p>                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                        </p>                    </div>                </div>            </div>                        <div id="clear"></div>        </div>                    <div id="footer">			<p>footer footer footer footer footer footer footer footer</p>        </div>    
登录后复制

CSS:

			body{				font: 13px/1.5 Arial;				margin: 0;				padding: 0;			}			#header, #container, #footer{				width: 85%;				margin: 10px auto;				min-width: 700px;			}			#header{				border: 1px solid black;				background-color: #666;			}			#navWrap{				width: 50%;				margin-left: -210px;				float: left;			}			#nav{				border: 1px solid black;				background-color: #999;				margin-left: 210px;			}			#content{				border: 1px solid black;				background-color: #999;				width: 400px;				float: left;				margin-left: 10px;			}			#sideWrap{				width: 49.9%;				margin-right: -210px;				float: right;			}			#side{				border: 1px solid black;				background-color: #999;				margin-right: 210px;			}			#clear{				clear: both;			}						#footer{				border: 1px solid black;				background-color: #CCC;			}
登录后复制

1-3-1 双侧列宽固定


nav 和 side 宽度固定

nav 设置为 width: 200px; float: left;

在 content 和 side 外层加上 outerWrap 和 innerWrap ,这样就相当于单列固定宽度的设置,nav 固定宽度

然后再在 content 外层加上 contentWrap ,也相当于在 innerWrap 内部单列固定宽度设置,side 固定宽度


HTML 结构:

	    	<title>1-3-1 双侧列宽固定</title><meta charset="utf-8"><div id="header">            <p>header</p>
<p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1"rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</p>        </div>                    <div id="container">            <div id="nav">                <h2>Nav header</h2>                <div>                    <p>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                    </p>                </div>            </div>                        <div id="outerWrap">            	<div id="innerWrap">                    <div id="contentWrap">                        <div id="content">                            <h2>Content header</h2>                            <div>                                <p>                                    文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                                    文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                                </p>                            </div>                        </div>                    </div>                                        <div id="side">                        <h2>Side header</h2>                        <div>                            <p>                                文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                                文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                            </p>                        </div>                    </div>                </div>            </div>            <div id="clear"></div>        </div>                    <div id="footer">			<p>footer footer footer footer footer footer footer footer</p>        </div>    
登录后复制

CSS:

			body{				font: 13px/1.5 Arial;				margin: 0;				padding: 0;			}			#header, #container, #footer{				width: 85%;				margin: 10px auto;				min-width: 800px;			}			#header{				border: 1px solid black;				background-color: #666;			}			#nav{				border: 1px solid black;				background-color: #999;				width: 200px;				float: left;			}			#outerWrap{				width: 100%;				margin-right: -210px;				float: right;			}			#innerWrap{				margin-right: 210px;			}			#contentWrap{				width: 100%;				margin-left: -110px;				float: left;			}			#content{				border: 1px solid black;				background-color: #999;				margin-left: 110px;			}			#side{				border: 1px solid black;				background-color: #999;				width: 100px;				float: right;			}			#clear{				clear: both;			}						#footer{				border: 1px solid black;				background-color: #CCC;			}
登录后复制

1-3-1 中列和侧列宽固定

nav 和 content 固定宽度,side 外层加上 sideWrap ,相当于1-2-1单列变宽


HTML 结构:

	    	<title>1-3-1 中列和侧列宽固定</title><meta charset="utf-8"><div id="header">            <p>header</p>
<p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1"rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</p>        </div>                    <div id="container">                    <div id="nav">                <h2>Nav header</h2>                <div>                    <p>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                    </p>                </div>            </div>                        <div id="content">                <h2>Content header</h2>                <div>                    <p>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                    </p>                </div>            </div>                        <div id="sideWrap">                <div id="side">                    <h2>Side header</h2>                    <div>                        <p>                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本                        </p>                    </div>                </div>            </div>            <div id="clear"></div>        </div>                    <div id="footer">			<p>footer footer footer footer footer footer footer footer</p>        </div>    
登录后复制

CSS:

			body{				font: 13px/1.5 Arial;				margin: 0;				padding: 0;			}			#header, #container, #footer{				width: 85%;				margin: 10px auto;				min-width: 800px;			}			#header{				border: 1px solid black;				background-color: #666;			}			#nav{				border: 1px solid black;				background-color: #999;				width: 200px;				float: left;			}			#content{				border: 1px solid black;				background-color: #999;				margin-left: 10px;				width: 400px;				float: left;			}			#sideWrap{				width: 100%;				margin-right: -620px;				float: right;			}			#side{				border: 1px solid black;				background-color: #999;				margin-right: 620px;			}			#clear{				clear: both;			}						#footer{				border: 1px solid black;				background-color: #CCC;			}
登录后复制









CSS+Div布局总结-基础篇_html/css_WEB-ITnose

CSS+Div布局总结-基础篇_html/css_WEB-ITnose

xml(extensible markup language)的出现,结构化文档和数据有了一个通用的、科适应的格式,不仅仅应用在web上,也可以应用在任何地方。标准称为可能。
xhtml是the extensible hypertext markup language可扩展标识语言的缩写。在html4.0的基础上,用xml的规则对其进行扩展,得到了xhtml。它实现html向xml的过渡。
     css是cascading style sheets层叠样式表的缩写。纯css布局与结构式xhtml相结合能帮助设计师分离外观与结构,使站点的访问及维护更加容易。

        针对这两天对css+div的学习,进行了一些基础的总结。

1)为页面添加正确的doctype 
    doctype是document type的简写。主要用来说明你用的xhtml或者html是什么版本。浏览器根据你   doctype定义的dtd(文档类型定义)来解释页面代码。
   xhtml1.0提供了三种doctype可选择:2)设定一个名字空间(namespace) 
   直接在doctype声明后面添加如下代码:

   一个namespace是收集元素类型和属性名字的一个详细的dtd,namespace声明允许你通过一个在线地址指向来识别你的namespace。只要照样输入代码就可以。

3)声明你的编码语言 
   为了被浏览器正确解释和通过标识校验,所有的xhtml文档都必须声明它们所使用的编码语言。代码如下:

   杩

css+div布局总结??基础篇_html/css_WEB-ITnose

css+div布局总结??基础篇_html/css_WEB-ITnose

xml(extensible Markup Language) 的出现,结构化文档和数据有了一个通用的、科适应的格式,不仅仅应用在web上,也可以应用在任何地方。标准称为可能。
     XHTML 是The Extensible HyperText Markup Language可扩展标识语言的缩写。在HTML4.0的基础上,用XML的规则对其进行扩展,得到了XHTML。它实现HTML向XML的过渡。
     CSS 是Cascading Style Sheets层叠样式表的缩写。纯CSS布局与结构式XHTML相结合能帮助设计师分离外观与结构,使站点的访问及维护更加容易。

        针对这两天对css+div的学习,进行了一些基础的总结。

1)为页面添加正确的DOCTYPE 
    DOCTYPE是document type的简写。主要用来说明你用的XHTML或者HTML是什么版本。浏览器根据你   DOCTYPE定义的DTD(文档类型定义)来解释页面代码。
   XHTML1.0提供了三种DOCTYPE可选择:

 

  (1)过渡型(Transitional )--使用非常普遍。
  nbsp;       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

(2)严格型(Strict )
 
(3)框架型(Frameset )
   nbsp;     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

4)用小写字母书写所有的标签 
   XML对大小写是敏感的,所以,XHTML也是大小写有区别的。所有的XHTML元素和属性的名字都必须使用小写。否则你的文档将被W3C校验认为是无效的。例如下面的代码是不正确的:

5)为图片添加 alt 属性 
   为所有图片添加alt属性。alt属性指定了当图片不能显示的时候就显示供替换文本,这样做对正常用户可有可无,但对纯文本浏览器和使用屏幕阅读机的用户来说是至关重要的。只有添加了alt属性,代码才会被W3C正确性校验通过。注意的是我们要添加有意义的alt属性,象下面这样的写法毫无意义:
   logo.gif
正确的写法:
   互动力工作室标志,点击返回首页

6)给所有属性值加引号 
   在HTML中,你可以不需要给属性值加引号,但是在XHTML中,它们必须被加引号。还必须用空格分开属性。
例:


这也是不正确的

7)关闭所有的标签 
  在XHTML中,每一个打开的标签都必须关闭。空标签也要关闭,在标签尾部使用一个正斜杠"/"来关闭它们自己。例如:
 


8)收藏夹小图标
   例如:首先制作一个16x16的icon图标,命名为favicon.ico,放在根目录下。然后将下面的代码嵌入head区:



9)用CSS定义元素外观 
  用css布局的一个好处是可以批量对页面进行修改,它能将文档结构和表现层分离开来,减轻工作量和服务器的负荷,增加站点的扩展能力和应用。
  dreamweaver为我们提供了非常方便的方法去编写css.(图)

css是不区别空格和大小写的,下面是一些基础的归纳
     (1)颜色值
    颜色值可以用RGB值写,例如:color : rgb(255,0,0),也可以用十六进制写,就象上面例子color:#FF0000。如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。
   (2)定义字体
   web标准推荐如下字体定义方法:
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; }
   字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,;
   Lucida Grande字体适合Mac OS X;
   Verdana字体适合所有的Windows系统;
   Lucida适合UNIX用户
   "宋体"适合中文简体用户;
   如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;

(3)群选择器
   当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
 p, td, li { font-size : 12px ; }

立即学习“前端免费学习笔记(深入)”;

(4)派生选择器
   可以使用派生选择器给一个元素里的子元素定义样式,例如这样:
li strong { font-style : italic; font-weight : normal;}
   就是给li下面的子元素strong定义一个斜体不加粗的样式。

(5)id选择器
   用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层


   然后在样式表里这样定义:
   #menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。

   id选择器也同样支持派生,例如:
#menubar p { text-align : right; margin-top : 10px; }
   这个方法主要用来定义层和那些比较复杂,有多个派生的元素。

(6)类别选择器
    在CSS里用一个点开头表示类别选择器定义,例如:
.14px {color : #f60 ;font-size:14px ;}
    在页面中,用的方法调用:
14px大小的字体
    这个方法比较简单灵活,可以随时根据页面需要新建和删除。

(7)定义链接的样式
    CSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
a:active {font-weight : bold ;text-decoration : none ;color : #F90 ;}
    以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。

(8)组合使用选择器创造精致的设计效果
    用漂亮的图案代替普通无序列表前沉闷的黑点。站点http://marine.happycog.com/
先用css规则告诉类别属性inventory的无序列表。
    ul.inventory{
          list-style:disc url(/images/common/lister2.gig) inside;}
它的调用标记:


  • Angelfish(67 items)

  • Angels/Frogfish(35 items)

  • Angelfish(5526 items)

  • Angelfish(15 items)

    • (9)缩写是按照顺时针的顺序
         margin:25px 0 25px 0;

      (10)行高
        line-height:150% 说明行距为正常的150%

      10)结构化代码div(division)、id、class
        用它们来书写紧凑的xhtml,更明智的使用css.
        (1)结构化id标签,与class的有区别:
      如果你的属性页面包含了一个div,它的id为"content",它就不可能有另外一个div或者其他元素拥有相同的名字。相反,class属性可以在意个页面中一次又一次地使用。
        (2)id的规则
           一个id值必须用一个字母或者下划线开头,它不能用一个数字进行开头,然后跟随字母、数字和下划线。空格和连字符-都是不允许的。

      11)制作好的网站可以到w3c进行标准校正
      http:validator.w3.org
      http://jigsaw.w3.org/css-validator/

      2)设定一个名字空间(Namespace) 
         直接在DOCTYPE声明后面添加如下代码:

         一个namespace是收集元素类型和属性名字的一个详细的DTD,namespace声明允许你通过一个在线地址指向来识别你的namespace。只要照样输入代码就可以。

      3)声明你的编码语言 
         为了被浏览器正确解释和通过标识校验,所有的XHTML文档都必须声明它们所使用的编码语言。代码如下:

         杩

CSS3 flex布局总结

CSS3 flex布局总结

CSS3 flex布局总结

css3 flex布局总结

2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持。

Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为 Flex 布局。

( 推荐学习:CSS教程 )

行内元素也可以使用 Flex 布局。

.box{
  display: flex;
}
.box{
  display: inline-flex;
}
登录后复制

需要注意的是Webkit 内核的浏览器,必须加上-webkit前缀。

.box{
  display: -webkit-flex; /* Safari */
  display: flex;
}
登录后复制

此外,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。

立即学习“前端免费学习笔记(深入)”;

flex布局经常用到的的6个属性

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

1、flex-direction属性决定主轴的方向(即项目的排列方向)。

.box {
  flex-direction: row | row-reverse | column | column-reverse;
}
登录后复制
  • row(默认值):主轴为水平方向,起点在左端。
  • row-reverse:主轴为水平方向,起点在右端。
  • column:主轴为垂直方向,起点在上沿。
  • column-reverse:主轴为垂直方向,起点在下沿。

2、flex-wrap属性定义,如果一条轴线排不下,如何换行。

.box{
  flex-wrap: nowrap | wrap | wrap-reverse;
}
登录后复制
  • nowrap(默认):不换行。
  • wrap:换行,第一行在上方。
  • wrap-reverse:换行,第一行在下方。

3、flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。

.box {
  flex-flow: <flex-direction> || <flex-wrap>;
}
登录后复制

4、justify-content属性定义了项目在主轴上的对齐方式。

-content: flex-start | flex-end | center | space-between | space-
登录后复制
  • flex-start(默认值):左对齐
  • flex-end:右对齐
  • center: 居中
  • space-between:两端对齐,项目之间的间隔都相等。
  • space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。

5、align-items属性定义项目在交叉轴上如何对齐。

.box {
  align-items: flex-start | flex-end | center | baseline | stretch;
}
登录后复制
  • flex-start:交叉轴的起点对齐。
  • flex-end:交叉轴的终点对齐。
  • center:交叉轴的中点对齐。
  • baseline: 项目的第一行文字的基线对齐。
  • stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。

6、align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。

.box {
  align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}
登录后复制

该属性可能取6个值。

  • flex-start:与交叉轴的起点对齐。
  • flex-end:与交叉轴的终点对齐。
  • center:与交叉轴的中点对齐。
  • space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
  • space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
  • stretch(默认值):轴线占满整个交叉轴。

还有以下6个属性设置在项目上。

  • order
  • flex-grow
  • flex-shrink
  • flex-basis
  • flex
  • align-self

order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。

.item {
  order: <integer>;
}
登录后复制

flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。

.item {
  flex-grow: <number>; /* default 0 */}
登录后复制

如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。

flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。

.item {
  flex-shrink: <number>; /* default 1 */}
登录后复制

如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。

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

.item {
  flex-basis: <length> | auto; /* default auto */}
登录后复制

flex属性是flex-grow, flex-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;
}
登录后复制

以上就是CSS3 flex布局总结的详细内容,更多请关注php中文网其它相关文章!

今天关于CSS布局总结css布局详解的介绍到此结束,谢谢您的阅读,有关CSS 布局总结??变宽度布局_html/css_WEB-ITnose、CSS+Div布局总结-基础篇_html/css_WEB-ITnose、css+div布局总结??基础篇_html/css_WEB-ITnose、CSS3 flex布局总结等更多相关知识的信息可以在本站进行查询。

本文标签: