`
saybody
  • 浏览: 911459 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

【CSS翻转门】技术实例讲解(附源码下载)

 
阅读更多
<div class="floatRPic">
<img alt="翻转门" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2007/home.gif"><br>图1:翻转门的秘密</div>
<span>图片等资源来源网络,如果侵犯了您的权利,请告知。谢谢!</span><br><h4>翻转门的优缺点以及实现</h4>
<p><span style="color: #ff0000;">优点:</span>1:普通的背景图片和鼠标浮上去的背景图片是同一张图片。所以只需要下载一次就可以了。减少了一个http的request请求,所以对页面的效率提高有很大的好处(《如何提高网页的效率》两篇文章被it168编辑采用了,要等2周以后才能放出。抱歉。)。<br>
2:因为采用的是同一张图片,所以看到的时候就肯定已经下载到本地了。所以当鼠标浮上去的时候,变换非常的快(因为是本地的),所以不会出现那种“鼠标浮上去以后好久才能看到替换图片”的情况。</p>
<p><span style="color: #ff0000;">缺点:</span><br>1:同一张图片,随意如果要改变的话,需要重新制作图片。维护成本比较高(不过,如果有美工在的话,自然不成问题)。<br>
2:有时候需要“算像素”以便显示的正好。</p>
<p>
<span style="color: #ff0000;">实现:</span><br>看图1。分别是普通状态下和鼠标浮上去后要显示的样子。我们只要普通的时候显示上面一般,鼠标浮上去的时候显示下面一半,就可以达到想要的效果了。有了这个思想,实现起来就很简单了。一个容器标签,高设定为要变换图片(如图1)的一半大小,宽设定为和变换图片相等。然后将此容器的背景图片设为变换图片。普通的时候显示top部分。然后鼠标浮上去的时候利用css样式的伪类:hover再将背景图片显示bottom部分即可。</p>

<div class="floatMPic">
<img alt="翻转门实例" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2007/menu-sample.jpg"><br>图2:翻转门实例截图(点击下发按钮下载翻转门实例完整源码)<br><img src="http://images.cnblogs.com/cnblogs_com/justinyoung/2007/broadcast.gif" alt="翻转门实例下载"><a href="http://files.cnblogs.com/JustinYoung/css-menu.zip" title="翻转门实例下载"><img src="http://images.cnblogs.com/cnblogs_com/justinyoung/common/000download.gif" alt="翻转门实例下载"></a>
</div>
<p>
为了便于理解和讲解,下面将通过一个实例来讲解。上面是此例的截图和下载地址。建议将将Demo下载到本地,以便更好的研究其代码。<br>
前台XHTML代码很简单,只是一个无序列表而已。</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee;">
<span style="color: #0000ff;">&lt;!</span><span style="color: #ff00ff;">DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">html</span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">head</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">meta</span><span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span><span style="color: #ff0000;">content</span><span style="color: #0000ff;">="text/html;charset=UTF-8"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">UntitledDocument</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">link</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="style.css"</span><span style="color: #ff0000;">rel</span><span style="color: #0000ff;">="stylesheet"</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/css"</span><span style="color: #ff0000;"></span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">head</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">body</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ul</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="menu"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">a</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="home"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Home</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">span</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">span</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">a</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">a</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="about"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">About</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">span</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">span</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">a</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;&lt;</span><span style="color: #800000;">a</span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">="#"</span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="rss"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">RSS</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">span</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">span</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">a</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ul</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">body</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">html</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br></span>
</div>
<p>
关键是在CSS文件里面,下面以“Home”这个菜单为例,看看是如何实现的。下面是“Home”菜单翻转实现的关键代码:</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee;">
<span style="color: #008000;">/*</span><span style="color: #008000;">普通状态下css样式</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br>
#menu.home</span><span style="color: #000000;">{</span><span style="color: #ff0000;"><br>
width</span><span style="color: #000000;">:</span><span style="color: #0000ff;">144px</span><span style="color: #000000;">;</span><span style="color: #ff0000;"><br>
height</span><span style="color: #000000;">:</span><span style="color: #0000ff;">58px</span><span style="color: #000000;">;</span><span style="color: #ff0000;"><br>
background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">url(images/home.gif)no-repeat</span><span style="color: #000000;">;</span><span style="color: #008000;">/*</span><span style="color: #008000;">后面没有设置x和y值的话,默认是lefttop</span><span style="color: #008000;">*/</span><span style="color: #ff0000;"><br>
left</span><span style="color: #000000;">:</span><span style="color: #0000ff;">96px</span><span style="color: #000000;">;</span><span style="color: #008000;">/*</span><span style="color: #008000;">left和top的设置是为了定位需要</span><span style="color: #008000;">*/</span><span style="color: #ff0000;"><br>
top</span><span style="color: #000000;">:</span><span style="color: #0000ff;">73px</span><span style="color: #000000;">;</span><span style="color: #ff0000;"><br></span><span style="color: #000000;">}</span>
</div>
<p>
下面这个css样式是最核心的一句代码。通过伪类:hover将图片“翻转”:</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee;">
<span style="color: #800000;">#menua:hover</span><span style="color: #000000;">{</span><span style="color: #ff0000;"><br>
background-position</span><span style="color: #000000;">:</span><span style="color: #0000ff;">leftbottom</span><span style="color: #000000;">;</span><span style="color: #008000;">/*</span><span style="color: #008000;">通过a的伪类:hover,当鼠标浮上去的时候将背景图片从下面(bottom)开始显示,因为“#menu.home”中已经设定了固定的高度,所以这里只会显示图片下部58px高度的内容</span><span style="color: #008000;">*/</span><span style="color: #ff0000;"><br></span><span style="color: #000000;">}</span>
</div>
<p>就这样一个简单的翻转门菜单就实现了。而且因为是通过“#menu a:hover”设置的样式,所以对menu菜单下的所有a都适应,后面不同的栏目,只要通过形如“#menu .home”这样的分别设置就可以了。当然,所有的背景变换图片都要是一样大小,而且上下的图像应该是通过中间水平线“对折”的。
</p>
<div class="floatRPic">
<img alt="翻转门" src="http://images.cnblogs.com/cnblogs_com/justinyoung/2007/home-over.gif"><br>图3:菜单的说明</div>
有得朋友可能会问,<li>里面的<a>,再里面的<span>是做什么用的,其实,这个和“翻转门”倒是没有什么关系,只是装饰用的,是用来显示菜单说明图片用的,例如“home”菜单上的“go to home”(如图3所示)

<h4>再说几句废话</h4>
<p></p>
<div class="floatLPic">
<a href="http://space.cnblogs.com/group/w3c/" title="css样式表"><img src="http://space.cnblogs.com/pic/group/g100025.jpg" alt="博客园的朋友请点击此处"></a><br>图4:web标准设计</div>很多的朋友已经感到web标准设计的重要性,也对此很感兴趣,想要学习。但是很多的站在“web标准设计”门口的朋友都感觉很迷茫和混乱。感觉这些东西特别“烦”、特别“乱”。的确,因为没有统一的标准,firefox和M$的IE也都有对页面各自的解析方式,所以导致整个局面十分混乱。因此也造成了学习者“烦”和“乱”的感觉。这种感觉在现阶段可能还无法得到彻底的解决,但是我们很欣慰的看到IE7对web标准的支持已经迈出了很大的一步。相信在不久的将来,web标准设计将会更加的普及。
<br><hr align="left" width="80%">
tag:<span style="font-size: 80%; color: #666;">css翻转门,css翻转门实例,css翻转门技术,css中的翻转门技术,图片翻转,css样式表,web标准设计,css样式表代码,css样式表实例</span>
分享到:
评论

相关推荐

    CSS设计彻底研究 csS设计彻底研究实例源码

    CSS设计彻底研究 CSS 彻底研究 实例源码CSS 彻底研究 实例源码CSS 彻底研究 实例源码CSS 彻底研究 实例源码CSS 彻底研究 实例源码CSS 彻底研究 实例源码

    css+div网站实例源码

    "css+div网站实例源码"提供了一个优秀的学习资源,让我们深入探讨这个主题。 **1. CSS简介** CSS是一种样式表语言,用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档的呈现。它的主要功能是将样式分离于...

    HTML5+CSS3实例源码(包含20个)

    HTML5和CSS3是现代网页开发的两大核心技术,它们极大地扩展了网页的视觉...通过深入学习和实践这些实例,开发者不仅可以提升技术水平,还能更好地理解如何在实际工作中应用这些技术,以满足不断变化的网页设计需求。

    css各种高级实例+源码

    CSS核心基础 第0课《CSS设计彻底研究》简介 CSS与(X)HTML核心基础(上) CSS与(X)HTML核心基础(中) CSS与(X)HTML核心基础(下) CSS禅意花园介绍 深入CSS盒子模型 深入理解盒子模型(上) 深入理解盒子模型(下) ...

    HTML+JS+CSS做的一些页面小游戏源码合集.zip

    HTML+JS+CSS做的一些页面小游戏源码合集 HTML+JS+CSS做的一些页面小游戏源码合集 HTML+JS+CSS做的一些页面小游戏源码合集 HTML+JS+CSS做的一些页面小游戏源码合集 HTML+JS+CSS做的一些页面小游戏源码...

    前端网站实例100套源码

    本资源包“前端网站实例100套源码”是一个极其宝贵的自学和实践工具,提供了丰富的前端项目案例,涵盖各种类型的网站设计,包括企业官网、电商网站、个人博客、资讯门户等。以下将详细解析这些知识点: 1. **HTML与...

    【代码】CSS那些事儿书中源码.rar

    压缩包"CSS那些事儿书中源码.rar"则包含了书中所提到的所有实例代码,方便读者直接下载、学习和实践。 1. **CSS基础** - **选择器**:书中详细介绍了ID选择器、类选择器、元素选择器、属性选择器等,以及它们的...

    24个DIV+CSS 经典实例 源码

    本资源包含24个`DIV+CSS`的经典实例源码,这些实例几乎涵盖了`DIV+CSS`技术的所有核心知识点,对于学习和提升`DIV+CSS`技能极具价值。 首先,我们要理解`&lt;div&gt;`标签。`&lt;div&gt;`是HTML中的一个块级元素,用于组织文档...

    课程作业基于CSS+HTML的个人静态网页源码.zip

    课程作业基于CSS+HTML的个人静态网页源码.zip课程作业基于CSS+HTML的个人静态网页源码.zip课程作业基于CSS+HTML的个人静态网页源码.zip课程作业基于CSS+HTML的个人静态网页源码.zip课程作业基于CSS+HTML的个人静态...

    CSS Mastery 精通CSS英文版 +源码下载

    之后本书用两章讨论招数、过滤器、bug和bug修复,最后由Simon Collison和Cameron Moll两位杰出的CSS设计人员,将书中讨论的许多技术组合起来,给出了两个实例研究。本书还集中介绍了现实的浏览器问题,是弥补CSS知识...

    HTML+CSS+JS精品网页模板源码153.rar

    如碰到HTML5+CSS+JS等专业技术问题,以及需要对应行业的模板等相关源码、模板、资料、教程等,随时联系博主咨询。 网页设计和制作、大学生网页课程设计、期末大作业、毕业设计、网页模板,网页成品源代码等,5000+套...

    《css网站布局实录》实例源码

    《CSS网站布局实录》是一本深入探讨CSS布局技术的专业书籍,旨在帮助读者掌握构建高效、灵活和响应式网站布局的技巧。实例源码是书中的核心部分,它提供了直观的示例,让读者能够亲手实践,从而更好地理解和应用所学...

    css+div实例源码

    "css+div实例源码"这个压缩包文件包含了一系列实例,可以帮助我们深入理解如何运用CSS和div来创建交互式、美观且功能丰富的网页。下面将详细探讨这些实例及其相关知识点。 1. **Ajax入门**:Ajax(Asynchronous ...

    一个经典的CSS滑动门学习实例

    下面将详细讲解CSS滑动门技术及其应用。 首先,滑动门技术的核心在于CSS的`width`和`overflow`属性。通常,我们会为一个包含两个子元素的容器设置固定宽度,这两个子元素分别代表元素的左右两部分。通过调整子元素...

    《CSS网站布局实战》——实例源码包

    在实例源码包中,`CSS网站布局实录.CHM`可能包含了详细的代码示例和解析,帮助读者理解如何运用上述布局技术。CHM是Microsoft编写的帮助文件格式,包含HTML页面和索引,便于查阅和学习。 通过学习这些实例,你可以...

    HTML+CSS作业静态页面源码

    同时,这也是一种实践,通过查看和修改别人的代码,可以加深对这两门技术的理解。 总的来说,这个“HTML+CSS作业静态页面源码”提供了一个学习和探索的机会,对于初学者来说,可以通过它了解网页开发的基本流程,...

    HTML CSS JAVASCRIPT标准教程 实例版_0

    这个"HTML CSS JAVASCRIPT标准教程 实例版_0"很可能包含了这三个主题的详细讲解和实例练习,旨在帮助初学者或进阶者深入理解这三种语言的基础及高级用法。 首先,HTML(HyperText Markup Language)是网页内容的...

    基于Echarts和TailwindCSS的数据大屏可视化设计源码

    本设计源码提供了一个基于Echarts和TailwindCSS的数据大屏可视化系统。项目包含31个文件,主要使用Vue、JavaScript、CSS和HTML编程语言。文件类型包括14个Vue组件文件、7个JavaScript脚本文件、4个JSON配置文件、1个...

    【Web网页设计制作-毕业设计期末大作业】HTML、CSS、JavaScript前端网页项目源码H20.zip

    【Web网页设计制作-毕业设计期末大作业】HTML、CSS、JavaScript前端网页项目源码【Web网页设计制作-毕业设计期末大作业】HTML、CSS、JavaScript前端网页项目源码【Web网页设计制作-毕业设计期末大作业】HTML、CSS、...

    html+css+js 学生网页设计作业源码

    html+css+js 学生网页设计作业源码html+css+js 学生网页设计作业源码html+css+js 学生网页设计作业源码html+css+js 学生网页设计作业源码html+css+js 学生网页设计作业源码html+css+js 学生网页设计作业源码...

Global site tag (gtag.js) - Google Analytics