css - 多行文本导致 div 容器被下推

标签 css

我有一个按钮组件,它基本上是一个按钮和该按钮下方的文本。两者共享同一个容器。 当文本(按钮下方,而不是按钮内部)为多行时,按钮被按下,导致奇怪的对齐问题

我试图将外部的“文本”css 类分离到另一个单独的 div,但没有成功。我还尝试给父级“垂直对齐:顶部”(因为我在某处读到问题可能是由于文本将父级的垂直对齐:基线向下推而引起的。它没有任何区别,也没有修复我的问题

.container {
  display: inline-block;
  width: 56px;
  height: 56px;
  .button {
    display: flex;
    justify-content: center;
    width: 56px;
    height: 56px;
    cursor: pointer;
    .icon {
      width: 24px;
      height: 24px;
    }
  }
  .text {
    font-size: 13px; 
    text-align: center; 
    text-transform: capitalize;
  }
}

relevant jsx (react):
<div className='container'>
  <div>
    <button className='button' style={buttonColors}>
    <div className='icon'/>
    </button>
  </div>
  <div className='text'> {text} </div>
  </div>
    );

预期结果:只要有多行文本,文本就会继续向下,而不是按下按钮。

最佳答案

将 vertical-align:top 添加到 button-container 确实解决了这个问题。我的错误是把它放在另一个地方。 这样,多行文本不会导致来自垂直对齐的父“基线”:默认的基线被下推

关于css - 多行文本导致 div 容器被下推,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55891756/

相关文章:

iphone - iPhone 上的文字颤抖

javascript - 为什么我的合并图像不会出现(ReactJS)?

javascript - 通过计时器启动和停止 Javascript 函数

jquery - 淡入/淡化粘性标题

jquery - 如何使视差响应?

html - CSS 当悬停在 anchor 上时,更改其所在的 div 的背景颜色

css - 样式表在 Firefox 中不起作用

css - 使用 css 限制响应图像的高度

javascript - 使用 javascript 更改类

javascript - 具有动态填充和元素计数的 Flexbox 未正确调整大小