美文网首页
3-1页面布局

3-1页面布局

作者: zhangmz | 来源:发表于2017-10-14 22:25 被阅读7次

题目:假设高度已知,请写出三栏布局,其中左栏、右栏宽度各为300px,中间自适应

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Layout</title>
    <style media="screen">
      html *{
        padding: 0;
        margin: 0;
      }
      .layout article div{
        min-height: 100px;
      }
    </style>
  </head>
  <body>
    <!--浮动布局  -->
    <section class="layout float">
      <style media="screen">
      .layout.float .left{
        float:left;
        width:300px;
        background: red;
      }
      .layout.float .center{
        background: yellow;
      }
      .layout.float .right{
        float:right;
        width:300px;
        background: blue;
      }
      </style>
      <h1>三栏布局</h1>
      <article class="left-right-center">
        <div class="left"></div>
        <div class="right"></div>
        <div class="center">
          <h2>浮动解决方案</h2>
          1.这是三栏布局的浮动解决方案;
          2.这是三栏布局的浮动解决方案;
          3.这是三栏布局的浮动解决方案;
          4.这是三栏布局的浮动解决方案;
          5.这是三栏布局的浮动解决方案;
          6.这是三栏布局的浮动解决方案;
        </div>
      </article>
    </section>

    <!-- 绝对布局 -->
    <section class="layout absolute">
      <style>
        .layout.absolute .left-center-right>div{
          position: absolute;
        }
        .layout.absolute .left{
          left:0;
          width: 300px;
          background: red;
        }
        .layout.absolute .center{
          left: 300px;
          right: 300px;
          background: yellow;
        }
        .layout.absolute .right{
          right:0;
          width: 300px;
          background: blue;
        }
      </style>
      <h1>三栏布局</h1>
      <article class="left-center-right">
        <div class="left"></div>
        <div class="center">
          <h2>绝对定位解决方案</h2>
          1.这是三栏布局的浮动解决方案;
          2.这是三栏布局的浮动解决方案;
          3.这是三栏布局的浮动解决方案;
          4.这是三栏布局的浮动解决方案;
          5.这是三栏布局的浮动解决方案;
          6.这是三栏布局的浮动解决方案;
        </div>
        <div class="right"></div>
      </article>
    </section>


    <!-- flexbox布局 -->
    <section class="layout flexbox">
      <style>
        .layout.flexbox{
          margin-top: 110px;
        }
        .layout.flexbox .left-center-right{
          display: flex;
        }
        .layout.flexbox .left{
          width: 300px;
          background: red;
        }
        .layout.flexbox .center{
          flex:1;
          background: yellow;
        }
        .layout.flexbox .right{
          width: 300px;
          background: blue;
        }
      </style>
      <h1>三栏布局</h1>
      <article class="left-center-right">
        <div class="left"></div>
        <div class="center">
          <h2>flexbox解决方案</h2>
          1.这是三栏布局的浮动解决方案;
          2.这是三栏布局的浮动解决方案;
          3.这是三栏布局的浮动解决方案;
          4.这是三栏布局的浮动解决方案;
          5.这是三栏布局的浮动解决方案;
          6.这是三栏布局的浮动解决方案;
        </div>
        <div class="right"></div>
      </article>
    </section>


    <!-- 表格布局 -->
    <section class="layout table">
      <style>
        .layout.table .left-center-right{
          width:100%;
          height: 100px;
          display: table;
        }
        .layout.table .left-center-right>div{
          display: table-cell;
        }
        .layout.table .left{
          width: 300px;
          background: red;
        }
        .layout.table .center{
          background: yellow;
        }
        .layout.table .right{
          width: 300px;
          background: blue;
        }
      </style>
      <h1>三栏布局</h1>
      <article class="left-center-right">
        <div class="left"></div>
        <div class="center">
          <h2>表格布局解决方案</h2>
          1.这是三栏布局的浮动解决方案;
          2.这是三栏布局的浮动解决方案;
          3.这是三栏布局的浮动解决方案;
          4.这是三栏布局的浮动解决方案;
          5.这是三栏布局的浮动解决方案;
          6.这是三栏布局的浮动解决方案;
        </div>
        <div class="right"></div>
      </article>
    </section>

    <!-- 网格布局 -->
    <section class="layout grid">
      <style>
        .layout.grid .left-center-right{
          width:100%;
          display: grid;
          grid-template-rows: 100px;
          grid-template-columns: 300px auto 300px;
        }
        .layout.grid .left-center-right>div{

        }
        .layout.grid .left{
          width: 300px;
          background: red;
        }
        .layout.grid .center{
          background: yellow;
        }
        .layout.grid .right{

          background: blue;
        }
      </style>
      <h1>三栏布局</h1>
      <article class="left-center-right">
        <div class="left"></div>
        <div class="center">
          <h2>网格布局解决方案</h2>
          1.这是三栏布局的浮动解决方案;
          2.这是三栏布局的浮动解决方案;
          3.这是三栏布局的浮动解决方案;
          4.这是三栏布局的浮动解决方案;
          5.这是三栏布局的浮动解决方案;
          6.这是三栏布局的浮动解决方案;
        </div>
        <div class="right"></div>
      </article>
    </section>
 </body>
