我发现此问题仅适用于谷歌浏览器:其他元素(<strong>
,<em>
...)比简单文字更好,而<img>
位于vertical-align:middle
同一条线。
顺便说一句,我试过
<img>
line-height
或某些vertical-align:top
,结果并不完美。
vertical-align:middle
,因为似乎其他标签像pic一样对齐(这很疯狂......)。但我希望图片为vertical-align
... table-cell
指定img {height:25px;}
.table {display:table;width:400px;}
.left {display:table-cell;width:30%;padding:10px;background:#CCC;}
.right {display:table-cell;width:70%;padding:10px;background:#EDEDED;
vertical-align:top;}
,结果也会很好。您可以查看 fiddle
CSS
<div class="table">
<div class="left">Left content</div>
<div class="right">
Some text some text, some text, some text,
some text, some text, some text, and a
<strong>bold text</strong>, then a pic :
<img src="some_pic_url"/>
and <em>italic</em>
</div>
</div>
HTML
{{1}}
似乎其他元素与图片的底部对齐......
有关这个丑陋问题的任何想法,以及如何在任何浏览器上正确对齐垂直文本?
答案 0 :(得分:0)
“display:table-cell”;从div中向下级联并应用于包含的文本节点,但它不会级联到包含的strong和em节点。
将文本换行到span标记中,这样可以防止文本获得级联的“display:table-cell”。
答案 1 :(得分:0)
在测试了很多解决方案之后,似乎在div
内添加另一个table-cell
元素来解决此问题的更简单方法是为内部的每个元素指定vertical-align
位置table-cell
。
喜欢添加以下内容:
.right * {vertical-align:top;}
在这种情况下,pic可以保持与其他元素不同的位置。
答案 2 :(得分:0)