在网页中需要插入图片时,什么时候用CSS样式插入,什么时候用img插入?

2021-11-04 17:00发布

在网页中需要插入图片时,什么时候用CSS样式插入,什么时候用img插入?他们之间有什么区别?各自插入图片都有什么好处?

在网页中需要插入图片时,什么时候用CSS样式插入,什么时候用img插入?他们之间有什么区别?各自插入图片都有什么好处?

12条回答
羊羊0531
2楼 · 2021-11-05 09:34

1.使用 有一个好处是,用户可以很方便的右键保存或者复制图片的链接。

2.图片做为背景,在图片没加载的时候或者加载失败的时候,不会有个图片的占位标记,不会出现红叉。

PS:一般图片下载站会希望访客、用户去下载站内的图片,一般的企业或者站长其实并不希望同行或者竞争对手下载并盗用网站上的图片。第二点出现红叉应该是古老的IE浏览器才会出现,而且随着宽带网速的提升,这种情况并不多见。

3、 在网页加载的过程中,以css背景图存在的图片会等到结构加载完成(网页的内容全部显示以后)才开始加载,而html中的标签是网页结构(内容)的一部分会在
加载结构的过程中加载,换句话讲,网页会先加载标签的内容,再加载背景图片,如果你用引入了一个很大的图片,那么在这个图片下载完成之前,之后的内容都不会显示。而如果用css来引入同样的图片,网页结构和内容加载完成之后,才开始加载背景图片,不会影响你浏览网页内容。这算比较大的区别之一。

4.如果是装饰性的图片就写在css里面,如果是内容性的图片就写在html里面。 打个比方,你要做一个有漂亮边框的相册。那么修饰边框的图片就写在css里面,相框里面的内容照片就写在html里面。

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

1、使用IMG(alt文本)图像有一个重要的语义时,比如一个警告图标。这将确保图像的意义可以很好的和user-agents沟通,包括屏幕阅读器。
2、如果你依赖于浏览器缩放图像比例并且可以呈现不错的效果时使用IMG。
3、如果配合 z - index 伸展背景图像来填补它的整个窗口时使用IMG。
4、使用img代替有背景图像可以显著提高性能的动画背景。
5、IMG会首先加载因为src在html文件本身中而在有背景图像源是样式表中引入的图像,加载样式表加载后,延迟加载的网页。

如下场景使用background-image属性比较合适:
1、如果图像不是内容的一部分时使用backgrond-image。
2、当图像代替文本使用时使用backgrond-image(避免出现无语义化标签)。
3、如果需要缩短下载时间通过CSS sprites 时使用backgrond-image。
4、如果你只需要展示图像的一部分通过CSS sprites,时使用backgrond-image。
5、如果你需要为不同的屏幕分辨率展示不同的图像使用 media查询时使用backgrond-image。


上来打杂的
3楼 · 2021-11-05 13:45

css背景图使用

不是html结构的一部分

图像代替文本使用时

缩短下载时间时

为不同的屏幕分辨率展示不同的图像时(media查询时使用背景图)

作为背景图片

禁止用户保存图片(点击鼠标右键另存为操作)

