html - 空白出现在本地机器上的图像之前,但不出现在 jsFiddle 中

标签 html css

为什么在我的本地计算机上我的图像左侧会出现空白,而 jsFiddle 中却没有? ?

我正在运行 fiddle 中的相同代码,但 fiddle 工作正常,而在我的本地机器上图像左侧有一点空间。请注意左侧比右侧宽。

我该如何解决这个问题?我在我的本地机器和我的 fiddle 上使用相同的图像。

<!DOCTYPE html>
<html>
 <head>
  <title>The annoying image</title>

 <style>
.outer {
    border:1px solid #ddd; 
    float:left; 
    height:150px; 
    padding:10px; 
}

.outer img {
     vertical-align: middle;
}
.outer:before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}
</style>
</head>

<body>

<div class="outer">
    <img src="/imgur/us/thumb_2.jpg">
</div>

</body>
</html>

适合我的 JSFiddle

enter image description here

本地机器

enter image description here

最佳答案

::before 伪元素在很多方面都像真正的元素,遵守空白规则就是其中之一:

<div class="outer">
    ::before
    <img src="/imgur/us/thumb_2.jpg">
</div>

::before 被插入到元素的最前面(>: 之间的空格只是为了展示) ,并且由于换行符和缩进,它和您的图像之间有空白。

如果删除它,there will be no gap .

<div class="outer"><img src="/imgur/us/thumb_2.jpg">
</div>

关于html - 空白出现在本地机器上的图像之前,但不出现在 jsFiddle 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24842625/

相关文章:

html - Overflow-y 在文本区域中不起作用

html - 浏览器支持文本区域中的属性行

html - 应用 CSS @media 时 iPhone 和 iPad 上的不可见布局

javascript - 使用日期类型在输入字段中居中日期

css - Compass + Blueprint 非语义类

javascript - 增加全日历事件后面的插槽可点击区域

javascript - 在断开的链接检查器 AngularJS 中找不到图像源

jquery - 带有 Bootstrap 的响应式垂直水平绝对框?

javascript - 无法根据子元素的高度设置元素的高度

html - 如何卡住表格中带有标题的 3 或 4 列开始并保持可滚动