zoukankan      html  css  js  c++  java
  • CSS

    1. 布局模型与盒模型一样都是 CSS 最基本、 最核心的概念。

    2. 但布局模型是建立在盒模型基础之上,又不同于我们常说的 CSS 布局样式或 CSS 布局模板。

    3. 布局模型是本质,CSS 布局模板是外在的表现形式。


    在网页中,元素有三种布局模型:

    1. 流动模型(Flow)
    2. 浮动模型 (Float)
    3. 层模型(Layer)

    4. 流动模型

    4.1 流动是默认的网页布局模式。
    4.2 块状元素从上而下按顺序垂直分布

    4.3 内联元素从左到右水平分布显示。

    5. 浮动模型

    块状元素独占一行,怎么让两个块状元素并排显示?解决方案为设置元素浮动(设置float)。

    例子1. 块状元素显示在同一行,同左或者同右。

    <!DOCTYPE HTML>
    <html>
    
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <title>浮动模型</title>
      <style type="text/css">
        div {
          border: 2px red solid;
           200px;
          height: 400px;
          float: left;
        /* float: right; */
        }
      </style>
    </head>
    
    <body>
      <div id="div1">栏目1</div>
      <div id="div2">栏目2</div>
    </body>
    
    </html>
    

    例子2. 块状元素显示在同一行,一左一右。

    div{
        200px;
        height:200px;
        border:2px red solid;
    }
    #div1{float:left;}
    #div2{float:right;}
    

    6. 层模型

    层模型有三种形式:

    6.1 层模型-绝对定位(position: absolute)

    这条语句的作用将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父元素进行绝对定位。如果不存在这样的父元素,则相对于body元素,即相对于浏览器窗口

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>absolute样式</title>
    <style type="text/css">
    div{
        200px;
        height:200px;
    	border:2px red solid;
    	position:absolute;
    	left:100px;
    	top:50px;
    }
    </style>
    </head>
    <body>
    <div id="div1"></div>
    </body>
    </html>
    


    6.2 层模型-相对定位(position: relative)

    生成相对定位的元素,相对于其正常位置进行定位
    相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动(同时占有以前的位置)

    #div1{
        200px;
        height:200px;
        border:2px red solid;
        position:relative;
        left:100px;
        top:50px;
    }
    
    <div id="div1"></div>
    

    占有以前的位置

    <!DOCTYPE HTML>
    <html>
    
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <title>relative样式</title>
      <style type="text/css">
        #div1 {
           200px;
          height: 200px;
          border: 2px red solid;
          position: relative;
          left: 100px;
          top: 100px;
        }
      </style>
    </head>
    
    <body>
      <div id="div1"></div>
      <span>偏移前的位置还保留不动,覆盖不了前面的div没有偏移前的位置</span>
    </body>
    
    </html>
    


    6.3 层模型-固定定位(position: fixed)

    生成固定定位的元素,相对于浏览器窗口进行定位
    例如放大和缩小浏览器窗口不会影响固定定位元素的位置,始终在某一个位置


    7. position:relative与position:absolute组合使用,实现相对于其它元素定位

    7.1 参照定位的元素必须是相对定位元素的父元素

    <div id="box1"><!--参照定位的元素-->
        <div id="box2">相对参照元素进行定位</div><!--相对定位元素-->
    </div>
    

    7.2 参照定位的元素必须加入position:relative
    因为会保留以前的位置,网页整体布局不会乱。(可以设置position:absolute看效果)

    #box1{
        200px;
        height:200px;
        position:relative;        
    }
    

    7.3 定位元素加入position:absolute,便可以使用top、bottom、left、right来进行偏移定位。

    #box2{
        position:absolute;
        top:20px;
        left:30px;         
    }
    
    

  • 相关阅读:
    mac c++编译出现segmentation fault :11错误
    ssh 连接缓慢解决方法
    237. Delete Node in a Linked List
    203. Remove Linked List Elements
    Inversion of Control Containers and the Dependency Injection pattern
    82. Remove Duplicates from Sorted List II
    83. Remove Duplicates from Sorted List
    SxsTrace
    使用CCleaner卸载chrome
    decimal and double ToString problem
  • 原文地址:https://www.cnblogs.com/allen2333/p/8857461.html
Copyright © 2011-2022 走看看