允许图片拉伸,平铺,截取等情况(background-size:1000%;按容器 比例撑满,图片会变形;background-

img标签使用

作为html结构内容的一部分
展示从后台传过来的数据
对图片进行缩放操作
利于搜索引擎搜索时
有明确的语义化要求
图片作为页面的组成部分而不是修饰部分
显示图片只给定宽或高且不能截断图片,并且保证图片宽高比



一个Ai
4楼 · 2021-11-05 16:04

目的是用来美化、装饰网页体现设计效果的图片用css背景图,网页里面主要内容图片用img标签插入。

想要图片做背景的时候用background-image,img标记是做不了背景的。


帅帅马
6楼 · 2021-11-07 19:54

img标签使用


作为html结构内容的一部分

展示从后台传过来的数据

对图片进行缩放操作

利于搜索引擎搜索时

有明确的语义化要求

图片作为页面的组成部分而不是修饰部分

显示图片只给定宽或高且不能截断图片,并且保证图片宽高比



css背景图使用


不是html结构的一部分

图像代替文本使用时

缩短下载时间时

为不同的屏幕分辨率展示不同的图像时(media查询时使用背景图)

作为背景图片

禁止用户保存图片(点击鼠标右键另存为操作)

允许图片拉伸,平铺,截取等情况(background-size:1000%;按容器 比例撑满,图片会变形;background-size:cover;把背景图片放大到适合元素容器的尺寸,图片比例不变)



20200921文 - 做更棒的自己!
7楼 · 2021-11-07 20:52

Q1.二者有何区别?
A1.写在css里面的图片是以背景图形式存在的,而写在html里的是以标签形式存在的,< style>在网页加载的过程中,以css背景图存在的图片会等到结构加载完成(网页的内容全部显示以后)才开始加载,而html中的<>标签是网页结构(内容)的一部分会在加载结构的过程中加载,换句话讲,网页会先加载<>标签的内容,再加载背景图片,如果你用<>引入了一个很大的图片,那么在这个图片下载完成之前,<>之后的内容都不会显示。而如果用css来引入同样的图片,网页结构和内容加载完成之后,才开始加载背景图片,不会影响你浏览网页内容。

Q2.什么图片插入在css,什么图片插入在html里面?
A2.如果是装饰性的图片就写在css里面,如果是内容性的图片就写在html里面,
打个比方,你要做一个有漂亮边框的相册。那么修饰边框的图片就写在css里面,相框里面的内容照片就写在html里面。
Q3.不知道怎样问了,扩展点说就更好。
A3.以后的网页设计方向是表现层和内容层分离,css管表现,也就是显示效果,html管结构,内容结构的划分,这样代码要简洁易维护一些。关于其他回答中的“像< />这种属于表现层的东西都会被丢弃的”这种说法是不正确的,内容中的图片还是要使用<>图标而不是css背景来引入。而“css图片可以复用,<>图片不能复用”这种说法也不正确,网页加载过程中相同的图片会下载一次并保存在缓存里面,其他地方的<>使用了同样的图片是不会再去下载的。图片也可以复用。

LERRR
8楼 · 2021-11-09 08:58

用来美化、装饰网页体现设计效果的图片用css背景图

我是大脸猫
9楼 · 2021-11-09 10:46

1. 链入外部样式表

链入外部样式表是把样式表保存为一个样式表文件,然后在页面中用标记链接到这个样式表文件,这个标记必须放到页面的区内,如下:

 

 
…… 
 
…… 

 

  上面这个例子表示浏览器从mystyle.css文件中以文档格式读出定义的样式表。rel=”stylesheet”是指在页面中使用这个外部的样式表。type=”text/css”是指文件的类型是样式表文本。href=”mystyle.css”是文件所在的位置。media是选择媒体类型,这些媒体包括:屏幕,纸张,语音合成设备,盲文阅读设备等。

  一个外部样式表文件可以应用于多个页面。当你改变这个样式表文件时,所有页面的样式都随之而改变。在制作大量相同样式页面的网站时,非常有用,不仅减少了重复的工作量,而且有利于以后的修改、编辑,浏览时也减少了重复下载代码。

  样式表文件可以用任何文本编辑器(例如:记事本)打开并编辑,一般样式表文件扩展名为.css。内容是定义的样式表,不包含HTML标记,mystyle.css这个文件的内容如下:

hr {color: sienna} 
p {margin-left: 20px} 
body {background-image: url("images/back40.gif")} 
/*定义水平线的颜色为土黄;段落左边的空白边距为20象素;页面的背景图片为images目录下的back40.gif文件*/

 

  
  2.内部样式表

  内部样式表是把样式表放到页面的区里,这些定义的样式就应用到页面中了,样式表是用style标记插入的,从下例中可以看出style标记的用法:

 

 
…… 
 
…… 

 

  注意:有些低版本的浏览器不能识别style标记,这意味着低版本的浏览器会忽略style标记里的内容,并把style标记里的内容以文本直接显示到页面上。为了避免这样的情况发生,我们用加HTML注释的方式()隐藏内容而不让它显示:

 

 
…… 
 
…… 

 

  3. 导入外部样式表 

导入外部样式表是指在内部样式表的style里导入一个外部样式表,导入时用@import,看下面这个实例:

 

 
…… 
 
…… 

 

  例中@import “mystyle.css”表示导入mystyle.css样式表,注意使用时外部样式表的路径。方法和链入样式表的方法很相似,但导入外部样式表输入方式更有优势。实质上它相当于存在内部样式表中的。 
注意:导入外部样式表必须在样式表的开始部分,在其他内部样式表上面。

  
  4. 内嵌样式

  内嵌样式是混合在HTML标记里使用的,用这种方法,可以很简单的对某个元素单独定义样式。内嵌样式的使用是直接将在HTML标记里加入style参数。而style参数的内容就是CSS的属性和值,如下例:

 

  

 
这是一个段落 

 

 

  在style参数后面的引号里的内容相当于在样式表大括号里的内容。 
  注意:
style参数可以应用于任意BODY内的元素(包括BODY本身),除了BASEFONT、PARAM和SCRIPT。


相关问题推荐

  • 回答 17
    已采纳

    CSS为HTML标记语言提供了一种样式描述,定义了其中元素的显示方式。CSS在Web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。总体来说,CSS具有以下特点:丰富的样式定义CSS提供了丰富的文档样式外观,以及设置文本和背景属性...

  • 回答 19

    递归做为一种算法在程序设计语言中广泛应用.是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象

  • 回答 16
    已采纳

    CSS盒子模型就是在网页设计中经常用到的CSS技术所使用的一种思维模型。 盒子模型(Box Modle)可以用来对元素进行布局,包括内边距,边框,外边距,和实际内容这几个部分。盒子模型分为两种:第一种是W3c标准的盒子模型(标准盒模型)第二种IE标准的盒子模型(怪...

  • 回答 15

    浮动和定位都可以使元素脱离标准文档流,提升层级,  浮动脱离文档流,提高半个层级,不能完全覆盖下面元素(不能覆盖图片文字)定位脱离标准文档流,提升一个层级,可以完全覆盖下面元素及其内容...

  • 回答 13
    已采纳

    内联样式,如: style= ,权值为1000。ID选择器,如:#content,权值为0100。类,伪类和属性选择器,如.content,权值为0010。类型选择器和伪元素选择器,如div p,权值为0001。通配符、子选择器、相邻选择器等的。如*、>、+,权值为0000。继承的样式没有权值。...

  • 回答 9

    css过渡与动画主要区别在于:transition需要触发一个事件才会随着时间改变其CSS属性;animation在不需要触发任何事件的情况下,也可以显式的随时间变化来改变元素CSS属性,达到一种动画的效果。css过渡与动画区别总结:1、动画不需要事件触发,过渡需要。2、...

  • 回答 3

    一段文字在标签的宽度内是不会自动换行的,可以给标签设置小一点的宽度,碰到标签的右边缘就会自动换行了

  • 回答 17

    定位:1、相对定位 position:relative; 兼容2、绝对定位 absolut 兼容3、固zhuan定定位 fixed ie6不兼容

  • 回答 4

    如果一个元素覆盖在另外一个元素之上,而你想显示下面的元素,这时你就需要把上面这个元素的background设置为transparent transparent在 不同 css版

  • 回答 4

    怎样在CSS样式中设置背景的透明度,下面一个具体的实例。把类为box的层设为透明。.box{width:300px;height:200px;margin:0auto;boxder:1pxsolid#ccc;background:#000;filter:alpha(opacity:30);opacity:0.3;-moz-opacity:0.3;-khtml-o...

  • 回答 6

    解决方案You can check if the image's color model includes an alpha channel:BufferedImage img = ImageIO.read(/* from somewhere */);if (img.getColorModel().hasAlpha()) {undefined// img has alpha channel...

  • 回答 5

    找到 eclipse 的安装目录 进入到 plugins 文件夹下,这个文件是管理 eclipse样式相关的文件夹然后我们进入它的子目录 org.eclipse.ui.themes_1.2.1.v20170809-1435 文件夹,去里面找 与 eclipse 相关的样式设置,继续寻找来到 这个界面。 考到css 文件夹,与...

  • 回答 6

    css问题filter: alpha(opacity=100,finishopacity=0,style=2)alpha是来设置透明度的,它的基本属性是filter:alpha(opacity,finishopacity,style,startX,startY,finishX,finishY).opacity代表透明度数,选值0-100,0是完全透明,100是不透明.finishopacit...

  • 回答 4

    设置背景颜色:要设置背景颜色,直接使用background:颜色值;即可。如:body{background:#000}将body的背景颜色设置为黑色。 设置背景图片:1.规律背景图片。不如我们要设置一个渐变的背景图片,这种背景只需要切出1像素宽,高度合适的图片作为背景即可。body...

  • 回答 2

    原因分析: 使用css的opcity属性改变某个元素的透明度,但是其元素下的子元素的透明度也会被改变,即便重定义也没有用,不过有个方法可以实现,大家可以看看。 可以使用一张透明的图片做背景可以达成效果...

  • 回答 3

    用css 隐藏掉overflow在用div 模拟重画滚动条,用div和z-index配合模拟滚动条

没有解决我的问题,去提问