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

怎样使用DIV+CSS实现拼图

发布网友 发布时间:2022-04-06 11:07

我来回答

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

    页面中有些是由大大小小的很多图片拼成的。这样的拼图要用到的z-index,浏览器兼容的时候要考虑到FF和IE的margin-left。

    eg:(z-index的设置,IE与FF也有区别,div3同div2的时候,IE678测试都可以通过,FF则不行。)

    .mainFrame {width:950px; margin:0px auto; padding:0px;}
    .div1 { float:left;z-index:1; display:inline;}
    .div2 { float:left;z-index:2; display:inline; margin-top:-183px; }
    .div3 { float:left;z-index:3; display:inline; margin-top:-183px; margin-left:193px; *margin-left:0px; }

    <div class="mainFrame">
    <a href="welcome.html" class="div1">
    <img src="../images/1/1.gif" />
    </a>
    <div class="div1">
    <a href="welcome.html"><img src="../images/1/2.gif" /></a>
    </div>
    <div class="div1">
    <a href="#"><img src="../images/1/3.gif" /></a>
    </div>
    <div class="div1">
    <a href="#"><img src="../images/1/4.gif" /></a>
    </div>
    <div class="div1">
    <a href="#"><img src="../images/1/7.gif" /></a>
    </div>
    <div class="div2">
    <a href="#"><img src="../images/1/5.gif" /></a>
    </div>
    <div class="div3">
    <a href="#"><img src="../images/1/6.gif" /></a>
    </div>
    </div>

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

    不需要切两端的。。。直接用一整条,足够长就行了。
    比如
    <div><p>这里是正文</p></div>
    给div一个背景,background:url(xxx.png) left 0;
    p一个背景background:url(xxx.png) right 0;
    这样就行了吧

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

    搜索HTML CSS的滑动门技术
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    莲花冬天发芽好吗 过冬荷花什么时候发芽 一个手机号怎样登陆两个孩子的长沙市中小学生人人通云平台 人人通怎么进入学校 人人通电脑版学生怎样登录 名侦探柯南真人版3为什么要换人? 真人版柯南,你最喜欢小栗旬还是沟端淳平? 央企中国稀土集团落户江西,衷心希望江西摆脱“环江西经济带”地位_百度... 来天津的央企有哪些 东丽区的央企有哪些 电火花加工的电极采用何种钨铜? 放电电极中红铜与钨铜 黄铜有什么区别? 研究钨铜合金室温力学性能有意义吗 ZCuSn10Zn2是什么材料 钨粉的用途 钨铜和烙镐铜哪个更持久 W75钨铜的用途 钨铜棒的用途 “钨铜”有什么样的性能? 钨铜都有哪些分类用途? 戴尔笔记本电脑突然断电? Dell 3340开机掉电 怎么获取电信光猫管理员账户和密码信息 梦见自己虐杀儿童,而且隐约好像是自己孩子。 DELL笔记本电脑使用中突然断电关机 为什么光猫的管理员帐号和密码是错的 戴尔笔记本最近耗电快有什么解决办法吗? 姓李,男孩,帮忙起个名字,谢谢,起的好有红包! 男孩李姓起个名字? 山东在古代分为齐鲁两国,那为什么要简称为鲁而不是齐? 本公司是从事钨合金、硬质合金、钨铜合金生产与加工的企业。我是一名新手,应从哪个需求行业找客户 如何使用css做出这张图中两个引用图片叠加的效果的? 特约中意是和美团生活费合作的吗? 晚上收到被扣款的短信,特约中意是什么平台,好像是代收的,但是我在手机上还是找不到是什么平台扣款了? 中意特约代扣是哪家贷款公司 有人知道中意特约吗?中意特约是什么玩意? 农业银行特约中意什么意思 特约中意扣款是什么费用 擅自扣钱吗? 我的农行卡向一个 特约中意 的付了34块钱是怎么回事?这个特约中意是什么公司? 特约中意是什么扣款项目? 家有孩子,早餐不将就!有哪些营养好吃制作简单的早餐? 怎样做简单又营养的早餐 早餐不知道煮什么吃啊 早餐做什么简单又好吃? 电信50兆宽带网速怎样 宽带50M怎么样? 电信50M宽带下载速度是多少? 电信50m宽带网速大概有多快 请问50M移动光纤网速怎样?当于多少M电信光纤? 上海长城宽带50M的怎么样,网速能达到电信的5M吗?与电信10M的哪个好点?谢谢回答。