CSS3弹性盒模型的布局理解

html-css012

CSS3弹性盒模型的布局理解,第1张

什么是flex布局?

传统的布局方案是基于盒模型,依赖于display:block和float+position,但是对于一些特殊的布局来说就不是很方便,如在盒模型中垂直居中。

2009年W3C提出一种新的布局方案,flex弹性盒布局,目前兼容的浏览器有chrome opera IE Firefox Sifari 

flex兼容浏览器版本

但是在未来flex布局将会成为布局的首选方案。

flex是flexinle BOX的缩写。意思是弹性布局,用来为盒模型提供最大的灵活性。    任何一个容器(标签)都可以指定为flex布局。用display:flex;

如果给容器设置flex的时候当前容器内子元素的float,clear,vericla-align都将会失效

flex的基本概念

容器默认存在两根轴:水平的主轴(main axis)和垂直交叉轴(cross axis).主轴的开始位置(与边框的交叉点)叫做main start, 结束位置叫做main end 交叉轴的开始位置叫做cross start ,结束位置叫做cross end.项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴叫做cross size.

如果给一个元素设置为flex后,这个元素就会作为子元素的flex容器。通过给容器设置属性来改变里面子元素的位置。

首先要给父元素添加display:flex;将父元素转化为弹性盒

2.用flex-direction来改变盒子里元素的位置

row 默认在一行内排列(从左向右)

row-reverse:反转横向排列(右对齐,从后往前排,最后一项排在最前面。)

column :纵向排列。

column-reverse:反转纵向排列,从下往上排,最后一项排在最上面

3.内容对齐(justify-content)属性应用在 弹性容器 上,把弹性项沿着弹性容器的主轴线(main axis)对齐

justify-content:flex-start 默认,左对齐(图1)

justify-content:flex-end 右对齐(图2)

justify-content:center 居中对齐(图3)

justify-content:space-between 两端对齐,中间自动分配

justify-content:space-around 自动分配距离

主轴对齐方式

4.align-items(交叉轴对齐方式)

flex-start:顶端对齐

flex-end:底对齐

center:垂直居中对齐

baseline:项目内文本的底线对齐

stretch  默认值    项目的高度自适应容器(注:子元素不能设置高)

交叉轴对齐方式

5.flex-wrap

该属性控制flex容器是单行或者多行,同时横轴的方向决定了新行堆叠的方向。

  nowrap:flex容器为单行。该情况下flex子项可能会溢出容器

  wrap:flex容器为多行。该情况下flex子项溢出的部分会被放置到新行,子项内部会发生断行

  wrap-reverse:反转 wrap 排列。

图1(nowrap)注意如果父元素盒设置宽度会自动缩子元素容器宽度

图2(wrap)

图3(warp-reverse)

容器单行或者多行方式

 6、align-content(行与行之间对齐方式)

当伸缩容器的侧轴还有多余空间时,本属性可以用来调整「伸缩行」在伸缩容器里的对齐方式,这与调整伸缩项目在主轴上对齐方式的 <‘ justify-content’>属性类似。 注:本属性在只有一行的伸缩容器上没有效果。

flex-start没有行间距

flex-end底对齐没有行间距

center居中没有行间距

space-between两端对齐,中间自动分配

space-around自动分配距离

1、CSS 概述CSS 指层叠样式表 (Cascading Style Sheets)样式定义如何显示 HTML 元素样式通常存储在样式表中把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题外部样式表可以极大提高工作效率外部样式表通常存储在 CSS 文件中多个样式定义可层叠为一

2、HTML 标签原本被设计为用于定义文档内容。通过使用

,

,

这样的标签,HTML 当初被指望用来表达“这是标题”、“这是段落”、“这是表格”之类的信息。而文档的布局被期望由浏览器来完成,而不使用任何的格式化标签。由于两种主要的浏览器(Netscape 和 Internet Explorer)不断地将新的 HTML 标签和属性(比如字体标签和颜色属性)添加到 HTML 规范之中,因此创建文档内容清晰地独立于文档表现层的站点变得越来越困难。为了解决这个问题,万维网联盟(W3C),这个非营利的标准化联盟,肩负起了 HTML 标准化的使命,并在 HTML 4.0 之外创造出 STYLES(样式)。所有的主流浏览器均支持层叠样式表。样式表极大地提高了工作效率

