【CSS相关】CSS翻转门技术实例讲解与实际运用(转贴) – Vitamin

【CSS相关】CSS翻转门技术实例讲解与实际运用(转贴) - Vitamin

翻转门的优缺点以及实现

优点:
1:普通的背景图片和鼠标浮上去的背景图片是同一张图片。所以只需要下载一次就可以了。减少了一个http的request请求,所以对页面的效率提高有很大的好处。
2:因为采用的是同一张图片,所以看到的时候就肯定已经下载到本地了。所以当鼠标浮上去的时候,变换非常的快(因为是本地的),所以不会出现那种“鼠标浮上去以后好久才能看到替换图片”的情况。

缺点:
1:同一张图片,随意如果要改变的话,需要重新制作图片。维护成本比较高(不过,如果有美工在的话,自然不成问题)。
2:有时候需要“算像素”以便显示的正好。

实现:


为了便于理解和讲解,下面将通过一个实例来讲解。

                      图1:翻转门实例截图

点击查看实例

前台XHTML代码很简单,只是一个无序列表而已。

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

<html xmlns=”http://www.w3.org/1999/xhtml”>

<head>

<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />

<title>Untitled Document</title>

<link href=”http://www.dwww.cn/News/2007-11/style.css” rel=”stylesheet” type=”text/css” />

</head>

<body>

<ul id=”menu”>

<li><a href=”http://www.dwww.cn/News/2007-11/#/” class=”home”>Home<span></span></a></li>

<li><a href=”http://www.dwww.cn/News/2007-11/#/” class=”about”>About<span></span></a></li>

<li><a href=”http://www.dwww.cn/News/2007-11/#/” class=”rss”>RSS<span></span></a></li>

</ul>

</body>

</html>

关键是在CSS文件里面,下面以“Home”这个菜单为例,看看是如何实现的。下面是“Home”菜单翻转实现的关键代码:

/*普通状态下css样式*/

#menu .home {

width: 144px;

height: 58px;

background: url(images/home.gif) no-repeat;/*后面没有设置x和y值的话,默认是left top*/

left: 96px;/*left和top的设置是为了定位需要*/

top: 73px;

}

下面这个css样式是最核心的一句代码。通过伪类:hover将图片“翻转”:

#menu a:hover {

background-position: left bottom;/*通过a的伪类:hover,当鼠标浮上去的时候将背景图片从下面(bottom)开始显示,因为“#menu .home”中已经设定了固定的高度,所以这里只会显示图片下部58px高度的内容*/

}

就这样一个简单的翻转门菜单就实现了。而且因为是通过“#menu a:hover”设置的样式,所以对menu菜单下的所有a都适应,后面不同的栏目,只要通过形如“#menu .home”这样的分别设置就可以了。当然,所有的背景变换图片都要是一样大小,而且上下的图像应该是通过中间水平线“对折”的。

有得朋友可能会问,<li>里面的<a>,再里面的<span>是做什么用的,其实,这个和“翻转门”倒是没有什么关系,只是装饰用的,是用来显示菜单说明图片用的,例如“home”菜单上的“go to home”(如图2所示):


图2:菜单的说明

来源:JustinYoung的cnblogs

【CSS相关】CSS翻转门技术实例讲解与实际运用(转贴) – Vitamin

相关文章:

你感兴趣的文章:

标签云: