经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTMLCSS » CSS » 查看文章
高级布局
来源:cnblogs  作者:Yven  时间:2018/9/27 16:28:25  对本文有异议

一.文档流

1.概念

  1. normal flow(普通流,常规流)将窗体自上而下分成一行一行,块级元素从上至下、行内元素在每行中从左至右的顺序依次排放元素。一个连续具有逻辑上下的页面整体,出现在页面中的显示内容,均可以理解为文档流中。

2.BFC(Block formatting context)

  1. 块级格式化上下文,它是一个独立的渲染区域,只有Block-level box参与,它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。

3.BFC规则

  • 内部的Box会在垂直方向,一个接一个地放置。
  • Box自身垂直方向的位置由margin-top决定,属于同一个BFC的两个相邻Box的margin会发生重叠。
  • Box自身水平方向的位置由margin左或右决定(具体已经参照BFC方位),属于同一个BFC的两个相邻Box的margin会发生叠加。

二.浮动布局

1.概念

  1. 通过让元素浮动,可以使元素在水平上左右移动,再通过margin属性调整位置,就是使当前元素脱离文档流,相当于浮动起来一样,浮动的框可以左右移动,直至它的外边缘遇到包含框或另一个浮动框的边缘。

2.基本语法

  1. float:left | right

3.浮动的印象

  • 对附近的元素布局造成改变,使得布局混乱。
  • 因为i浮动元素脱离了文档流,会出现一种高度坍塌的现象:原来的父容器高度是当前元素撑开的,但是当该元素浮动后,脱离文档流浮动起来,那父容器的高度就会坍塌(前提是父容器高度小于该浮动元素)

4.清浮动

  1. 目的:对父级所在容器中的Block-level Box布局不产生影响
  2. 原理:再浮动布局情况下,让父级获得合适的高度
  1. 1.浮动的父级设置高度
  2. sup{
  3. height:npx;
  4. }
  5. 2.浮动的父级设置overflow
  6. sup{
  7. overflow:hidden;
  8. }
  9. 3.浮动的父级兄弟设置clear
  10. brother{
  11. clear: left | right | both;
  12. }
  13. 4.浮动的父级伪类清浮动
  14. sup:after{
  15. content:"";
  16. display:block;
  17. clear:both;
  18. }

三.流式布局

1.概念

  1. 流式布局是页面元素的宽度按照分辨率进行适配调整,但整体布局不变.就是布局脱离固定值限制,可以根据页面情况改变相应发生改变。

2.流式布局相关操作

  1. 1.百分比设置 %
  2. 如:width: 90%;
  3. 2.窗口比设置 vw|vh
  4. 如:width: 90vw;
  5. 3.字体控制 em|rem
  6. em为相对大小,大小为最近设置字体大小的父级规定的字体大小
  7. remhtml字体大小

四.定位布局

1.概念

  1. 定位布局的目的:让目标标签在指定参考系下任意布局

2.基本语法

  1. position:static | relative | absolute | fixed
  • static:静态定位,默认定位.
  • relative:相对定位,未脱离文档流,以自身原有位置作为参考坐标系.
  • absolute:绝对定位,完全脱离文档流,以最近定位父级作为参考坐标系.
  • fixed:固定定位,完全脱离文档流,以文档窗口作为参考坐标系.

定位开启后,四个定位方位便会开启,且四个方位均参与布局,如果发生冲突,左右取左,上下取上

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号