3、样式表定义如何显示 HTML 元素,诸如 HTML 3.2 的样式中的字体标签和颜色属性通常被保存在外部的 .css 文件中。通过仅仅编辑一个简单的 CSS 文档,外部样式表使你有能力同时改变站点中所有页面布局的外观。

4、由于允许同时控制多重页面的样式和布局,CSS 可以称得上 WEB 设计领域的一个突破。作为网站开发者,你可以为每个 HTML 元素定义样式,并将之应用于你希望的任意多的页面中。如需进行全局变换,只需简单地改变样式,然后网站中的所有元素均会被自动地更新。

5、多重样式将层叠为一个 样式表允许以多种方式规定样式信息。样式可以被规定于单个的 HTML 元素中,在 HTML 页的头元素中,或在一个外部的 CSS 文件中。甚至可以在一个单一的 HTML 文档内部引用多个外部样式表。

6、层叠次序,当同一个HTML元素被不止一个样式所定义时,会使用哪个样式呢,一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 4 拥有最高的优先权。浏览器缺省设置外部样式表内部样式表(位于 <head>标签内部)内联样式(在 HTML 元素内部)因此,内联样式(在 HTML 元素内部)拥有最高的优先权,这意味着它将优先于以下的样式声明:<head>标签中的样式声明,外部样式表中的样式声明,或者浏览器中的样式声明(缺省值)。 小玉玉10-11 17:15优质作者 关注 为你推荐pdf如何转换成word 换成word的步骤 什么的神州组词 神州介绍 特种兵的电视剧有哪些 每部都是经典 美是理念的感性显现这么理解 美是理念的感性显现是什么意思 碧绿碧绿类似的词语 abab式的词语大全王子变青蛙插曲 插曲有哪些 吃什么能瘦脸 给大家推荐这三种 太阳能热水器清洗方法 清洗热水器方法 羽毛球赛制 羽毛球赛制简述 银行卡挂失怎么做 操作步骤什么是顺时针 给大家介绍一下 污水处理流程 污水处理流程简述 探险家出装 探险家出装推荐 淘宝开店教程 怎么开店 出纳的职责 出纳的职责介绍电车之狼怎么玩 如何玩电车之狼 电脑的配置怎么查看 查看电脑配置的方法 南京两日游攻略 南京两日游地点选择 两小儿辩日停顿方法 怎么停顿才正确 清明节祭祀注意事项是什么 清明节祭祀禁忌桌面不显示怎么办 桌面不显示解决办法 钢琴入门教程 钢琴入门教程介绍 五子棋教程 五子棋怎么玩 女孩子最想要什么 大家来说说吧 什么是量词 量词专业解释关于大熊猫的资料 大熊猫的资料 大学活动策划怎么写 大学活动策划基本写法 移动硬盘不显示怎么办 要怎么设置 limbo攻略 怎么过limbo 怎样美白皮肤 美白皮肤的方法新手开网店方法 新手怎样开网店 搜索引擎的工作原理 搜索引擎的工作原理简述 初中英语教学反思怎么写 初中英语教学反思示例 小说人物名字怎么取 小说人物取名字方法 我的世界铁砧是什么 来这里了解下详情什么的微笑 列举什么的微笑及释义 beg的过去式 大家可以学习一下 二年级清明节怎么画 清明节怎么表达 安陵容怎么死的 安陵容死因简述 支付宝怎么开通 开通的办法制作gif的方法 如何制作gif lol怎么截图 LOL是什么游戏 科技公司起名方法 科技公司怎么起名 新年适合发朋友圈的句子 适合新年发朋友圈的句子 行李箱密码怎么设置 设置的办法仙剑奇侠传二攻略 如何轻松过关 空气能采暖吗 她是怎么发展起来的 女宝宝名字怎么取 这几个名字都可借鉴 取消开机密码怎么设置 如何取消电脑开机密码 我的世界红石自动门怎么做 我的世界红石自动门制作攻略

建议在浏览器中查看,用chrome之类的,别用ie。

看一下是不是路径引用错误,再看一下,是不是HTML页面用的UTF-8字体,而CSS没用设置,如果没有设置把CSS设置成UTF-8试试看。

把网页中所有的元素都放在一个盒模型里,通过CSS来控制这些盒子的基本属性。