微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 flexbox 占用比所需空间更多的文本

如何解决使用 flexbox 占用比所需空间更多的文本

我正在尝试在固定宽度容器中的多行文本旁边为颜色图例绘制一个正方形。但是,我遇到了一个问题,即使文本和正方形应该适合容器,但由于文本元素占用的水平空间比应有的更多,正方形会被挤压成矩形。有没有办法(最好没有硬编码的幻数)确保 p 元素只占用显示文本所需的水平空间?

相关 MWE:

html:

<div class="div">
  <div class="square">
  </div>
  <p class="text">
    Lorumipsum  dolorsitamet
  </p>
</div>

CSS:

.div {
    width: 140px;
    display: flex;
    align-items: center;
    outline: 1px solid blue;
}

.square {
    width: 25px;
    height: 25px;
    background-color: red;
}

.text {
    margin-left: 2px;
    outline: 1px solid red;
}

小提琴: http://jsfiddle.net/6jxtp8k5/59/

解决方法

使用 min-widthmin-height 而不是使用 widthheight。这将确保正方形始终具有特定的宽度和高度。

.square {
    min-width: 25px;
    min-height: 25px;
    background-color: red;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。