Kidney自得其乐版CSS教程 Chapter5 Layout

Chapter 5 Layout


Version


Update


Note


1.0


2016-6-5


首次添加。欢迎在评论中指出错误,一经核实,立即修订,且注明贡献者。

图例:CSS3以前版本    CSS3中浏览器普遍支持的属性    CSS3中未被普遍支持的属性


CSS布局体系


浮动


定位


列表


表格


分列


伸缩盒

1、浮动

1.1 float

值:left,right,none(默认值)

相对定位也可以设置浮动,绝对定位则不行。

浮动会脱离文档流,但其包含块仍然是父元素,这一点和绝对定位元素有差别,并且浮动元素也不会重叠。

1.2 clear

值:left,right,both,none(默认值)

用于清除浮动。

2、定位

2.1 position

值:relative,absolute,fixed,static(默认值)

定位适合用于局部布局。

2.2 top,right,bottom,left

定位元素设置居中通常有两种方式:

方案一:position:relative;

margin-left:50%;

left:-0.5*width;

方案二:(假定包含块已被设为相对定位)

position:relative;

left:0;

right:0;

margin:0 auto;

垂直方向也一样,将top和bottom设为0,上下margin设为auto。

2.3 z-index

用整数设置层叠次序。可以为负。仅对定位元素有效。

3、列表

列表常常用于布局导航栏。

将垂直排列的li标签设为水平的方式有两种:

li { float : left }

li { display : inline }

3.1 list-style

设置列表符号样式。

它是list-style-type, list-style-image和list-style-position的简写属性。

4、表格

表格除了作为表格使用,也常用作布局工具。早期的网页开发者就是这么干的。

表布局除了依靠CSS,还依靠相关HTML属性。

tr有两个属性控制行内单元格内容对齐方式:

align控制水平对齐方式,valign控制垂直对齐方式。

td也有这两个属性。此外td还有两个用于设置跨行和跨列的属性:colspan和rowspan

4.1 table-layout

值:fixed,auto(默认值)

设为fixed后列宽固定平均分布。

4.2 border-collapse

值:collapse,separate(默认值)

设为collapse后单元格的边会合并。

只能设在table上。

4.3 border-spacing

值:长度值

用于设置单元格水平和垂直方向的间距。

只能设在table上。

4.4 caption-side

值:top,bottom,设置caption的位置。

4.5 empty-cell

值:hide,show,设置空单元格的边框可见性。

5、分列

都需要加前缀。

5.1 column-count

适用于:除table外的非替换块级元素, table cells, inline-block元素

用一个非负整数指定分列列数。

5.2 column-width

适用于:除table外的非替换块级元素, table cells, inline-block元素

用长度值指定列宽,默认为auto

5.3 column-gap

适用于设定了分列的元素。

用长度值指定列与列的间距。

5.4 column-span

值:none、all

适用于除浮动及绝对定位以外的块级元素。

用于在分列容器中设置跨列元素。

5.5 column-fill

值:auto(默认)、balance

用于规定列的高度。balance表示所有列统一为最高的列的高度。

5.6 column-rule

用于设置列与列之间的分界线样式。

它是以下三个属性的简写:

column-rule-width,column-rule-style,column-rule-color

5.7 column-break-before,column-break-after

值:auto、always、avoid

用于设置一个元素是否从新的一列开始。before相当于在元素之前插入了一个“换列符”,after则是在之后插入“换列符”。

默认情况下元素是首尾相接的,例如第二和第三段落,给第二段落之前设置了一个“换列符”后,第二段就新起一列。

5.8 column-break-inside

值:auto、avoid

暂未发现有何卵用。

6、伸缩盒

伸缩盒适合一个组件的布局,这个组件包含两部分:父容器和伸缩子项。

给父元素设置display:flex或inline-flex,也就定义了一个伸缩盒组件。

对伸缩子项设置浮动是无效的。

6.1 flex-direction

