zoukankan      html  css  js  c++  java
  • 自适应布局

      之前在几个CSS布局问题中,举了上下固定,中间自适应布局的例子,当时的例子父级元素的宽高都给定了,其实并不是个好例子,既然要自适应,父级元素就应该跟着页面大小变化,从而中间子元素也自适应。3种方法,其实是2种,因为是针对body,所以用fixed可以直接替换absolute来用。注意同时给html和body的height100%,只给一个不行。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <style type="text/css">
    # {
      margin: 0;
      padding: 0;
    }
    html {
      height: 100%;
    }
      body {
        width: 100%;
        height: 100%;
        margin: 0;
        font-size: 60px;
      }
      .class1 {
        height: 200px;
        width: 100%;
        background: #ccc;
        position: absolute;
        /*position: fixed;*/
        top: 0;
      }
    
      .class2 {
        width: 100%;
        background: #888;
        position: absolute;
        top: 200px;
        bottom: 200px;
      }
    
      .class3 {
        height: 200px;
        width: 100%;
        background: #333;
        position: absolute;
        /*position: fixed;*/
        bottom: 0;
      }
    </style>
    <body>
      <div class="class1">1111</div>
      <div class="class2">2222</div>
      <div class="class3">3333</div>
    </body>
    </html>

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <style type="text/css">
    # {
      margin: 0;
      padding: 0;
    }
    html {
      height: 100%;
    }
      body {
        width: 100%;
        height: 100%;
        margin: 0;
        display: flex;
        flex-direction: column;
        font-size: 60px;
      }
      .class1 {
        height: 200px;
        width: 100%;
        background: #ccc;
      }
    
      .class2 {
    
        width: 100%;
        background: #888;
        flex: 1;
      }
    
      .class3 {
        height: 200px;
        width: 100%;
        background: #333;
      }
    </style>
    <body>
      <div class="class1">1111</div>
      <div class="class2">2222</div>
      <div class="class3">3333</div>
    </body>
    </html>

    注意用flex的时候,所有的position布局的属性都要删掉。

  • 相关阅读:
    django初识
    django前奏
    前端之bootstrap
    前端之jQuery
    前端基础之BOM和DOM操作
    前端之js
    前端之css(二)
    前端之css(一)
    html之form表单
    前端之html
  • 原文地址:https://www.cnblogs.com/zhansu/p/11048290.html
Copyright © 2011-2022 走看看