在HTML中使用img标签src属性显示图像与在CSS中设置样式之间有什么区别?

朱卡

结果是相同的,但是我想在HTML中使用img标签src属性设置图像和在CSS中设置图像样式是有区别的。例如:

在HTML中:

<img src="//notrealdomain.com/some.png">

在HTML中:

<img id="my-pic" src="">

在CSS中:

#my-pic {
    background-image: url(//notrealdomain.com/some.png)
}
富勒姆

让我们比较一下。

这是不够的,只是提供一个background-image属性,因为img元素没有内在的heightwidthbackground-image以同样的方式,设置属性不能提供自动src属性一样。因此,如果没有声明的尺寸,则不会显示应用CSS的图像。

#my-pic {
    background-image: url(//placehold.it/150);
}
<img src="//placehold.it/150" />
<img id="my-pic" src="" />

如果您希望img标签的行为与应用的图像相似,则可以强制该标签具有widthheight等于注意:在某些浏览器中,损坏的图像占位符图标会显示在的顶部background-imagesrcbackground-image

#my-pic {
    display: inline-block;
    width: 150px;
    height: 150px;
    background-image: url(//placehold.it/150);
}
<img src="//placehold.it/150" />
<img id="my-pic" src="" />

但这有本机imgsrc属性组合所没有的限制,例如仅定义height or或 width保留自然约束的能力。

#my-pic {
    display: inline-block;
    width: 150px;
    background-image: url(//placehold.it/300);
}
<img src="//placehold.it/300" width="150" />
<img id="my-pic" src="" />

此外,将width设置为height自然尺寸以外的任何值,只会裁剪background-image,而不是强制限制其img自然行为。

#my-pic {
    display: inline-block;
    width: 300px;
    height: 150px;
    background-image: url(//placehold.it/300);
}
<img src="//placehold.it/300" width="300" height="150" />
<img id="my-pic" src="" />

还有其他的属性,你可以用它来实现各种效果,如background-attachmentbackground-clipbackground-originbackground-positionbackground-repeat,和background-size

但是,如果您使用这些样式,则可能不应该使用img标签作为容器。div具有语义含义的一个或其他类型的包含元素将更适合此工作。

关于alt文本,如果src属性中定义的图像无法加载,则alt属性将按预期显示;否则显示为0。alt赋予CSS应用图像属性则始终显示,并根据文本基线调整inline-block元素的对齐方式。

#my-pic {
  display: inline-block;
  width: 150px;
  height: 150px;
  background-image: url(http://placehold.it/150);
}

#my-pic-failed {
  display: inline-block;
  width: 150px;
  height: 150px;
  background-image: url(//failedtoload.png);
}
<img src="http://placehold.it/150" alt="Alternate text"/>
<img src="//failedtoload.png" alt="Alternate text"/>
<img id="my-pic" src="" alt="Alternate text" />
<img id="my-pic-failed" src="" alt="Alternate text" />

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

HTML和CSS的width属性之间有什么区别?

样式和android:theme属性之间有什么区别?

<script> src属性中的./和/之间有什么区别吗?

在php类中使用$ this和不使用$ this声明属性之间有什么区别?

在类设置器中使用强制转换和类型验证之间有什么区别?

HTML5中的<aside>和<blockquote>标签之间有什么区别?

docker中的图层和图像之间有什么区别?

设置全局CSS属性时html,body和*有什么区别

链接标签中的“href”和“to”属性有什么区别?

DateInterval中的天和“ d”属性之间有什么区别

使用JavaScript设置img标签的src属性

在 HTML 中使用 img 标签但图像不会显示

HTML中的属性和属性有什么区别?

HTML中的属性和属性有什么区别?

在ColdFusion中,将函数设置为变量与在主题标签中调用函数之间有什么区别?

在此示例中,在 XAML 中使用 DataContext 和后面的代码之间有什么区别?

CSS中的initial和default之间有什么区别?

ChannelHandler在实例字段中存储状态和使用属性的状态之间有什么区别?

./和html中的无斜杠之间有什么区别?

Vue中的模块样式和作用域样式之间有什么区别?

在TFS中添加新标签和向标签添加标签之间有什么区别

CSS 中的类/ID 和自定义 HTML5 属性有什么区别?

<img>标记和new Image()。src有什么区别?

在SRC中使用标签显示图像

当 CSS 中根本不使用 position 属性时,定义“位置:相对”有什么区别?

如何使用 jquery/javascript 在图像标签 <img src=""> 的 src 属性中传递字符串?

pom xml中的依赖项标签和插件标签之间的maven有什么区别?

使用构造函数分配属性值和类声明中的属性分配之间有什么区别?

svg和png img之间有什么区别吗?