美文网首页
html页面布局-三栏布局

html页面布局-三栏布局

作者: 麻辣小面瘫 | 来源:发表于2019-04-29 10:43 被阅读0次
微信图片_20190429104217.png 微信图片_20190429104225.png
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  
  <style>
      html *{
        margin:0;
        padding:0;
      }  
      .layout{
        margin-top: 20px;
      }
      .layout div{
        min-height: 100px;
      }

      .layout-flex{
        margin-top: 200px;
      }
    </style>
</head>
<body>
  <h1>左右栏固定,中间自适应的三栏布局方法</h1>
  <section class="layout ">
    <style>
      .float .left{
        float: left;
        width: 300px;
        background-color: blue;
      }
      .float .center{
        /* 创建bfc */
        overflow: hidden;
        background-color: red;
      }
      .float .right{
        float: right;
        width: 300px;
        background-color: yellow;
      }
    </style>
    <h1>浮动三栏布局,浮动的必须放在前面, 高度不能自适应</h1>
    <article class="float">
      <div class="left"></div>
      <div class="right"></div>
      <div class="center">
          <h2>浮动解决方案</h2>
          <p>这是三栏布局的浮动解决方案;</p>
          <p>这是三栏布局的浮动解决方案;</p>
          <p>这是三栏布局的浮动解决方案;</p>
          <p>这是三栏布局的浮动解决方案;</p>
          <p>这是三栏布局的浮动解决方案;</p>
          <p>这是三栏布局的浮动解决方案;</p>
          <p>这是三栏布局的浮动解决方案;</p>

      </div>
    </article>
  </section>

  <section class="layout ">
    <style>
      .float2 .left{
        float: left;
        width: 300px;
        margin-left: -100%;
        background-color: blue;
      }
      .float2 .center{
        float: left;
        width:100%;
        padding-left: 300px;
        padding-right: 300px;
        background-color: red;
        box-sizing: border-box;
      }
      .float2 .right{
        float: right;
        width: 300px;
        margin-left: -300px;
        background-color: yellow;
      }
      .float2::after{
        content: "";
        display: block;
        clear: both;
      }
    </style>
    <h1>浮动三栏布局,浮动的放在后面, 高度不能自适应</h1>
    <article class="float2">
      
      <div class="center">
          <h2>浮动解决方案</h2>
          <p>这是三栏布局的浮动解决方案;</p>
          <p>这是三栏布局的浮动解决方案;</p>
          <p>这是三栏布局的浮动解决方案;</p>
          <p>这是三栏布局的浮动解决方案;</p>
          <p>这是三栏布局的浮动解决方案;</p>
          <p>这是三栏布局的浮动解决方案;</p>
          <p>这是三栏布局的浮动解决方案;</p>

      </div>
      <div class="left"></div>
      <div class="right"></div>
    </article>
  </section>


  <section class="layout">
      <style>
        .relative{
          position: relative;
          width: 100%;
        }
        .relative .left{
          position: absolute;
          left:0;
          width: 300px;
          background-color: blue;
        }
        .relative .center{
          position: absolute;
          left: 300px;
          right: 300px;
          background-color: red;
        }
        .relative .right{
          position: absolute;
          right:0;
          width: 300px;
          background-color: yellow;
        }
      </style>
      <h1>绝对定位, 高度不能自适应</h1>
      <article class="relative">
        <div class="left"></div>
        <div class="right"></div>
        <div class="center">
            <h2>绝对定位解决方案</h2>
            <p>这是三栏布局的绝对定位解决方案;</p>
            <p>这是三栏布局的绝对定位解决方案;</p>
            <p>这是三栏布局的绝对定位解决方案;</p>
            <p>这是三栏布局的绝对定位解决方案;</p>
            <p>这是三栏布局的绝对定位解决方案;</p>
            <p>这是三栏布局的绝对定位解决方案;</p>
            <p>这是三栏布局的绝对定位解决方案;</p>
  
        </div>
      </article>
  </section>

  <section class="layout layout-flex">
    <style>
      .flex-box{
        display: flex;
        width: 100%;
      }
      .flex-box .left{
        width: 300px;
        flex-shrink: 0;
        background-color: blue;
      }
      .flex-box .center{
        flex: 1;
        background-color: red;
      }
      .flex-box .right{
        width: 300px;
        flex-shrink: 0;
        background-color: yellow;
      }
    </style>
    <h1>flex-box 两边高度也可以自适应</h1>
    <article class="flex-box">
      <div class="left"></div>
      <div class="center">
        <h2>绝对定位解决方案</h2>
        <p>这是三栏布局的flex-box解决方案;</p>
        <p>这是三栏布局的flex-box解决方案;</p>
        <p>这是三栏布局的flex-box解决方案;</p>
        <p>这是三栏布局的flex-box解决方案;</p>
        <p>这是三栏布局的flex-box解决方案;</p>
        <p>这是三栏布局的flex-box解决方案;</p>
        <p>这是三栏布局的flex-box解决方案;</p>
      </div>
      <div class="right"></div>
    </article>
  </section>

  <section class="layout ">
    <style>
      .table{
        display: table;
        width: 100%;
      }
      .table .left{
        display: table-cell;
        width: 300px;
        background-color: blue;
      }
      .table .center{
        display: table-cell;
        background-color: red;
      }
      .table .right{
        display: table-cell;
        width: 300px;
        background-color: yellow;
      }
    </style>
    <h1>table布局 两边高度也可以自适应</h1>
    <article class="table">
      <div class="left"></div>
      <div class="center">
        <h2>绝对定位解决方案</h2>
        <p>这是三栏布局的table解决方案;</p>
        <p>这是三栏布局的table解决方案;</p>
        <p>这是三栏布局的table解决方案;</p>
        <p>这是三栏布局的table解决方案;</p>
        <p>这是三栏布局的table解决方案;</p>
        <p>这是三栏布局的table解决方案;</p>
        <p>这是三栏布局的table解决方案;</p>
      </div>
      <div class="right"></div>
    </article>
  </section>

  <section class="layout ">
    <style>
      .grid{
        display: grid;
        grid-template-columns: 300px auto 300px;
        grid-template-rows: auto;
        width: 100%;
      }
      .grid .left{
        background-color: blue;
      }
      .grid .center{
        background-color: red;
      }
      .grid .right{
        background-color: yellow;
      }
    </style>
    <h1>grid布局 </h1>
    <article class="grid">
      <div class="left"></div>
      <div class="center">
        <h2>绝对定位解决方案</h2>
        <p>这是三栏布局的grid布局解决方案;</p>
        <p>这是三栏布局的grid布局解决方案;</p>
        <p>这是三栏布局的grid布局解决方案;</p>
        <p>这是三栏布局的grid布局解决方案;</p>
        <p>这是三栏布局的grid布局解决方案;</p>
        <p>这是三栏布局的grid布局解决方案;</p>
        <p>这是三栏布局的grid布局解决方案;</p>
        <p>这是三栏布局的grid布局解决方案;</p>
        <p>这是三栏布局的grid布局解决方案;</p>
        <p>这是三栏布局的grid布局解决方案;</p>
        <p>这是三栏布局的grid布局解决方案;</p>
        <p>这是三栏布局的grid布局解决方案;</p>
      </div>
      <div class="right"></div>
    </article>
  </section>
