倾斜的鼠标翻转导航制作上的烦恼(2)
作者:小毅 来源:blueidea 发布时间:2007-06-20 16:39:00
如果你真的是这么想的那么问题就出来了:当在五个区块中的任一个区块中进行鼠标翻转时,上面的危险区的重复部位就会把左侧和是右侧的导航挡去一个角。所以正常的方式是:
只有这样在没有危险区的情况下才能作为最终的背景图片使用。当然还要注意的是背景并不是白色而是透明的,主要不是为了与网站的背景融合,关键是不要挡住在危险区的相邻的背景。我使用的是GIF图,GIF图有透明的时候边缘会有一点毛边。如果希望应对不同的色彩的网站背景,最好使用PNG或是把GIF图的边缘做成点像素。
对于这个背景图的思考完成之后我们就需要想想怎么制作这个导航了。先来分析一下这个鼠标翻转,原来做鼠标翻转是JS的事,现在可以通过CSS的:hover也可以实现这个翻转效果,代码少、结构清晰。所以这里这五个导航的翻转就是由A:hover来实现。关于a:hover的详细解解释可以查阅一下苏昱的《CSS2中文手册》。
首先我先写下了这个导航的HTML代码,由于是结构,要尽可能的简洁干净:
<ul id="nav">
<li id="a"><a href="" title="">HOME</a></li>
<li id="b"><a href="" title="">ABOUT</a></li>
<li id="c"><a href="" title="">PRODUCT</a></li>
<li id="d"><a href="" title="">SEVICE</a></li>
<li id="e"><a href="" title="">FEEDBACK</a></li>
</ul>
这里的#nav为什么要加一个position:relative; 呢?请查阅《解读absolute与relative》而 padding:0; margin:0; list-style:none;是为了去掉UL前的那个黑点,并且清除浏览器中UL的默认值。你也可以在CSS文件的开头用一句 *{padding:0; margin:0; list-style:none;}来清理一下标签在浏览器中的默认值。把他们放躺下之后我看了一下效果,不得了,所有的链接全都合到一起了。因为所有的LI都被定义成为绝对值大家都跑到原点对齐去了。我们需要把他们分开。所以接着写CSS把他们都分开:
#a {left:0px; top:0px; }
#b {left:79px; top:0px;}
#c {left:158px; top:0px;}
#d {left:237px; top:0px;}
#e {left:316px; top:0px;}
我们发现他们的TOP值都是0,为了让代码少一点我们把CSS再做一次修改:
#nav {padding:0; margin:0; width:410px; height:25px; line-height:25px; overflow:hidden; list-style:none; position:relative;}
#nav li {width:82px; height:25px; position:absolute; top:0px;}
#a {left:0px;}
#b {left:79px;}
#c {left:158px;}
#d {left:237px;}
#e {left:316px;}
都已经区分开,下面就是加背景图片了。这里要注意:图片要加在A标签上,如果不然可能就会出现错误。当然也可以放在UL背景或是li上,但是那样做法、图片就都不一样了,可能也不太好理解。这里只以放在A标签上。
#nav a {width:82px; height:25px; padding:30px 0 0 ; overflow:hidden; display:block; background:url(bg.gif) no-repeat;}
这里我们把A标签也定义为宽为82高为25的方块,这里要注意一定要把A定义为块:display:block; 因为只有这样才可以完全显示背景图片。与overflow:hidden;相结合还可以把A标签中的文字挤出显示区,当然他的父级标签也要有overflow:hidden;不然在IE下还是会出现溢出显示的现象。加上一个背景图,这时浏览一下我们发现五个区块只出现图片的第一区,五个块都是一样的。我们需要把五个块应有的显示内容表现出来。就需要再加一些指令:
#b a {background-position: -82px 0px;}
#c a {background-position: -164px 0px;}
#d a {background-position: -246px 0px;}
#e a {background-position: -328px 0px;}


猜你喜欢
- 在pandas中创建category类型数据的几种方法之详细攻略 T1、直接创建 category类型数据可知,在category
- 从控制器中获取URL的值有三种方式:1、使用Request.QueryString[]例如:string value = Request.Q
- Mybatis报错: org.apache.ibatis.exceptions.PersistenceException解决办法一、问题描述
- --创建一个表,此表作为子表 create table fk_t as select *from user_objects; delete
- 前言本文主要是积累一下在使用前端的watch开发过程中遇到的问题点和经验。一、watch是什么根据本人的理解,它就是一个 * ,就是说监听的
- import numpy as npa = np.array([[1.1,2.1,3.1,4.1],[5,6,7,8],[9,10,11,1
- matplotlib在widgets模块提供Cursor类用于支持十字光标的生成。另外官方还提供了自定义十字光标的实例。widgets模块C
- 这个问题是如何在一些场景下使用断言表达式,通常会有人误用它,所以我决定写一篇文章来说明何时使用断言,什么时候不用。为那些还不清楚它的人,Py
- 有如下的一堆mac地址,需要更改成一定格式,如mac='902B345FB021'改为mac='90-2B-34-5
- 本文实例讲述了Python实现拼接多张图片的方法。分享给大家供大家参考。具体分析如下: 这里所述计划实现如下操作: ①
- 解决方法如下: 在Firefox地址栏里输入 about:config 在配置列表中找到dom.allow_scripts_to_close
- 纵观各大编程语言在 2017 年的发展情况,我们会发现涌现出诸如 Go、Swift 这类后起之秀,而其中最为耀眼的当属 Python。之所以
- 可以压缩文件和目录。package mainimport ( "archive/zip" &qu
- 假设我们有一幅图像,图像中的文本被旋转了一个未知的角度。为了对文字进行角度的校正,我们需要完成如下几个步骤:1、检测出图中的文本范围2、计算
- 请问如何从ASP连接到Oracle Server?可用下面的代码进行连接: <%@ Lan
- PIL基本功能介绍from PIL import Imagefrom PIL import ImageEnhanceimg = Image.
- 下面先给大家介绍下Python3 执行系统命令并获取实时回显最近在改造一些打包的逻辑,原来在 Windows 下是基于批处理制作的,由于批处
- 前言pandas数据框针对高维数据,也有多层索引的办法去应对。多层数据一般长这个样子可以看到AB两大列,下面又有xy两小列。 行有abc三行
- Python中国象棋单机版鼠标点击操作;两天制作,较为粗糙,很多效果还未实现。# -*- coding: utf-8 -*-"&q
- 本文实例讲述了php中debug_backtrace、debug_print_backtrace和匿名函数用法。分享给大家供大家参考。具体分