美文网首页
CSS布局模型

CSS布局模型

作者: 夜之海澜 | 来源:发表于2019-02-20 15:53 被阅读4次

    在网页中有是那种布局模型

    • 流动模型(Flow)
      流动模型是默认的网页布局模式。
      流动模型具有两个比较典型的特点:
    1. 块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都是100%,块状元素都会以行的形式占据位置。
      2.内联元素都会在所处的包含元素内从左到右水平分布显示。
    2. 有序列表第二项
    • 浮动模型(Float)
      如果想让两个块状元素并排显示,可以用float

    • 层模型(layer)
      层模型有三种形式:

    1. 绝对定位(position: absolute)
      绝对定位将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的父包含块,则相对于body元素,即相对于浏览器窗口。
    2. 相对定位(position: relative)
      通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按照static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。
      3.固定定位(position: fixed)
      与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随着浏览器的窗口的滚动条滚动而变化,除非你再屏幕中移动浏览器窗口的屏幕位置,或者改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响。
    • 延伸思考
      我们知道position: absolute是相对浏览器窗口的,如果想让它相对某个元素进行定位可以不可以呢?当然可以,需要使用相对定位position:relative来帮忙。但必须遵守以下规范:
      1.参照定位的元素必须是相对定位元素的前辈元素;例:box2相对box1进行定位,则box1必须是box2的前辈元素。
      <div id="box1">
      <div id="box2">定位元素</div>
      </div>
      2.参照元素必须加入position:relative;
      上例中,#box1{position: relative}
      3.定位元素加入position: absolute
      同理,上例中#box2{position: absolute}

    相关文章

      网友评论

          本文标题:CSS布局模型

          本文链接:https://www.haomeiwen.com/subject/pybcyqtx.html