为什么是vertical-align:text-top; 不在CSS中工作

我想将某些文本alignment到div的顶部。 看来, vertical-align: text-top; 应该做的伎俩,但它不工作。 我做的其他事情,比如把div放在列中,并显示一个虚线的边框(所以我可以看到div的顶部在哪里)都工作正常。

 #header_p { font-family: Arial; font-size: 32px; font-weight: bold; } #header_selecttxt { font-family: Arial; font-size: 12px; font-weight: bold; vertical-align: text-top; } #header_div_left { float: left; width: 50%; border: dashed; vertical-align: top; } #header_div_right { margin-left: 50%; width: 50%; border: dashed; } 

vertical-align属性仅适用于内联元素。 它不会影响块级元素,比如div。 此外,文本顶部仅将文本移动到当前字体大小的顶部。 如果您想将内联元素垂直alignment,只需使用此元素即可。

 vertical-align: top; 

段落标记不过时。 此外,应用于跨度元素的垂直alignment属性可能无法按照预期在某些Mozilla浏览器中显示。

vertical-align只能用于呈现为inline元素。 默认情况下, <span>呈现为内联,但不是所有元素都是。 段落块元素<p>默认呈现为块。 表格渲染types(例如table-cell )将允许您使用垂直alignment。

某些浏览器可能允许您在诸如段落块等项目上使用vertical-align CSS属性,但不应该这样做。 用段落表示的文本应该用书面语言内容填充,或者标记不正确,应该使用其他选项之一。

我希望这有帮助!

就像是

  position:relative; top:-5px; 

只是在内联元素本身为我工作。 必须玩顶部以垂直居中…

你可以申请position: relative; 到div然后position: absolute; top: 0; position: absolute; top: 0; 包含文本的段落或跨度。

您可以使用上下文select器,并在那里移动垂直alignment。 这将与p标签,然后。 以下面的代码片段为例。 你class里的任何p标签都会尊重垂直alignment控件:

 #header_selecttxt { font-family: Arial; font-size: 12px; font-weight: bold; } #header_selecttxt p { vertical-align: text-top; } 

你也可以在两个部分保持垂直alignment,这样其他的内联元素就可以使用它。

以上所有都不适合我,我刚刚检查过这个和它的工作:

vertical-align:super;

  <div id="lbk_mng_rdooption" style="float: left;"> <span class="bold" style="vertical-align: super;">View:</span> </div> 

我知道通过填充或保证金将工作,但这是我喜欢的最后select。

 position:absolute; top:0px; margin:5px; 

解决了我的问题。

您可以使用margin-top:-50%将文本一直移动到div的顶部。

 margin-top: -50%; 

我所提供的信息无法解决问题:

  • 我把旧的<p>标签中的文字加上了。

我改变了<p><span> ,它工作正常。