两栏布局

两列布局的几种方法

html结构
 <div class="content">
      <div class="content-left">
        左侧固定200px
      </div>
      <div class="content-right">
        右侧自适应
      </div>
 </div>

1.通过float和margin-left

 /* 清除浏览器默认边距 */
      * {
        margin: 0;
        padding: 0;
      }

      .content{
        overflow: hidden;
      }
      /* 脱离文档流 */
      .content-left {
        float: left;
        width: 200px;
        height: 200px;
        background: red;
      }

      .content-right {
        /* 通过margin-left将左边位置空出 */
        margin-left: 200px;
        background: blue;
        height: 200px;
      }

2.通过 position: absolute;绝对定位

 /* 清除浏览器默认边距 */
      * {
        margin: 0;
        padding: 0;
      }

      .content {
        overflow: hidden;
        position: relative;
      }
      /* 脱离文档流 */
      .content-left {
        position: absolute;
        top: 0;
        left: 0;
        width: 200px;
        height: 200px;
        background: red;
      }

      .content-right {
        /* 通过margin-left将左边位置空出 */
        margin-left: 200px;
        background: blue;
        height: 200px;
      }

3.通过flex弹性布局

/* 清除浏览器默认边距 */
      * {
        margin: 0;
        padding: 0;
      }

      .content {
        overflow: hidden;
        display: flex;
      }
      .content-left {
          /* 除了width: 200px;还可以flex-basis: 200px; */
        width: 200px;
        height: 200px;
        background: red;
      }

      .content-right {
          /* flex:1;将剩余空间分给它 */
        flex: 1;
        background: blue;
        height: 200px;
      }

4.通过 display: table;表格布局

 /* 清除浏览器默认边距 */
      * {
        margin: 0;
        padding: 0;
      }

      .content {
        overflow: hidden;
        display: table;
        /* 必须给父级定宽不然自适应盒子没定宽只会由内容撑开 */
        width: 100%;
      }
      .content-left {
        display: table-cell;
        width: 200px;
        height: 200px;
        background: red;
      }

      .content-right {
        display: table-cell;
        background: blue;
        height: 200px;
      }

5.通过inline-block和calc()函数

 /* 清除浏览器默认边距 */
      * {
        margin: 0;
        padding: 0;
      }

      .content {
        /* 必须加font-size=0;把inline-block默认间距去掉,
        不过设置后里面文字不显示了可以给里面块设置font-size:20px;
        或者把两个块之间的换行删掉也能去掉间距*/
        font-size: 0;
        overflow: hidden;
      }
      .content-left {
        font-size: 20px;
        display: inline-block;
        width: 200px;
        height: 200px;
        background: red;
      }

      .content-right {
        font-size: 20px;
        display: inline-block;
        background: blue;
        height: 200px;
        /* 注意calc里的运算符两边要有空格 */
        width: calc(100% - 200px);
      }

6.通过float和calc()函数,左右两块都要浮动

 /* 清除浏览器默认边距 */
      * {
        margin: 0;
        padding: 0;
      }

      .content {
        overflow: hidden;
      }
      .content-left {
        float: left;
        width: 200px;
        height: 200px;
        background: red;
      }
      .content-right {
        float: left;
        background: blue;
        height: 200px;
        /* 注意calc里的运算符两边要有空格 */
        width: calc(100% - 200px);
      }

7.使用grid布局

 /* 清除浏览器默认边距 */
      * {
        margin: 0;
        padding: 0;
      }

      .content {
        overflow: hidden;
        display: grid;
        grid-template-columns: 200px 1fr;
        /* grid布局也有列等高的默认效果。需要设置: align-items: start;。 */
        align-items: start;
      }
      .content-left {
        height: 200px;
        background: red;
        /* grid布局还有一个值得注意的小地方和flex不同:在使用margin-left的时候,
        grid布局默认是box-sizing设置的盒宽度之间的位置。
        而flex则是使用两个div的border或者padding外侧之间的距离。 */
        box-sizing: border-box;
        grid-column: 1;
      }
      .content-right {
        background: blue;
        height: 200px;
        box-sizing: border-box;
        grid-column: 2;
      }
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值