</body>
</html>

相关文章

  • 原生TabControl与年历的简单Demo

    TabControl 一、Html页面布局 二、Css样式 三、Js部分 简易年历 一、Html页面布局 二、Cs...

  • html+css布局

    页面首部布局 首部布局预览图: html布局代码: CSS样式代码: Javascript特效代码: 效果图 页面...

  • HTML页面布局

    1.利用class或id定义div块,从而进行布局 HTML5 语义元素:(代码见div_buju) header...

  • 了解vue-cli3

    why 快速构建项目使用前后端分离搭建 前台,后台 前台 : 以html,css这种页面布局开发 [ 页面布局 ...

  • 前端面试试题

    HTML 和 CSS 页面布局 css盒模型 BFC 页面布局 有5中可以解决: ​ 第一种:浮动 ....

  • Flex布局详解(三)

    3、flex布局的应用实例 (1)、手机页面布局HTML CSS (2)产品系列(ul>li*9)HTML CSS...

  • 前端面试复习要点

    一、HTML和CSS 页面布局的方法 1、浮动布局(布局简单,兼容性好,但是浮动元素脱离文档流) 2、绝对定位布局...

  • html页面布局-三栏布局

  • CSS初探17

    Head First HTML与CSS 第十一章 布局与定位 CSS——掌控页面的表现 布局复习 1.浮动布局 f...

  • 下拉列表的简单Demo

    一、Html页面布局 二、Css样式 三、Js部分

网友评论

      本文标题:html页面布局-三栏布局

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