问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

CSS如何将图片叠加到一起?

发布网友 发布时间:2022-04-23 00:06

我来回答

4个回答

懂视网 时间:2022-04-06 15:28

本章给大家介绍CSS如何使用图像拼合技术?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一、图像拼合

图像拼合就是单个图像的集合。

有许多图像的网页可能需要很长的时间来加载和生成多个服务器的请求。

使用图像拼合会降低服务器的请求数量,并节省带宽。

二、图像拼合 - 简单实例

与其使用三个独立的图像,不如我们使用这种单个图像("img_navsprites.gif"):

1.gif

有了CSS,我们可以只显示我们需要的图像的一部分。

在下面的例子CSS指定显示 "img_navsprites.gif" 的图像的一部分:

img.home
{
width:46px;
height:44px;
background:url(img_navsprites.gif) 0 0;
}

实例解析:

  • <img class="home" src="img_trans.gif" /> -因为不能为空,src属性只定义了一个小的透明图像。显示的图像将是我们在CSS中指定的背景图像

  • 宽度:46px;高度:44px; - 定义我们使用的那部分图像

  • background:url(img_navsprites.gif) 0 0; - 定义背景图像和它的位置(左0px,顶部0px)

  • 这是使用图像拼合最简单的方法,现在我们使用链接和悬停效果。

    三、图像拼合 - 创建一个导航列表

    我们想使用拼合图像 ("img_navsprites.gif"),以创建一个导航列表。

    我们将使用一个HTML列表,因为它可以链接,同时还支持背景图像:

    #navlist{position:relative;}
    #navlist li{margin:0;padding:0;list-style:none;position:absolute;top:0;}
    #navlist li, #navlist a{height:44px;display:block;}
    
    #home{left:0px;width:46px;}
    #home{background:url('img_navsprites.gif') 0 0;}
    
    #prev{left:63px;width:43px;}
    #prev{background:url('img_navsprites.gif') -47px 0;}
    
    #next{left:129px;width:43px;}
    #next{background:url('img_navsprites.gif') -91px 0;}

    实例解析:

  • #navlist{position:relative;} - 位置设置相对定位,让里面的绝对定位

  • #navlist li{margin:0;padding:0;list-style:none;position:absolute;top:0;} - margin和padding设置为0,列表样式被删除,所有列表项是绝对定位

  • #navlist li, #navlist a{height:44px;display:block;} - 所有图像的高度是44px

  • 现在开始每个具体部分的定位和样式:

  • #home{left:0px;width:46px;} - 定位到最左边的方式,以及图像的宽度是46px

  • #home{background:url(img_navsprites.gif) 0 0;} - 定义背景图像和它的位置(左0px,顶部0px)

  • #prev{left:63px;width:43px;} - 右侧定位63px(#home宽46px+项目之间的一些多余的空间),宽度为43px。

  • #prev{background:url('img_navsprites.gif') -47px 0;} - 定义背景图像右侧47px(#home宽46px+分隔线的1px)

  • #next{left:129px;width:43px;}- 右边定位129px(#prev 63px + #prev宽是43px + 剩余的空间), 宽度是43px.

  • #next{background:url('img_navsprites.gif') no-repeat -91px 0;} - 定义背景图像右边91px(#home 46px+1px的分割线+#prev宽43px+1px的分隔线)

  • 四、图像拼合s - 悬停效果

    现在,我们希望我们的导航列表中添加一个悬停效果。

    :hover 选择器用于鼠标悬停在元素上的显示的效果

    提示: :hover 选择器可以运用于所有元素。

    我们的新图像 ("img_navsprites_hover.gif") 包含三个导航图像和三幅图像:

    2.gif

    因为这是一个单一的图像,而不是6个单独的图像文件,当用户停留在图像上不会有延迟加载。

    我们添加悬停效果只添加三行代码:

    #home a:hover{background: url('img_navsprites_hover.gif') 0 -45px;}
    #prev a:hover{background: url('img_navsprites_hover.gif') -47px -45px;}
    #next a:hover{background: url('img_navsprites_hover.gif') -91px -45px;}

    实例解析:

  • 由于该列表项包含一个链接,我们可以使用:hover伪类

  • #home a:hover{background: transparent url(img_navsprites_hover.gif) 0 -45px;} - 对于所有三个悬停图像,我们指定相同的背景位置,只是每个再向下45px

  • 热心网友 时间:2022-04-06 12:36

    1、打开vscode,创建一个html页面。

    2、在测试页面的同级目录,添加一张演示图片。

    3、在测试页面中添加一个div标签,在标签内部添加一个img图片标签,设置图片的src地址。

    4、在div的标签中,直接书写css的样式,设置div的宽度为500像素,高度为300像素,边框为1像素的红色框。再次在浏览器中打开,就可以看到图片,并没有填满整个div的空间。

    5、想要让图片充满整个div,只需要对图片设置高宽都是100%即可。此处为了演示,将所有的img标签都设置成了100%,而且,使用的是外部css的书写形式。

    6、如果图片使用的是背景图,不是img标签的形式,图片默认会在x和y轴重复,并不会拉伸,最终仍然填满了这个div的空间。

    7、如果想要背景图也拉伸填满整个div空间,就需要设置背景图的,background-size: 100% 100%。

    热心网友 时间:2022-04-06 13:54

    可以利用绝对定位实现你的需求:
    给img的父级元素div设置css属性position:relative;
    给img设置css属性position:absolute;利用left和top属性进行定位即可。追问叠上去了,但是我这个div就没有再界面上占位了,导致后面的div覆盖到这些图片上了,还有就是图片也没有水平居中了

    热心网友 时间:2022-04-06 15:29

    DIV重叠 CSS让DIV层叠、叠加,CSS让两个DIV或多个DIV按顺序重叠叠加篇
    让DIV重叠并按想要顺序重叠需要CSS来实现,即CSS绝对定位进行实现。
    重叠样式需要主要CSS样式解释:
    1、z-index 重叠顺序属性;
    2、position:relative和position:absolute设置对象属性为可定位(可重叠);
    3、left right top bottom绝对定位具体位置设置;
    配合的样式:
    1、css width;
    2、css height;
    3、background 为了观察效果,我们对不同DIV设置不同背景颜色进行区别。

    参考:http://www.divcss5.com/shili/s587.shtml
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    在线条形码生成 ie地址栏是什么 ie浏览器的官网地址是什么? 团餐定制电话 抖音电商与广东商务厅启动“富域计划” 简单的晚餐晒美食文案句子 简单的晚餐晒美食说说短句 鸭肉炒什么好吃家常做法 为什么越背越记不住 绯牡丹锦多久浇水 绯牡丹养护要点 vscode中html颜色是如何出现小方框的? vscode的设定画面为何跟别人不一样? HTML中怎么插入图片作为背景,我用的是记事本! vscode做一个4行4列的表格,如何实现隔行换色(背景色)然后第2列文字绿色,第一个单元格文字大? vscode写sql的时候总是有底色,怎样才不显示这个底色? 华为che1一CL20有没有红外线功能? 为什么在vs code中写代码时加div的块中背景加不了 vscode文件图标背景png的图背景还是白色 vscode background插件怎么换背景图 a bowl of rice中文是什么意思 rice bowl是中式英语吗 bowl怎么读用中文写出来 翻译以下中文(中变英) bowⅠ的中文? 翼支付是什么? 翼支付的功能是什么?如何使用? 请问翼支付是什么? 什么是翼支付产品? 什么是翼支付,有什么作用? 电信翼支付是什么意思? VSCode如何设置,才能在VSC里打开php文件到浏览器? VSCode编写html时没有边看边改视图吗 如何更改vscode 选中文字或代码的的颜色 如何实现前端代码打开vscode编辑器 取保候审会不会上个人信用报告 取保候审的担保人会有污点吗 取保候审对担保人有没有什么影响? 贷款担保人会不会上征信? 我担保别人出狱对我的征信有影响吗? 担保取保候审的人会有影响吗 醉驾取保候审影响征信吗? 做过担保人个人征信上有纪录吗 取保候审担保人有案底吗 取保候审给人担保。如果期间出了问题。担保人会有什么风险 做取保候审担保人后果有哪些? 做取保候审担保人后果 取保候审担保人对办住房贷款有没有影响 最强大脑测试:很火的一道测试题,据说IQ125以上的人才知道答案... 有没有测一个人的智商的题目? 世界上最经典的智力测试题