给span标签内添加高度auto,但身在同一行相邻列,有一个单元格高度由于多内容撑开了,而另一个却不能一起撑开?

作者站长头像
站长
· 阅读数 20

给span标签内添加高度auto,但身在同一行相邻列,有一个单元格高度由于多内容撑开了,而另一个却不能一起撑开?html

<el-row class="row">
            <el-col class="col">
              <span class="label">上平行度</span>
              <span class="value"></span>
            </el-col>
            <el-col class="col">
              <span class="label">平行度OK/NG</span>
              <span class="value"></span>
            </el-col>
          </el-row>

css

 .row {
          border-bottom: solid .0625rem #9c9c9c;
          display: flex;
          align-items: center;
          justify-content: center;

          .col {
            height: 100%;
            display: flex;
             span:not(:last-child){
              border-right: solid .0625rem #9c9c9c;
             }
            ::v-deep span {
              flex: 1;
              height: 100%;
              word-break: break-all;
              word-wrap: break-word;
              // font-size: 8px;
              height: 23px;
              line-height: 23px;
            }
            .label{
              background-color: #e0e0e0;
              color: #000000;
              font-weight: bold;
              height:auto;
            }
            .value{
              height: auto;
            }
回复
1个回答
avatar
test
2024-06-26

因为el-col的高度限制了span的高度。row的高度由col计算来的,col的高度由span计算来的,span的高度是auto,所以span的高度由内容决定,上级col的高度没有等高,只是因为align-items: center;居中对齐,首先需要把居中对齐换成align-items: stretch;占满整个容器的高度(align-items默认就是这个值),然后去除col设置的height: 100%;,此时col的高度就变成了和父容器等高。此时可以看到label高度也占满了容器,但是内容少的不有居中,是按照默认属性进行排列的,是下一步就是调整内容居中,方法很多,比如给label设置flex布局display: flex;align-items: center;

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容