关于CSS的图像拼合技术

不言
不言 原创
2018-06-12 15:05:57 1055浏览

这篇文章主要介绍了关于CSS的图像拼合技术 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

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

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

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

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

<!DOCTYPE html>
<html>
	<head>
		<title>自学教程(如约智惠.com)</title>
		<meta charset="utf-8">
		<style>
			#navlist {position:relative;}
			
			#navlist li{
				margin:0px;
				padding:0px;
				list-style:none;
				position:absolute;
				top:0px;
			}
			
			#navlist li, #navlist a{
				height:44px;
				display:block;
			}
			
			#home {
				left:0px;
				width:46px;
				background:url('./images/img_navsprites.gif')0 0;
			}
			
			#prev {
				left:63px;
				width:43px;
				background:url('./images/img_navsprites.gif')-47px 0;
			}
			
			#next {
				left:129px;
				width:43px;
				background:url('./images/img_navsprites.gif')-91px 0;
			}
			
		</style>
	</head>
	<body >
		<ul id="navlist">
		  <li id="home"><a href="/"></a></li>
		  <li id="prev"><a href="/css/"></a></li>
		  <li id="next"><a href="/css/"></a></li>
		</ul>
	</body>
</html>

实例解析:

  • #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的分隔线)

图像拼合--悬停效果

<!DOCTYPE html>
<html>
	<head>
		<title>自学教程(如约智惠.com)</title>
		<meta charset="utf-8">
		<style>
			#navlist {position:relative;}
			
			#navlist li{
				margin:0px;
				padding:0px;
				list-style:none;
				position:absolute;
				top:0px;
			}
			
			#navlist li, #navlist a{
				height:44px;
				display:block;
			}
			
			#home {
				left:0px;
				width:46px;
				background:url('./images/img_navsprites_hover.gif')0 0;
			}
			
			#home a:hover {
				background:url('./images/img_navsprites_hover.gif')0 -45px;
			}
			
			#prev {
				left:63px;
				width:43px;
				background:url('./images/img_navsprites_hover.gif')-47px 0;
			}
			
			#prev a:hover {
				background:url('./images/img_navsprites_hover.gif')-47px -45px;
			}
			
			#next {
				left:129px;
				width:43px;
				background:url('./images/img_navsprites_hover.gif')-91px 0;
			}
			
			#next a:hover {
				background:url('./images/img_navsprites_hover.gif')-91px -45px;
			}
			
		</style>
	</head>
	<body >
		<ul id="navlist">
		  <li id="home"><a href="/"></a></li>
		  <li id="prev"><a href="/css/"></a></li>
		  <li id="next"><a href="/css/"></a></li>
		</ul>
	</body>
</html>

实例解析:

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

利用CSS实现各种居中的方法

使用css实现阴影效果

关于CSS的选择器问题

以上就是关于CSS的图像拼合技术的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。