本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解。

一.布局简介

CSS3 提供一种崭新的布局方式:Flexbox 布局,即弹性伸缩布局模型(Flexible Box)。用来提供一个更加有效的方式实现响应式布局。但是用于这个布局方式还处于 W3C 的草案阶段,并且它还分为旧版本、新版本以及混合过渡版本三种不同的编码方式。在发展中,可能还有各种改动,浏览器的兼容性还存在问题。所以,本节课作为初步了解即可。

首先,我们来看下旧版本的浏览器兼容情况:

Flexbox 旧版本兼容情况

属性 IE Firefox Chrome Opera Safari
带前缀 4 ~ 25  4 ~ 31 15 ~ 18 5.17+
不带前缀

以上的数据,我们摘自 CSS3 手册上的。当然,不同的教材和文章的会略有不同。但误差率也就一到两个版本,影响不大。

首先,第一步:先创建一段内容,分成三个区域。

HTML 部分

第一段内容...

第二段内容...

第三段内容...

CSS 部分

p {

width: 150px;

border: 1px solid gray;

background-color: silver;

margin: 5px;

padding: 5px;

}

div {

display: -moz-box;

display: -webkit-box;

display: box;

}

通过以上设置,在除了 IE 浏览器外,布局实现了水平分布。那么下面,我们就重点研究一下这些属性的含义。

二.旧版本

如果属性和属性值为:display:box,那么就是 2009 年 7 月份设定的工作草案,属于旧版本。它面向的是一些早期浏览器的弹性布局方案。

首先,我们要将几个需要布局模块的父元素设置一下容器属性 display。

属性值 说明
box 将容器盒模型作为块级弹性伸缩盒显示(旧版本)
inline-box 将容器盒模型作为内联级弹性伸缩盒显示(旧版本)

我们知道块级它是占用整行的,类似

元素;而内联级不占用整行,类似元素。但是我们设置了整个盒子,他们都不占用,保持一致。

设置弹性,以火狐为例

div {

display: -moz-box;

}

1.box-orient 属性

box-orient 主要实现盒子内部元素的流动方向。

设置垂直流动

div {

-webkit-box-orient: vertical;

}

属性值 说明
horizontal 伸缩项目从左到右水平排列
vertical 伸缩项目从上到下垂直排列
inline-axis 伸缩项目沿着内联轴排列显示
block-axis 伸缩项目沿着块轴排列显示

2.box-direction

box-direction 属性主要是设置伸缩容器中的流动顺序。

设置逆序

div {

-moz-box-direction: reverse;

}

属性值 说明
normal 默认值,正常顺序
reverse 逆序

3.box-pack

box-pack 属性用于伸缩项目的分布方式。

分布方式已结束位置靠齐

div {

-moz-box-pack: end;

}

属性值 说明
start 伸缩项目以起始点靠齐
end 伸缩项目以结束点靠齐
center 伸缩项目以中心点靠齐
justify 伸缩项目平局分布,-webkit-支持,-moz-不支持

4.box-align

box-align 属性用来处理伸缩容器的额外空间。

居中对齐,清理上下额外空间

div {

-moz-box-align: center;

}

属性值 说明
start 伸缩项目以顶部为基准,清理下部额外空间
end  伸缩项目以底部为基准,清理上部额外空间
center 伸缩项目以中部为基准,平均清理上下部额外空间
baseline 伸缩项目以基线为基准,清理额外的空间
stretch 伸缩项目填充整个容器,默认

5.box-flex

box-flex 属性可以使用浮点数分配伸缩项目的比例

设置每个伸缩项目占用的比例

p:nth-child(1) {

-moz-box-flex: 1;

}

p:nth-child(2) {

-moz-box-flex: 2.5;

}

p:nth-child(3) {

-moz-box-flex: 1;

}

6.box-ordinal-group

box-ordinal-group 属性可以设置伸缩项目的显示位置。

将第一个位置的元素,跳转到第三个位置

p:nth-child(1) {

-moz-box-ordinal-group: 3;

}

如果您觉得有用,记得在下方点赞、关注、留言,小编会定期奉 上更多的惊喜哦,您的打赏支持才是小编继续努力的动力,么么哒。

每日分享在学习过程中总结的学习经验,学习笔记,笔试题,HTML,CSS,JavaScript,jQuery教程,Vue教程,PHP教程,TinkPHP教程等,望大家能以学习为目的,每天阅读一篇文章,了解身边的技术,陪有梦想的人一起成长!

