• 布局模型


                                  布局模型

                          在网页中,元素有三种布局模型:
                            1、流动模型(Flow)
                            2、浮动模型 (Float)
                            3、层模型(Layer)

    •  流动(Flow)是默认的网页布局模式。

      流动布局模型具有2个比较典型的特征:
      第一点,块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。实际上,块状元素都会以行的形式占据位置。
      第二点,在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示。(内联元素可不像块状元素这么霸道独占一行)

      

    •  浮动(float) 

        设置元素浮动可以让两个块状元素并排显示

         div{                      div{                      div{

           200px;                200px;                 200px;  
           height:200px;                height:200px;                height:200px;
           border:2px red solid;             border:2px red solid;             border:2px red solid; 
           float:left;                   float:right;                  }
          }                      }                      #div1{float:left;}
          <div id="div1"></div>            <div id="div1"></div>                 #div2{float:right;}
          <div id="div2"></div>            <div id="div2"></div>

              

    •   层模型有三种形式:

          1、绝对定位(position: absolute)
          2、相对定位(position: relative)
          3、固定定位(position: fixed)
        绝对定位(position: absolute)
          将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口,会随着滑动而变化。
          例:div{
              200px;
              height:200px;
              border:2px red solid;
              position:absolute;
              left:100px;
              top:50px;
              }
              <div id="div1"></div>

          

        相对定位(position: relative)

      它通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。
        #div1{                                    偏移前的位置保留不动
            200px;
            height:200px;
            border:2px red solid;
            position:relative;
            left:100px;
            top:50px;
           }                              <div id="div1"></div>
         <div id="div1"></div>                <span>偏移前的位置还保留不动,覆盖不了前面的div没有偏移前的位置</span>

                                  

         固定定位(position:fixed)

        表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed;(固定背景图片)属性功能相同。以下代码可以实现相对于浏览器视图向右移动100px,向下移动50px。并且拖动滚动条时位置固定不变。       

        Relative与Absolute组合使用

      1、参照定位的元素必须是相对定位元素的前辈元素:
        <div id="box1"><!--参照定位的元素-->
        <div id="box2">要定位的元素</div><!--相对定位元素-->
        </div>
            从上面代码可以看出box1是box2的父元素(父元素当然也是前辈元素了)。
      2、参照定位的元素必须加入position:relative;
        #box1{
          200px;
          height:200px;
          position:relative; 
          }
      3、定位元素加入position:absolute,便可以使用top、bottom、left、right来进行偏移定位了。
        #box2{
          position:absolute;
          top:20px;
          left:30px; 
          }
      这样box2就可以相对于父元素box1定位了  

  • 相关阅读:
    flex
    两端对齐
    background-clip、background-origin、box-sizing
    animation
    transform translate transition 的区别
    如何将页脚固定在页面底部
    normalize.css
    使用 Swift 制作一个新闻通知中心插件(1)
    在 App 扩展和主 App 间共享数据
    asp.net core Cookie认证
  • 原文地址:https://www.cnblogs.com/Lune-Qiu/p/7305354.html
Copyright © 2020-2023  润新知