美文网首页
页面布局

页面布局

作者: Thurs丶 | 来源:发表于2020-02-15 14:55 被阅读0次
概述: 页面布局常用的方法有浮动布局、绝对定位布局、表格布局、弹性布局(flex)、网格布局

三栏布局问题
高度已知,左右各宽300px,中间宽度自适应。效果如图:

三栏布局

用浮动布局、绝对定位布局、表格布局、弹性布局(flex)、网格布局的解决方法和各自的优缺点

布局基本代码:

html

  <section class="layout layout1">
    <div class="left"></div>
    <div class="right"></div>
    <div class="middle">浮动布局</div>
  </section>
  <section class="layout layout2">
    <div class="left"></div>
    <div class="middle">绝对定位布局</div>
    <div class="right"></div>
  </section>
  <section class="layout layout3">
    <div class="left"></div>
    <div class="middle">表格布局</div>
    <div class="right"></div>
  </section>
  <section class="layout layout4">
    <div class="left"></div>
    <div class="middle">弹性布局</div>
    <div class="right"></div>
  </section>
  <section class="layout layout5">
    <div class="left"></div>
    <div class="middle">网格布局</div>
    <div class="right"></div>
  </section>

css

   *{
      margin: 0;
     padding: 0;
    }
    .layout{
      width: 100%;
      height: 200px;
    }
    h2{
      width: 100%;
      margin: 3px 0;
      text-align: center;
    }
    .layout .middle{
      height: 100%;
      background-color: #ccc;
    }
    .layout .left, .layout .right{
      width: 300px;
      height: 100%;
      background-color: aqua;
    }

浮动布局

  • 优点:兼容性好
  • 缺点: 浮动的元素会脱离文档流,清除浮动比较麻烦
    .layout1 .left{
      float: left;
    }
    .layout1 .right{
      float: right;
    }

绝对定位布局

    .layout2{
      position: relative;
    }
    .layout2 .middle{
      position: absolute;
      top: 0;
      left: 300px;
      right: 300px;
    }
    .layout2 .left{
      position: absolute;
      left: 0;
      top: 0;
    }
    .layout2 .right{
      position: absolute;
      right: 0;
      top: 0;
    }

表格布局

表格布局有两种方式
1. HTML Table(<table>标签),使用原生的<table>标签
2. CSS Table(display:table 等相关属性),指用CSS属性模仿 HTML 表格的模型
css display: table 与 html table标签的对照属性如下
table { display: table }
tr { display: table-row }
thead { display: table-header-group }
tbody { display: table-row-group }
tfoot { display: table-footer-group }
col { display: table-column }
colgroup { display: table-column-group }
td, th { display: table-cell }
caption { display: table-caption }

    .layout3{
      display: table;
    }
    .layout3>div{
      display: table-cell;
    }

弹性布局

弹性盒子是CSS3的一种新布局模式
弹性盒子由弹性容器(Flex container)和弹性子元素(Flex item)组成。弹性容器通过设置 display 属性的值为 flex 或 inline-flex将其定义为弹性容器。弹性容器内可以包含了一个或多个弹性子元素。
弹性布局的属性:
弹性容器上(Flex container):
flex-direction: row | row-reverse | column | column-reverse;(子元素的排列方向)
flex-wrap: nowrap | wrap | wrap-reverse; (子元素如何换行)
justify-content: flex-start | flex-end | center | space-between | space-around;(x轴上对齐方式)
align-items: flex-start | flex-end | center | baseline | stretch;(y轴上对齐方式)
align-content: flex-start | flex-end | center | space-between | space-around | stretch;(多根轴线的对齐方式)
弹性子元素上(Flex item):
order: <integer>; (定义项目的排列顺序。数值越小,排列越靠前,默认为0。)
flex-grow: <number>; (定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大)
flex-shrink: <number>;(定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小)
flex-basis: <length> | auto; (定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小)

    .layout4{
      display: flex;
    }
    .layout4 .middle{
      flex-grow: 1;
    }

相关文章

  • CoordinatorLayout嵌套CoordinatorLa

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

  • 前端

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

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

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

  • 左右条栏目 分层MVP RecyclerView

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

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

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

  • 布局与定位

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

  • 【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (

    本节主要讲解详情页的页面布局和css样式,以及从主页面到详情页面的跳转问题。 1. 详情页面的布局 页面布局的话,...

  • 店铺装修基础:如何设置页面布局

    *讲解页面布局 三种不同的页面布局 旺铺基础版 旺铺专业版 如何设置网店页面布局 总体流程:进入布局管理——添加布...

  • IM社交App02

    阅读原文 注册 登录 3.3 功能三:主页面 页面布局 主界面代码 3.4 功能四:设置页面 页面布局 退出登录 ...

  • webx笔记-页面布局

    1.页面布局 • Screen,代表页面的主体。• Layout,代表页面的布局。• Control,代表嵌在sc...

网友评论

      本文标题:页面布局

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