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;         
    }
    
    

  • 相关阅读:
    models F Q查询
    Django models 多对多 操作
    Cookies与session的区别
    Form表单验证
    图片上传
    Django进阶
    sql 单个字段去重查询 distinc 和 group by的效率问题
    Django知识点整理
    Web应用请求和响应 HTTP相关
    Django中的几种重定向方式
  • 原文地址:https://www.cnblogs.com/allen2333/p/8857461.html
Copyright © 2011-2022 走看看