html - flex align-items 中心不居中

标签 html css flexbox centering

我有一个代码 - https://codepen.io/anon/pen/MQjpBG

这是一个简单的列表,每个 li 中有一个彩色块和文本

我需要垂直的列表和垂直对齐的文本和块。

我正在尝试使用 flex 和 align-items 来做到这一点,但文本和块永远不会完全居中

我做错了什么,有没有更好的方法来做到这一点。

.element{
  display: flex;
  list-style: none;

  &__item{
    display: flex;
    align-items: center;
    margin-right: 10px;

    &:last-of-type{
      margin-right: 0;
    }

    &-square{
      background: red;
      //display: block;
      display: inline-block;
      height: 20px;
      width: 20px;
    }

    &-text{
      font-weight: bold;
    }

  }

}

我希望块和文本像这样适合。

enter image description here
align-items: center;似乎这样做,但它有点偏离,就像

enter image description here

最佳答案

没有任何东西使它们居中(在您的代码笔中)。

将此添加到您的代码中:

.element{
    display: flex;
    justify-content: center; /* horizontal alignment */

.element__item {
    display: flex;           /* nested flex container */
    align-items: center;     /* vertical alignment */
}

revised codepen

关于html - flex align-items 中心不居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48648630/

相关文章:

javascript - 如何检查是否在字段上设置了必需的属性

jquery - 具有所需宽度和集中式的 Bootstrap 导航栏

html - 自动以半步包裹 Flexbox 元素

html - 简单 Flexbox 模型中的错误

jquery - CSS:从右向左扩展 <div> 以显示文本

html - Flexbox 代码适用于除 Safari 之外的所有浏览器。为什么?

html - 如何使用 css 在段落中的单词顶部和底部放置小文本?

html - 如何让我的导航按钮保持事件状态?

css - 时尚或 Chrome 用户脚本来替换网站上的 "Helvetica"字体?

background - 尝试将文本与背景图像对齐。如果低于某个分辨率,左侧的文本会移入。我该如何解决这个问题?