</html>

1.每个方案的优缺点
2 .假如把高度去掉,那个方案不再适用了
3.兼容性到业务中那个最实用

浮动:清除浮动 与其周边的元素的关系处理好。兼容性好;
绝对定位:快捷;缺点:导致子元素脱离文档流,可使用性差;
flex: 是为了解决上述两个问题而解决的。相对是比较完美的;
table布局:兼容性比较好。缺点:一个高度被撑开,其他的也会受影响;
网格布局:新的技术布局。
float 增加高度解决办法添加bfc.

小结

1.语义化掌握到位
2.页面布局理解深刻
3.CSS基础知识扎实
4.思维灵活且积极向上
5.代码书写规范

相关文章

  • 1-前端跳槽面试 第二章

    2-1 2-2 职位描述 css3动画js async异步加载vue 源码npm 命令 3-1 页面布局 题目:微...

  • HTML&CSS(Day02)定位

    1、什么是定位? 2、什么是标准文档流? 3、定位 3-1:static定位(默认定位,默认的页面布局就是stat...

  • 3-1页面布局

    题目:假设高度已知,请写出三栏布局,其中左栏、右栏宽度各为300px,中间自适应 1.每个方案的优缺点2 .假如把...

  • 第三章 一面/二面

    3-1 页面布局 (一) 3-4 css盒模型 BFC(边距重叠)块级格式化上下文BFC的原理:1.BFC元素垂直...

  • CoordinatorLayout嵌套CoordinatorLa

    页面布局:一级页面布局: 二级页面布局(即在一级页面ViewPager中的Fragment下): 这样布局的目的是...

  • 前端

    前端页面布局前端页面布局——三栏布局 - magi的博客 - CSDN博客 页面高度,位置简述前端页面内的高度、位...

  • Android自定义底部导航栏-Tabbar

    一、添加依赖 二、开始写布局 1、Tabbar布局页面 2、fragment_test.xml布局页面 这个页面就...

  • 左右条栏目 分层MVP RecyclerView

    页面的布局 主页面布局 左面的RecyclerView的布局 android:layout_width="matc...

  • Android----从相册选取图片

    导入包名 相册布局 相册条目布局 图片页面 图片条目布局 相册页面代码 图片页面代码 辅助类 MyImageSho...

  • 布局与定位

    布局 流体布局,扩展窗口时,页面中的内容随之扩展; 冻结布局,页面内容固定,不随页面的扩展而扩展;用一个 包含页面...

网友评论

      本文标题:3-1页面布局

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