background是CSS3的样式
img 是HTML的标签,两者之间存在本质的区别
background-image存在于大的background中,其属性设置多种多样,变换较为丰富
img 上能写字,能增加其余想增加的元素
一般来说,如果是装饰性的图片就使用background-img,如果和文体内容很相关就使用img
在网页加载的过程中,以css背景图存在的图片background-image会等到结构加载完成(网页的内容全部显示以后)才开始加载,而html中的标签img是网页结构(内容)的一部分会在加载结构的过程中加载,换句话讲,网页会先加载标签img的内容,再加载背景图片background-image,如果你用引入了一个很大的图片,那么在这个图片下载完成之前,img后的内容都不会显示。而如果用css来引入同样的图片,网页结构和内容加载完成之后,才开始加载背景图片,不会影响浏览网页内容。
是这样的,像极端的情况比如整个页面的背景,我会毫不犹豫的使用background-image,但是某一个单独的图片,比如logo,只要加载出来就行,也不需要对它做什么复杂的操作,我的理解是能在html里实现的就不要再去CSS里写了,越简单越好。但是看到一段代码所有的图片都是用div背景图片写的,我突然困惑了这样到底是对是错?能否有人给我讲一下优劣?比如是加载方面有区别?SEO区别?多谢啦!
简单来说,img是内容部分的东西,background-image是修饰性的东西。
稍微加点文字就是
img
从页面元素来说,如果是页面中的图片是作为内容出现的,比如广告图片,比如产品图片,那么这个必然是用img了,因为这个是页面元素内容。页面元素内容最关键的一点就是,当页面没有样式的时候,还是能一眼看过去就知道什么是什么……
background-image
背景图片,修饰性的内容,在页面中可有可无。有,是为了让页面中视觉感受上更美;无,并不影响用户浏览网页获取内容。
其实说白了,背景图片就是通过样式加载后,让页面更漂亮而已,内容图片就是为了展示给用户的。假设有一天你的网页没有任何样式的时候,那么这个时候请想想你的网站上哪些图片是给用户看的,这样就足够了。
前景图img是数据性的东西,属于页面要展现的内容。
背景图是修饰性的东西,不要也罢。
比如,用户图像,肯定是前景图了;产品列表的图片,也是前景图了。 但是产品列表的图片,有的左上方有个推荐的标签,减价的标签,肯定就是修饰咯。