Krz*_*owa 8 html css firefox google-chrome image
我有一个非常简单的HTML标记问题,它在Chrome和Firefox中呈现不同.我想知道它是否是其中一个的错误.
代码很简单:
<ul>
<li>
<img />
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
问题是在Chrome中,<li />元素顶部有一些填充,但前提是它的内容是图像.例如文本没有问题.
示例小提琴:https://jsfiddle.net/8c4rujvu/1/
img {
display: block;
width: 500px;
}
li {
border: 1px solid #f00;
}Run Code Online (Sandbox Code Playgroud)
<ul>
<li>
<img src="http://www.w3schools.com/css/trolltunga.jpg">
</li>
<li>
<img src="http://www.w3schools.com/css/trolltunga.jpg">
</li>
<li>Some text</li>
</ul>Run Code Online (Sandbox Code Playgroud)
这里似乎有什么问题?
kuk*_*kuz 10
这是由于默认的浏览器/用户代理样式差异所致display: list-item.
作为修复,您可以使用inline-block和vertical-align:top(或甚至只是vertical-align: top)img获得常见行为 - 请参阅下面的演示:
img {
display: inline-block;
vertical-align: top;
width: 500px;
}
li {
border: 1px solid #f00;
}Run Code Online (Sandbox Code Playgroud)
<ul>
<li>
<img src="http://www.w3schools.com/css/trolltunga.jpg">
</li>
<li>
<img src="http://www.w3schools.com/css/trolltunga.jpg">
</li>
<li>
Some text
</li>
</ul>Run Code Online (Sandbox Code Playgroud)
您可能想要查看的相关问题:Why alignment mark list is different on WebKit when using :before height?
为什么会这样?
鉴于其他浏览器不符合这个铬同意,这显然看起来像一个错误,它是.请参阅Chromium Bug Tracker中记录的此漏洞:
Table inside list item rendered at wrong position(示例网址:http://jsfiddle.net/P8Ua7/)
请参阅错误中的一条评论的摘录:
不限于表格.将flexbox放在list-item中会得到相同的结果.如果您已替换显示为块的内容,也会发生这种情况.
OP有一个显示为块的图像(内联替换元素)!
这是another bug you may want to check out.
试试这个 HTML 代码
ul li {
display:block;
}
Run Code Online (Sandbox Code Playgroud)
ul li {
display:block;
}
Run Code Online (Sandbox Code Playgroud)
img {
display: block;
width: 500px;
}
li {
border: 1px solid #f00;
display:block;
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
317 次 |
| 最近记录: |