值:row(默认),row-reverse,column,column-reverse

适用于父容器。

row表示主轴方向水平从左向右,row-reverse则是从右向左。

column表示主轴方向垂直从上到下,column-reverse则是从下到上。

6.2 flex-wrap

值:nowrap(默认)、wrap、wrap-reverse

适用于父容器。用于设置伸缩子项的换行/换列行为。

通常是下方新起一行或右侧新起一列,wrap-reverse则改变此方向,新起的行都从上方开始,新起的列都从左边开始。

6.3 flex-flow

上述两个属性定义了flex-flow的方向排列方式,因此用这个简写属性代表上面两个属性。例如flex-flow:row nowrap;

6.4 justify-content

值:flex-start(默认),flex-end,center,space-between,space-around

适用于父容器,用于设置伸缩子项的对齐方式,类似于text-align。

主轴方向为row时,起点在左,终点在右,因此flex-start就是左对齐,flex-end就是右对齐。其余情况以此类推。

center表示居中;

space-between表示平均分布,类似于text-align:justify;

space-around也是平均分布,其不同之处在于两端也会参与平均分布。

6.5 align-items

值:flex-start,flex-end,center,baseline,stretch(默认)

用于定义侧轴的对齐方式。

例如在flex-flow为水平方向时,align-items类似于针对行内元素的vertical-align。

6.6 align-content

值:flex-start(默认),flex-end,center,space-between,space-around

用于定义多行或多列的伸缩子项在侧轴方向的对齐方式。参照justify-align。

6.7 align-self

适用于伸缩子项。

用于设置单个子项在侧轴方向的对齐方式。

值:flex-start,flex-end,center,baseline,stretch,auto(默认)

6.8 order

用一个整数(可为负)控制伸缩子项的位次。

适用于伸缩子项。

该值同样影响position为static的伸缩子项的堆叠次序,和z-index类似。

6.9 flex-grow

用数值定义扩展比例,不可为负,默认为0。

适用于伸缩子项。

当主轴方向上存在未填满的空间时,可对子项设置扩展因子,最后根据所有扩展因子的权重分配剩余空间,每个子项按分配到的宽度(或长度)加宽(或加长),从而占满父容器。

6.10 flex-shrink

用数值定义收缩比例,不可为负,默认为1。

适用于伸缩子项。

当主轴方向上子项溢出容器时,可对子项设置收缩因子,最后根据所有收缩因子的权重分配溢出空间,每个子项按分配到的宽度(或长度)减短。

6.11 flex-basis

       值:长度值,百分比,auto(默认),content

适用于伸缩子项。

设置宽度的基准值。按基准值的比例对子项进行伸缩以占满整个父容器。

6.12 flex

上述三个属性的简写。


溢出模式


overflow

时间: 2024-10-09 07:44:44

Kidney自得其乐版CSS教程 Chapter5 Layout的相关文章

Kidney自得其乐版CSS教程(序)

一.课程目录 Chapter 1 Selector 选择器 Chapter 2 Box Model 盒模型 Chapter 3 Text 文本 Chapter 4 Background & Border 背景与边框 Chapter 5 Layout 布局 Chapter 6 Transform 2D/3D几何变换 Chapter 7 Transition & Animation 时间轴与动画 Chapter 8 User Interface 用户界面 Chapter 9 Web Font

Kidney自得其乐版CSS教程 Chapter7 Transition&Animation

Chapter 7 Transition&Animation Version Update Note 1.0 2016-6-11 首次添加.欢迎在评论中指出错误,一经核实,立即修订,且注明贡献者. 1.transition transition的作用是在状态变化之间增加时间轴属性,使其呈现平滑过渡的动态效果. 它是以下四个属性的简写: 1.1 transition-property 设置参与过渡的属性.具备动画性的属性才会有过渡效果. 值:属性名(多个属性名用逗号隔开),all 1.2 tran

