欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

div两边等高

程序员文章站 2022-03-10 17:54:38
现有两个横向排列的div,希望两个div高度保持一致,有以下方法:...

现有两个横向排列的div,

<!-- @format -->

<template>
  <div class="body">
    <div class="left">左边</div>
    <div class="right">右边<br />换行</div>
  </div>
</template>
<style scoped lang="less">
.body {
  width: 50%;
  .left {
    float: left;
    width: 50%;
    border: 1px solid black;
  }
  .right {
    float: right;
    width: 50%;
    border: 1px solid black;
  }
}
</style>

div两边等高

希望两个div高度保持一致,有以下方法:

一、父级div设置为 display: -webkit-box;注意子div去掉左右浮动

.body {
  width: 50%;
  display: -webkit-box;
  .left {
    //float: left;
    width: 50%;
    border: 1px solid black;
  }
  .right {
    //float: right;
    width: 50%;
    border: 1px solid black;
  }
}

div两边等高

二、需要等高的两个div设置display: table-cell;父级div设置display: table;

<style scoped lang="less">
.body {
  width: 50%;
  display: table;
  .left {
    display: table-cell;
    width: 50%;
    border: 1px solid black;
  }
  .right {
    display: table-cell;
    width: 50%;
    border: 1px solid black;
  }
}
</style>

div两边等高

和上面一的区别:设置为table,如果左右两个div的宽度加起来为100%,中间再设置间距间距不体现,而一可以。

三、说明:

1、以下排列不能保证同行元素等高:

(1)el-row和el-col:

<!-- @format -->

<template>
  <div class="body">
    <el-row class="row">
      <el-col :span="12" class="left"><div>左边</div></el-col>
      <el-col :span="12" class="right"
        ><div>右边<br />换行</div></el-col
      >
    </el-row>
  </div>
</template>
<style scoped lang="less">
.row {
  width: 50%;
  .left {
    border: 1px solid black;
  }
  .right {
    border: 1px solid black;
  }
}
</style>

div两边等高

解决方法:

2、以下排列可以保证同行内元素等高:

<!-- @format -->

<template>
  <div class="body">
    <table>
      <tr>
        <td>左边</td>
        <td>右边<br />换行</td>
      </tr>
    </table>
  </div>
</template>
<style scoped lang="less">
table {
  width: 100%;
  td {
    width: 50%;
    border: 1px solid black;
  }
}
</style>

div两边等高

本文地址:https://blog.csdn.net/w_t_y_y/article/details/112561671

相关标签: VUE页面开发