首页 > 解决方案 > 在一行中居中对齐多个跨度

问题描述

我试图将多个跨度集中在一条线上,但它对我不起作用。它们总是在彼此下方居中对齐。我真的很感激一些帮助。这是代码:

 body {
            background-color: lightblue;
        }
        span {
            top: 0;
            transition: 0.1s ease-in;
            position: relative;
        }

        span:hover {
            color: orange;
            top: -10px;
        }
  <h1>
        <span>H</span><span>e</span><span>l</span><span>l</span><span>o</span>
    </h1>

标签: javascripthtmlcss

解决方案


一个简单text-align: center;h1(即他们的容器)就足够了,因为spans 是内联元素:

body {
  background-color: lightblue;
}

span {
  top: 0;
  transition: 0.1s ease-in;
  position: relative;
}

span:hover {
  color: orange;
  top: -10px;
}

h1 {
  text-align: center;
}
<h1>
  <span>H</span><span>e</span><span>l</span><span>l</span><span>o</span>
</h1>

或者你的意思是字母/跨度应该在彼此下方并水平居中?为此,您可以display: flexh1, 上使用以下设置:

body {
  background-color: lightblue;
}

span {
  top: 0;
  transition: 0.1s ease-in;
  position: relative;
}

span:hover {
  color: orange;
  top: -10px;
}

h1 {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
}
<h1>
  <span>H</span><span>e</span><span>l</span><span>l</span><span>o</span>
</h1>


推荐阅读