html - 设置属性 'text-overflow: ellipsis' 然后其兄弟元素的文本无法与其对齐

标签 html css

  p{
    width: 300px;
    margin: 0 auto;
  }
  span{
    display: inline-block;
  }
  .left{
    width: 40%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }
<p class="test">
    <span class="left">TestTestTestTest</span>    
    <span class="right">Test</span>
</p>

然后它会显示为 this , 我想之所以这样显示可能是属性 'overflow: hidden' 创建了一个 bfc,所以我设置了属性 'overflow: hidden' 或 'float : right' for '.right',然后'.right'对齐到'.left'。

但我从 MDN 看到了 BFC 的描述,它说 display:inline-block 将创建一个 BFC,因此每个 span 标签的 BFC 应该已经创建,因为 css 规则 span {display: inline-block},但为什么在我为“.right”设置属性之前它们没有对齐?

最后,请不要关注我糟糕的英语,我只是想找到我遇到的问题的答案,我想我会通过这种方式得到它。谢谢你!

O(∩_∩)O~

最佳答案

只需给 vertical-align: top; 即可。因为 inline-block 默认 vertical-align 是基线。

p{
    width: 300px;
    margin: 0 auto;
  }
  span{
    display: inline-block;
    vertical-align: top;
  }
  .left{
    width: 40%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }
<p class="test">
    <span class="left">TestTestTestTest</span>    
    <span class="right">Test</span>
</p>

关于html - 设置属性 'text-overflow: ellipsis' 然后其兄弟元素的文本无法与其对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34627431/

相关文章:

html - 无尽/无限滚动的可用性

javascript - 即使使用解除绑定(bind)程序,如何防止 jQuery 多次触发?

html - IE 文档视口(viewport)边框

javascript - 从堆栈 : src, 可见性、z-index 交换图像的最佳方式......还有什么?

javascript - Bootstrap 切换菜单中的延迟

html - 将图像完美地放在 div 旁边

javascript - 我该如何安排菜单上的菜品?

javascript - 给伪元素的内容添加定位css规则

javascript - 如何为html中的图像分配编号?

html - 当不在另一个元素内时定位一个元素(即所有不在段落内的 anchor )