zoukankan      html  css  js  c++  java
  • 视觉格式化模型

    视觉格式化模型
    css的一种机制,它规定了页面中的多个盒子如何布局

    视口(viewport)
    可视窗口,通常指浏览器的可视区域

    包含块(containing block)
    元素摆放的区域
    通常情况下,元素的包含块是它父元素的内容盒
    html:根包含块:初始化包含块


    定位体系
    1、常规流(normal flow)

    2、浮动(float)
    3、绝对定位(absolute positioned)
    定位体系判定
    1、开始>position=absolute或fixed>如果是>他就是绝对定位>结束

    2、开始>position=absolute或fixed>如果不是>如果是left或right>他就是浮动>结束

    3、开始>position=absolute或fixed>如果不是>如果是left或right>如果都不是>他就是常规流>结束

    position默认值:static
    fixed默认值:none

    任何一个元素,必须属于其中一种定位体系
    不同的定位体系中,元素在包含块中的尺寸和位置会有一些差异

    常规流:
    又叫普通流、文档流、普通文档流
    常规流是最常见的定位体系,所有元素默认状态下都是常规流

    auto:按照不同定位体系的规则计算
    水平方向:
    常规流盒子水平方向的尺寸,必须等于包含块的宽度
    垂直方向:
    margin为auto:0px
    height为auto:适应内容的高度

    width、height默认值是auto;

    常规流块盒,在水平方向居中
    第1步、给一个固定宽
    第2步、margin:auto;
    例子:
    width:200px;
    margin:auto;

    盒子位置
    盒子在包含块的垂直方向上依次摆放
    依次摆放:按照HTML元素的书写顺序从上到下摆放
    盒子在包含块中占据的尺寸是整个盒子的尺寸

    垂直方向,若两个外边距相邻,则进行合并(折叠)
    垂直方向:水平方向上的外边距不会合并
    外边距相邻:两个外边距之间没有border、padding和content
    垂直方向外边距合并的规则:
    1、如果两个都是正值,取最大值。
    2、如果两个都是正负,取最小值。
    3、如果一个是正、一负,则进行相加。

    外边距合并触发场景:
    1、两个挨着的兄弟元素
    2、父子级元素
    overflow:hidden


    盒子的相对位置
    相对位置,是指相对于盒子在原本定位体系下的位置

    将盒子的position属性设置为relative,以启用相对定位
    默认值:static
    取值:
    static:静态位置,盒子在原本定位体系下的位置
    relative:相对位置,盒子相对原本的位置进行偏移
    absolute:
    fixed:

    设置相对位置步骤:
    1、position:relative
    2、某个方向的偏移量
    特点:
    1、不会影响其他元素
    相对位置的元素,原位置与尺寸依然保留
    2、相对位置的元素,会覆盖其它元素
    适用场景
    想要对某个元素进行位置的移动。
    但又想保留其原来的位置与尺寸。

  • 相关阅读:
    用shell脚本监控进程是否存在 不存在则启动的实例
    vue+element-ui+ajax实现一个表格的实例
    c的指针和php中的引用的区别
    mysql or条件查询优化
    Linq查询操作之投影操作
    Linq查询操作之Where筛选
    Linq专题之查询操作
    linq之join子句
    linq之let子句
    linq之into子句
  • 原文地址:https://www.cnblogs.com/yangzisong/p/13233261.html
Copyright © 2011-2022 走看看