vertical-align无法正常工作

时间:2017-09-24 14:18:43

标签: html css

我正在读一本关于CSS的书,这让我很困惑。我想垂直居中,这是我的代码:

img {
    vertical-align: middle;
}
#mySpan {
    background-color: red;
}

/* this works fine but when I type the code I first tried */
#mySpan {
    background-color: red;
    vertical-align: middle;
}
<p>
    <img src="zemin.jpg" alt="Zemin">
    <span id="mySpan">Align Vertically</span>
</p>

这不起作用。你能解释一下吗?为什么将align设置为另一个元素但是直接将其设置为元素?

1 个答案:

答案 0 :(得分:0)

此属性的全部内容是在文本中对齐图像(内联块)。它确定元素在文本流中的定位方式。在文本流程中对齐文本并没有多大意义,因为它 文本流。

另见vertical-align

如果你制作inline-block,你可以将垂直对齐应用于范围,但我怀疑这是否是你喜欢的行为。下面是一些例子:

&#13;
&#13;
p {
  background-color: #ffdddd;
  line-height: 2em;
}
.mySpan {
    background-color: red;
    vertical-align: middle;
    height: 1em;
    display: inline-block;
}
.mySpan.top {
    vertical-align: top;
    height: 3em;
}

img {
    vertical-align: middle;
}
#mySpan {
    background-color: red;
}
&#13;
<p>
    <img src="zemin.jpg" alt="Zemin">Normal text flow. <span class="mySpan">Align middle</span>. <span class="mySpan top">Align top.</span>Continuation of normal text flow
</p>
&#13;
&#13;
&#13;