img标签和background-image的区别和具体使用时机

最近在使用图片过程当中,纠结到底使用img标签仍是使用background-image属性,翻阅资料和百度后做出下列理解。css

简单来讲img是内容部分的东西,background-image是修饰性的东西。html

img

从页面元素来讲,若是是页面中做为内容出现的图片,好比广告图片、产品图片,那么这个必然是用img了,由于这个是页面元素内容。页面元素内容最关键的一点就是,当页面没有样式的时候,仍是能一眼看过去就知道什么是什么。网站

img是一个行内元素,HTML标签,是一个document对象,它是能够操做的。好比更换img src的路径能够达到更换图片的目的,也能够移动它的位置,从document中移除等等操做code

background-image

背景图片,修饰性的内容,在页面中无关紧要。有,是为了让页面中视觉感觉上更美;无,并不影响用户浏览网页获取内容。htm

background-image是背景图片,是css的一个样式,要使用background-sizing、background-position来设置其属性。对象

裸奔

其实说白了,背景图片就是经过样式加载后,让页面更漂亮而已,内容图片就是为了展现给用户的。假设有一天你的网页没有任何样式的时候,那么这个时候请想一想你的网站上哪些图片是给用户看的,这样就足够了。blog

 

在网页加载的过程当中,以css背景图存在的图片background-image会等到结构加载完成(网页的内容所有显示之后)才开始加载,而html中的标签img是网页结构(内容)的一部分会在加载结构的过程当中加载,换句话讲,网页会先加载标签img的内容,再加载背景图片background-image,若是你用引入了一个很大的图片,那么在这个图片下载完成以前,img后的内容都不会显示。而若是用css来引入一样的图片,网页结构和内容加载完成以后,才开始加载背景图片,不会影响你浏览网页内容。图片

 

此处谈到img标签是行内元素,就此谈下行内元素、块级元素。产品

区别:it

1.行内元素与块级元素直观上的区别

   行内元素会在一条直线上排列,都是同一行的,水平方向排列。

   块级元素各占据一行,垂直方向排列。块级元素重新行开始结束接着一个断行。

2.块级元素能够包含行内元素和块级元素。行内元素不能包含块级元素。

3.行内元素设置宽高无效,大小由内容决定。块级元素能够设置高,独占一行。

相关文章
相关标签/搜索