3、 网页中的图像既可以使用img标记也可以css背景,有何区别?

html-css015

3、 网页中的图像既可以使用img标记也可以css背景,有何区别?,第1张

css载入出错、访客设置浏览器模式为无样式、RSS订阅、搜索引擎或其他程序抓取等情况下,总体来说是没有样式表的时候:

img插入的图片会显示,而你用background弄的背景不会显示出来。

用 img 还是 css背景 就业根据你的内容来定了,大体原则是尽量页面设计表现上的东西用背景,产品、照片等内容用 img 插入。

比如一个网页正文上的大标题 h1~h6 ,本来这样就可以实现:

<h1>某某公司发展大事记</h1>

<p>1992年,那是一个春天,有个老头在我国的南边划了一个圈...</p>

<img src="123.jpg" alt="那个老人的照片" />

<p>2011年,我公司著名程序猿张小龙在微信上面又划了一个圈...</p>

<img src="234.jpg" alt="张小龙开发微信的照片" />

为了设计上的美观,某某公司发展大事记 这几个字要设计成独特又不常用的字体,那就得做成图片,然后这里就该 html 代码不变,用背景图来展示:

<h1 id="test">某某公司发展大事记</h1>

#test{

1.设成图片宽高

2.块级元素

3.background: url(载入背景图)

4.文本缩进 -1000em 把文字隐藏掉

}

这样人看到的是图片文字标题,对于抓取你页面的程序,它们看到的是更适合它们胃口的<h1>字段文字。接下来那两张重要的很能体现你公司高大上形象的照片,就要用 img 插入了,否则,没样式时人看不到,搜索引擎、Rss订阅器等程序爬你网页时,也看不到。

在什么情况下更适合使用HTML IMG标签来显示一个图像,而不是一个CSS有背景图像,反之亦然?

如下场景使用img标签比较合适:

1、如果图像是等内容的一部分或图表或人(真正的人,而不是股票图人),使用Img标签加上alt属性。

2、如果你想打印页面并且你想要的图像包括默认情况下使用IMG。

3、使用IMG(alt文本)图像有一个重要的语义时,比如一个警告图标。这将确保图像的意义可以很好的和user-agents沟通,包括屏幕阅读器。

4、如果你依赖于浏览器缩放图像比例并且可以呈现不错的效果时使用IMG。

5、如果配合 z - index 伸展背景图像来填补它的整个窗口时使用IMG。

6、使用img代替有背景图像可以显著提高性能的动画背景。

7、IMG会首先加载因为src在html文件本身中而在有背景图像源是样式表中引入的图像,加载样式表加载后,延迟加载的网页。

如下场景使用background-image属性比较合适:

1、如果图像不是内容的一部分时使用backgrond-image。

2、当图像代替文本使用时使用backgrond-image。

3、如果你想打印页面并且你不想要的图像包括默认情况下使用backgrond-image。

4、如果需要缩短下载时间通过CSS sprites 时使用backgrond-image。

5、如果你只需要展示图像的一部分通过CSS sprites,时使用backgrond-image。

6、如果你需要为不同的屏幕分辨率展示不同的图像使用 media查询时使用backgrond-image。

img默认是个行内元素,比如在img的前面或后面放一些文字,这些文字会与图片排在同一行。因此,当图片的前后存在一些空格或回车换行符时,它们会与图片一起成为同一块行内元素,从而会造成外面的div被撑得比你想象的尺寸要大一些,比如:<div><img src="..."/></div>而如果是这样就不会:<div><img src="..."/></div>如果给img的css添加display:block属性,它就会变成块级元素(它会独占一行),其前后的空格、回车等也会被自动忽略,这样外面的div的尺寸就会保持与img一致。