图片引用的两种方式background-image和img的区别

发现问题的地方:
在模拟百度首页进行制作的时候,在百度的搜索文本框中有一个小照相机,这个照相机是一个图片的一部分,在鼠标移动到这个地方的时候它自动换到图片的下半部分进行变色,而这个图片的引用就是使用的background-image引用的,但是使用img标签却没法达到这种效果。这是为什么呢?

img 元素:定义为向网页中嵌入一幅图像。从技术上讲, 标签并不会在网页中插入图像,而是从网页上链接图像。 标签创建的是被引用图像的占位空间。

Background-image: url():定义是此属性为设置背景图像,元素的背景占据了元素的全部尺寸。包括内边距和边框,但是不包括外边距。
重点解释以下这两句话:
首先应当明确的是html文件的运行顺序是先加载html结构再进行css的加载和修饰。
1:img标签是一个结构语言,他为引用的图片创造了一个占位空间,我把这个行为比作是吹气球,气球(结构)有多大是由他吹进去的气体(引用的图片)决定的。这个结构的大小是根据里面的内容所决定的。/input2的css代码/ .input2 img { display:inline-block; background-position:0; width: 20px; height: 20px; position: absolute; margin-left: -30px; margin-top: 10px; background-repeat: no-repeat; } .input2 img:hover { background-position: 0 -20px; } <div class="input2"> <input class="search-word" type="text" name="question"> <img src="camera.png" alt="照相机图片"/> <input class="search-button" type="button" value="百度一下"> </div>
2:background-image。定义要求“元素的背景占据了元素的全部尺寸”。属性是为元素创造一个背景图片,这个元素就非常重要了!如果元素的全部尺寸为零,那这个背景该如何安放?我把这个属性比作是往一个盒子(元素)里面放东西(背景图片),如果这个盒子的大小为零,你的东西(背景图片)怎么能放的进去?所以要想放进去图片就必须得让这个盒子具有大小,即这个盒子的width和height都不能为零!所以由此引申出来,能容纳这个背景图片的元素必须是一个有着不为0的width和height的块状元素。/input1的css代码/ .input1 span { display:inline-block; background-image: url(camera.png); width: 20px; height: 20px; position: absolute; margin-left: -30px; margin-top: 10px; background-repeat: no-repeat; } .input1 span:hover { background-position: 0 -20px; } <div class="input1"> <input class="search-word" type="text" name="question"> <span></span> <input class="search-button" type="button" value="百度一下"> </div>
【为什么必须要有具体的width和height呢?】
这个解释就有些重复了,但我还是结合加载顺序说一下对这个的理解吧。 我的理解是:background-image是在css中进行引用的,他和img标签不同。一个html文件加载的时候是先加载html结构的,所以img标签中的图片会直接在结构中加载显现出来,而在css中引用图片就不一样了。如果在body中留给这个引用图片的标签大小是0的,那么这个图片将无法显示出来,原因在上边说了,你这一个盒子的大小为零怎么将东西放进去? (背景图片的显示完全是由你的元素的大小所决定的)/css代码/ .k { background-color: yellow; height:100px; } .k span { display:inline-block; height:100px; width:100px; background-image: url(position.jpg); background-repeat: no-repeat; } <div class="k"> <span>kakaka</span> </div>
/css代码。当元素不为空,但是没有设置高度和宽度时/ .k { background-color: yellow; height:100px; } .k span { display:inline-block; background-image: url(position.jpg); background-repeat: no-repeat; } <div class="k"> <span>kakaka</span> </div>

【如何确定/调整引用的确定宽度和高度的图片的位置?】
使用background-position进行调整使用背景图片的位置它有两个值分别表示背景图片沿着x和y轴移动的距离,在学习别人博客的时候我对这种移动判断位置的方式作出了我自己总结与记忆方法:首先明确一点的是初始的图片显示区域是与母图的左上角重合的,我们可以回想到在css中移动一个图片的位置时,我们常常使用margin来进行图片位置的操纵:使用margin-top:(负数);margin-left(负数)来向上向左移动。所以类似的在background-position:x y;中属性值x和y常常是负数;如此记忆我觉得还是较为易理解的。(如图)

/css代码,当鼠标移动到照相机时,变换背景图片区域/ .input1 span:hover { background-position: 0 -20px; }

【两者应用场景的区别】
通常是非内容的图片,或者是要引用图片中的一部分图标,就使用background-image写在css里面(用来修饰页面的元素),如果是内容性的图片就使用img标签写在html里面。


作者:F-ZERO-F
来源:CSDN
原文:https://blog.csdn.net/sun_DongLiang/article/details/79992386
版权声明:本文为博主原创文章,转载请附上博文链接!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,421评论 1 45
  • 1. tab列表折叠效果 html: 能源系统事业部 岗位名称: 工作地点 岗位名...
    lilyping阅读 1,829评论 0 1
  • 1、垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,...
    kiddings阅读 3,147评论 0 11
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,727评论 1 92
  • 女儿今日金句 以前很爱吃鱼的女儿好几个月都不肯吃鱼了。因为家人给她夹的鱼肉常常带有小刺。也许是被刺怕了,也许...
    IvankaZ阅读 374评论 0 1