flex布局实现叠在另一个div之上_CSS3 flex弹性伸缩布局[上]相关推荐

  1. flex布局实现叠在另一个div之上_flex布局

    在学习flex布局之前,我们是如何让如下四个盒子排在一列呢?我们也许会用浮动.定位等等.当我们使用的时候我们会觉得很麻烦,需要调间距.量距离等.然而学习了felx布局,我们可以轻松的解决这些问题. 1 ...

  2. flex布局实现叠在另一个div之上_如何让一个div在另一个div的上面,求高手指点...

    展开全部 方法: 这个用绝对定位就可以搞定了.32313133353236313431303231363533e59b9ee7ad9431333365663466 position:absolute; ...

  3. CSS3弹性伸缩布局(一)——box布局

    CSS3弹性伸缩布局简介 2009年,W3C提出了一种崭新的方案----Flex布局(即弹性伸缩布局),它可以简便.完整.响应式地实现各种页面布局,包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃 ...

  4. css线条伸缩_CSS3弹性伸缩布局之box布局

    CSS3弹性伸缩布局简介 2009年,W3C提出了一种崭新的方案----Flex布局(即弹性伸缩布局),它可以简便.完整.响应式地实现各种页面布局,包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃 ...

  5. css线条伸缩_CSS3弹性伸缩布局(一)——box布局

    CSS3弹性伸缩布局简介 2009年,W3C提出了一种崭新的方案----Flex布局(即弹性伸缩布局),它可以简便.完整.响应式地实现各种页面布局,包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃 ...

  6. [24]CSS3 弹性伸缩布局(上)

    一.布局简介 CSS3 提供一种崭新的布局方式:Flexbox 布局,即弹性伸缩布局模型(FlexibleBox).用来提供一个更加有效的方式实现响应式布局.但是用于这个布局方式还处于 W3C 的草案 ...

  7. CSS3 弹性盒布局模型和布局原理

    在CSS 3中,CSS Flexible Box模块为一个非常重要的模块,该模块用于以非常灵活的方式实现页面布局处理. 虽然可以使用其他CSS样式属性来实现页面布局处理,但是如果使用CSS Flexi ...

  8. Kubernetes 弹性伸缩全场景解析 (一):概念延伸与组件布局

    传统弹性伸缩的困境 弹性伸缩是 Kubernetes 中被大家关注的一大亮点,在讨论相关的组件和实现方案之前.首先想先给大家扩充下弹性伸缩的边界与定义,传统意义上来讲,弹性伸缩主要解决的问题是容量规划 ...

  9. 黑客内参告诉你一个:设计师用div+css 必须知道的网页布局类型

    今天我在黑客内参受到了很多的留言,很多小伙伴在表示想要建立一个属于自己的站点,让我觉得现在建站是大部分人都比较感兴趣的一个技术吧! 碰巧今天整理以前的笔记发现了一本之前遗留下来的建站笔记,现在我就手打 ...

最新文章

  1. 【leetcode】7.反转整数(Reverse Integer)
  2. bzoj3218: a + b Problem
  3. 世园会开幕式上的机器人_【在国际智能制造大会暨智能机器人大会开幕式上的致辞】世界智能机器人大会...
  4. sql docker容器_了解SQL Server Docker容器中的备份和还原操作
  5. “龙书”作者斩获图灵奖!谷歌 AI 大神、Swift 之父都受它启蒙
  6. 方舟服务器物品代码,方舟:生存进化 全物品代码ID一览 物品修改代码大全
  7. vbs代码未结束的字符串常量
  8. glm-0.9.9.7 + visual studio 2019 + window10下载安装
  9. 2019年12月份统考计算机应用基础题库,2019年12月网络教育统考《计算机应用基础》模拟题...
  10. 五边形顶点坐标_足球顶点坐标的计算
  11. AT指令(中文详解版)(一)
  12. css图片不断放大缩小的动画效果
  13. 易语言如何调用c dll文件,易语言调用C++写的DLL
  14. 圣思园——Java SE Lesson 16
  15. facebook审核流程
  16. java.sql.SQLException: 无效的列类型: 1111 报错问题解决
  17. java个人博客系统代码下载_java个人博客系统代码
  18. 关于参加全国大学生数学建模竞赛总结
  19. 物理与计算机信息工程学院,物理与电子工程学院欢迎您
  20. python--定义新矩阵、矩阵赋值、改变类型

热门文章

  1. 关于MD5对用户密码不进行明文保存的问题
  2. python排序-堆排序
  3. 判断字符串是数字、字符、还是...
  4. cordic ip核 vivado_vivado中Cordic IP核使用——计算正余弦(sin/cos)
  5. 数据分析20大基本分析方法技术总结【分析目的、分析案例、分析方法与思路】
  6. kcf算法中cos_window是什么意思_知网/维普查重系统算法介绍(史上最详细)
  7. Python逐块执行另一个Python程序中的代码观察运行过程
  8. 微课|中学生可以这样学Python(例7.1):继承
  9. 使用Python开发SQLite代理服务器
  10. java空白页,[求教]JSP页面显示为空白页,请高手赐教!