我试图垂直对齐一些不同大小的文本,但是,Firefox会在中间显示较小的文本。
CSS:
div.categoryLinks { margin: 1em 16px; padding: 0 4px; border-width: 1px 0; border-style: solid; border-color: #ece754; background: #f7f5b7; color: #a49f1c; text-align: center; font-size: 1.4em; } div.categoryLinks em { font-size: 0.6em; font-style: normal; vertical-align: middle; }
HTML:
<div class="categoryLinks"> <em>SECTION:</em> Page One · Page Two · <a href="link">Page Three</a> </div>
截图:
screenshot http://www.doheth.co.uk/files/valign.jpg
更新:为了清楚起见,我或多或少知道垂直对齐的工作原理,即我已经知道常见的误解。
从更多的调查来看,解决此问题的最简单方法似乎是将较大的文本包装在一个范围内并在其上设置vertical-align。然后,.categoryLinks的两个孩子相互对齐。除非有人能在没有额外加价的情况下表现出更好的方法
解决方法
垂直对齐仅在表格单元格或内联块元素上按预期工作。如果您想了解更多信息,建议您阅读
Understanding vertical-align,or “How (Not) To Vertically Center Content”。
编辑:你还有别的东西在继续,因为这对我有用,就像在Firefox上一样。我甚至放弃了SECTION的字体大小:向下,它仍然居中。您是否使用过Firebug来查看其他CSS正在影响它?
这样工作原样:
<html> <head> <style type="text/css"> div.categoryLinks { margin: 1em 16px; padding: 0 4px; border-width: 1px 0; border-style: solid; border-color: #ece754; background: #f7f5b7; color: #a49f1c; text-align: center; font-size: 1.4em; } div.categoryLinks em { font-size: 0.4em; font-style: normal; vertical-align: middle; } </style> </head> <body> <div class="categoryLinks"> <em>SECTION:</em> Page One · Page Two · <a href="link">Page Three</a> </div> </body>
注意:部分字体大小从原来的0.6em改为0.4em以强调要点。