Kidney自得其乐版CSS教程 Chapter1 Selector

Chapter 1 Selector 选择器 Version Update Note 1.0 2016-5-28 首次添加.欢迎在评论中指出错误,一经核实,立即修订,且注明贡献者. 图例:CSS3以前版本    CSS3中浏览器普遍支持的属性    CSS3中未被普遍支持的属性 1.元素选择器 1.1 * 通配符,表示所有元素 1.2 element 2.class和id 2.1 .className 2.2 #id 在单个文档中指定唯一的元素. id可用于锚链接.例如: <a href = &qu

Kidney自得其乐版CSS教程 Chapter2 Box Model

Chapter 2 Box Model Version Update Note 1.0 2016-5-31 首次添加.欢迎在评论中指出错误,一经核实,立即修订,且注明贡献者. 1.元素的分类        1.1 替换元素 替换元素就是替身元素,它替别人占个位,它不是普通的标签,它代表某种元件. 例如:<img> <source><input><embed>……        1.2 非替换元素 大部分元素都是非替换元素. 从形式上看非替换元素是一对标签,替

Kidney自得其乐版CSS教程Chapter6 Transform

Chapter 6 Transform Version Update Note 1.0 2016-6-11 首次添加.欢迎在评论中指出错误,一经核实,立即修订,且注明贡献者. transform用于2D/3D几何变换,包括平移translate.旋转rotate.缩放scale和倾斜skew.这些几何变换有三个关键点:坐标原点.坐标和轴. 本来打算按之前的体例写,但是几何变换用图形最能说明一切,特别是网上有现成的资源,基本囊括了所有几何变换,非常直观,不用费一个字解释. 参见:http://we

Kidney自得其乐版CSS教程 Chapter3 Text

Chapter 3 Text Version Update Note 1.0 2016-6-1 首次添加.欢迎在评论中指出错误,一经核实,立即修订,且注明贡献者. 文本 字体 颜色 排版 修饰 书写模式 其它 1.字体 1.1 font-style 值:normal(默认),italic,oblique italic是从字体中选择斜体样式,如果某种字体无斜体样式,则用oblique设置斜体. 1.2 font-variant 值:normal,small-caps variant表示“变体”,用

CSS 教程 - 闭合浮动元素

按照CSS规范,浮动元素(floats)会被移出文档流,不会影响到块状盒子的布局而只会影响内联盒子(通常是文本)的排列. 因此当其高度超出包含容器时,一般父容器不会自动伸长以闭合浮动元素. 但是有时我们却需要这种自动闭合行为,具体如何处理呢? 有一种做法就是在父容器内再插入一个额外的标签,并令其清除浮动(clear)以撑大父容器.这种方法浏览器兼容性好,没有什么问题,缺点就是需要额外的(而且通常是无语义的)标签,所以我个人不大喜欢. 后来又有了一种新的方式,使用 :after 伪类动态的嵌入一个

2014年最新的辛星html、css教程打包发布了,免积分,纯PDF(还有PHP奥)

首先说一下,这个教程是我的所有的博客的精华,我整理了两天之后才做出的这个pdf文档,累死我了,下面免积分给大家,希望大家能够不吝指正,提出它的一些不足什么的,谢谢啦: 下面就是它的下载地址了:2014年辛星html.css教程   如果上面的地址打不开,可以去浏览器中输入如下地址,然后再打开即可: http://download.csdn.net/detail/xinguimeng/7678945     . 还有自己之前写的PHP的一些教程,第一本:PHP教程 ,下载连接:2014年辛星PHP

影梭Android版使用教程

影梭Android版使用教程 2015年5月13日  admin  影梭使用教程 下载影梭Android版客户端 安卓客户端下载:下载地址 安装并打开影梭 按下图说明设置服务器.远程端口.密码和加密方式,填写完成后,右上角点击开启 服务器购买连接 影梭 影梭安卓教程 影梭教程