html - 为什么在使用 'float: right' 时垂直对齐停止工作?

标签 html css

当我应用“float: right”时,附近文本的垂直对齐方式不再与其旁边的元素正确对齐(只有水平对齐方式继续有效)。我对网络开发比较陌生,所以我知道这可能是一个简单的问题。 This is what it currently looks like.

HTML:

<body>
<ul>
    <li><span>Some Text Some Text Some Text</span><span>X</span></li>
    <li><span>Some Text Some Text Some Text</span><span>X</span></li>
    <li><span>Some Text Some Text Some Text</span><span>X</span></li>
    <li><span>Some Text Some Text Some Text</span><span>X</span></li>
</ul>

CSS:

* {
    font-size: 25px;
    text-align: center;
}

ul {
    list-style-type: none;
}

li {
    background-color: green;
    color: white;
    margin: 0;
    height: auto;
    overflow: hidden;
}

li span:nth-child(2) {
    display: inline-block;
    color: white;
    float: right;
    background-color: black;
    padding: 15px;
}

正如您从上面的代码中看到的那样,文本的对齐方式并未垂直居中,元素位于右侧(黑色“X”)。如果有人可以帮助我解决此问题并解释为什么会导致此问题以供将来引用,我将不胜感激。谢谢:)

最佳答案

您的 X 有填充,而您的文本没有。您可以从 X 提供相同的 padding 并将 display: inline-block; 添加到文本中。

* {
  font-size: 25px;
  text-align: center;
}

ul {
  list-style-type: none;
}

li {
  background-color: green;
  color: white;
  margin: 0;
  height: auto;
  overflow: hidden;
}

li span:first-child {
  display: inline-block;
  padding: 15px;
}

li span:nth-child(2) {
  display: inline-block;
  color: white;
  float: right;
  background-color: black;
  padding: 15px;
}
<ul>
  <li><span>Some Text Some Text Some Text</span><span>X</span></li>
  <li><span>Some Text Some Text Some Text</span><span>X</span></li>
  <li><span>Some Text Some Text Some Text</span><span>X</span></li>
  <li><span>Some Text Some Text Some Text</span><span>X</span></li>
</ul>

关于html - 为什么在使用 'float: right' 时垂直对齐停止工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56548801/

相关文章:

jquery - CSS3 动画表现怪异

javascript - 更改所选 <a> 标签的 id

jquery - 如何添加仅在移动屏幕尺寸上显示的菜单?

css - Blackberry Pearl CSS 强制所有元素内联

javascript - 如何获取大div的html

javascript - 元素多时如何克服JQuery MultiSelect 性能问题?

javascript - 如何将启动 Bootstrap 模板添加到 asp.net mvc web 应用程序?

css - Bootstrap 文本元素,文本后面有一行

javascript - 调整 react 表大小

javascript - 如何将当前div中的信息放入模态窗口?