书签 分享 收藏 举报 版权申诉 / 14

类型CSS制作导航栏.docx

  • 文档编号:10580845
  • 上传时间:2023-02-21
  • 格式:DOCX
  • 页数:14
  • 大小:52KB

在html文档同一目录下建立css.css文件,CSS代码如下:

#nav{

width:

960px;

height:

35px;

background:

#CCC;/*为了便于查看区域范围大小,故而加个背景色*/

margin:

0auto;/*水平居中*/

margin-top:

30px;/*顶部30px*/

}

为了页面在浏览器的兼容性,在CSS文件顶部加入标签重置代码,代码如下:

body,div,ul,li{padding:

0;margin:

0;}

怎么样,作出来了没有,效果是不是一个灰色条,位于页面的正中间。

盒子做好了,我们就要往里面放导航条中的内容了“CSS学习学前准备入门教程提高教程布局教程精彩应用”,如果我们把这内容(目前有6个),当成酒杯的话,如果直接放到盒子里面的话,肯定会乱,并且还会东倒西歪,一点顺序都没有,但是我们平时会用一个隔板将每个酒杯隔开,这样就是酒杯很有序的放入盒子,并且牢稳而且防震,方便使用!

现在我们把这个隔板叫做“有序列表”起个英文名字叫:

ul,里面的每个单元格我们也给起个英文名字叫“li”。

HTML代码如下:

  • CSS学习
  • 学前准备
  • 入门教程
  • 提高教程
  • 布局教程
  • 精彩应用

CSS代码:

#navul{

width:

960px;

height:

35px;

}

效果如下:

我们不希望我们的条目纵向排列,而是横向排列,怎么办呢?

因为

  • 标签也是块状元素,所以他也有块状元素的“霸道”,不允许其他元素和自己处于同一行,总共六个
  • ,所以他们六个就像台阶似的纵向排列起来了。

    为了横向排列我们使li的浮动Float属性:

    #navulli{float:

    left;}

    现在的效果还不是我们想要的,所有的“菜单项”都没有保持“间距”,后面的文字全部贴着前面的文字。

    好~!

    我们现在就将他们分开!

    设置

  • 标签的宽度为100像素,修改CSS如下:

    #navulli{

    width:

    100px;

    float:

    left;

    list-style:

    none;

    }

    为了便于观察我们暂且将

  • 标签的背景设置成红色(设置背景色,是页面布局中一个很重要的方法,便于查看块状元素区域范围)

    #navulli{

    width:

    100px;

    float:

    left;

    list-style:

    none;

    background:

    #900;

    }

    我们的

  • 标签的高度并没有和我们的盒子的高度一样,这就是为什么在布局页面的时候,经常会设置一下背景色,就是这个道理,不然的话,你是发下不了隐藏的问题,但是往往这些隐藏的问题就会导致页面浏览器的兼容性大大降低。

    现在暂不把

  • 标签的背景色去掉,当我们把它调成我们需要的效果的时候再去掉!

    继续,我们把li的高度设置成盒子的高度35像素:

    line-height:

    35px;设置文本属性设置水平居中:

    text-align:

    center;

    做到这里,大家有没有想过一个问题,因为我们的

  • 标签是设置了宽度为100像素,已经限定了它的宽度,如果文字多了它不会自动伸缩的自适应的,那这时候我们就需要去掉其宽度,这时候
  • 的宽度就会缩小至文字的宽度,也就是说,如果我们再添加一些文字,这个
  • 也会跟着变大,大家去掉宽度后试试,是不是这个样子,这样我们的导航条就比较灵活了,不会对“菜单条目”的大小有所顾忌了!

    虽然这个宽度自适应解决了,但是给文字的空间太少,视觉上感觉不舒服,那么我们就帮它扩大一下空间,但是又要保证宽度自适应,解决方法很容易,加上左右内边距就ok了,padding:

    010px;这里设置边距为10px,在

  • 标签加上下面代码,顺便把背景颜色去掉,此时css全部代码如下:

    body,div,ul,li{padding:

    0;margin:

    0;}

    #nav{

    width:

    960px;

    height:

    35px;

    background:

    #CCC;

    margin:

    0auto;/*水平居中*/

    margin-top:

    30px;/*顶部30px*/

    }

    #navul{

    width:

    960px;

    height:

    35px;

    }

    #navulli{

    height:

    35px;

    float:

    left;

    list-style:

    none;

    line-height:

    35px;

    text-align:

    center;

    padding:

    010px;

    }

    效果是不是这样:

    无论你的“菜单条目”是增大还是缩小,

  • 不但宽度会随之增大缩小,但是杯子和杯子之间的距离永远不变!

    怎么样有点意思吧~!

    5.3增加导航链接

    但是此时的导航条还没有链接,我们需要将上面的导航条做以下几个修改。

    1)给上面的导航加上链接;

    • CSS学习
    • 学前准备
    • 入门教程下载
    • 提高教程
    • 布局基础教程
    • 精彩应用

  • 2)链接文字大小修改为12px;

    a{font-size:

    12px;}

    3)并且规定链接样式,鼠标移上去和拿开的效果,使菜单具有动感。

    #navullia{color:

    #333;text-decoration:

    none;}

    #navullia:

    hover{color:

    #fff;text-decoration:

    underline;}

    效果是不是和下面一样,鼠标移上去变成白色的有下划线的链接,效果如下:

    到这里,基本上一个导航条就出来了。

    但可能还是没有动感,我们希望鼠标移上去后,链接的背景变成黑色的,首先把链接a加上一个背景,以方便看出来链接a的区域。

    #navullia{color:

    #333;text-decoration:

    none;background:

    #0FF;}

    现在我们要将a的高度设定为35px和盒子一样高度,这样我们在把刚才的亮蓝色背景就可以完全覆盖下面盒子的灰色了,于是我们插入下面红色的代码:

    #navullia{height:

    35px;color:

    #333;text-decoration:

    none;background:

    #0FF;}

    可是不管我们怎么刷新浏览器,高度都没有任何变化,这是为什么呢?

    原因就在于a属于内联元素,内联元素是无法设置宽度和高度的,width和height只是针对块状元素,说道这里,解决办法就出来了,只要我们把内联元素a转化成块状元素就可以了,我们用“display:

    block;”将内联元素转化成块状元素。

    大家先不要加这段代码,闭上眼想想界面会变成什么样子?

    #navullia{display:

    block;height:

    35px;color:

    #333;text-decoration:

    none;background:

    #0FF;}

    IE内核浏览器下的效果:

    Firefox下的效果:

    IE和FF显示效果居然大相径庭,IE中为什么所有链接纵向排列了呢?

    其实这个也很简单,IE认为a既然转化成块状元素,就拥有块状元素的特性---霸道,它是不允许其他元素和它同一行,再加上也没有对a的宽度进行设定,所以才导致IE中这么显示,不过FF中为什么不这样呢,和我们想象的一样,那是因为FireFox认为a即使为块状元素,也应该受到外面

  • 元素的影响,所以如此现实,究竟以谁标准,因为大家都认为FF是标准浏览器,所以大家可以以FF为标准,不过不用管谁标准不标准,那都是相对的,认为IE标准,FF就不标准了呢,我们不愿意在这个问题上浪费精力,我们更喜欢将精力用在思考如何提高页面的浏览器兼容性!

    看到这里我想大家应该知道如何让页面在IE6中显示的和FF中一样,很简单,只需要在a的CSS代码中加入“float:

    left;”。

    #navullia{display:

    block;height:

    35px;color:

    #333;text-decoration:

    none;background:

    #0FF;float:

    left;}

    但是这样你不觉着,每个连接的左边和右边是不是太挤了,紧贴着a区域的左侧和右侧,应该怎么做?

    还是很简单,只需要再加上一句话“padding:

    010px;”。

    #navullia{display:

    block;height:

    35px;color:

    #333;text-decoration:

    none;background:

    #0FF;float:

    left;padding:

    010px;}

    这样看看是不是不挤了吧,哈哈,看着舒服了吧,但是这离我们的想要的效果只有一步了,因为现在看到的连接效果是,鼠标移上去和拿开背景都是蓝色的,我们现在只需要将,a链接中的背景去掉,移到a:

    hover的CSS代码中,并且颜色变成“#000”就ok了。

    #navullia{display:

    block;height:

    35px;color:

    #333;text-decoration:

    none;float:

    left;padding:

    010px;}

    #navullia:

    hover{color:

    #fff;text-decoration:

    underline;background:

    #000;}

    效果好多了吧,这下是我们想要的效果了吧~。

    当然!

    大家还可以把背景不设置成黑色,用个图片也可以!

    现在大家明白,为什么一开始说这款导航栏可以演变出成千上万的不同特色的导航栏了吧,万变不离其宗!

    最终CSS代码如下:

    body,div,ul,li{padding:

    0;margin:

    0;}

    a{font-size:

    12px;}

    #nav{

    width:

    960px;

    height:

    35px;

    background:

    #CCC;

    margin:

    0auto;/*水平居中*/

    margin-top:

    30px;/*顶部30px*/

    }

    #navul{

    width:

    960px;

    height:

    35px;

    }

    #navulli{

    height:

    35px;

    float:

    left;

    list-style:

    none;

    line-height:

    35px;

    text-align:

    center;

    padding:

    010px;

    }

    #navullia{display:

    block;height:

    35px;color:

    #333;text-decoration:

    none;float:

    left;padding:

    010px;}

    #navullia:

    hover{color:

    #fff;text-decoration:

    underline;background:

    #000;}

    5.4动手试一试

    我们制作了一个基本的导航菜单栏,使用了基本CCS的一些属性。

    大家基本了解了其主要只用的方法,在此基础上请制作自己的导航栏,并应用到实验三中建立的网站,使你的网站更绚丽!

    提示:

    不会美工没关系,这里给大家推荐几个漂亮的导航栏。

    去看看,不要只会拷贝、粘贴,看看高手是如何制作菜单栏的?

    他们的CSS是如何编写的?

    使用了那些技术?

    6实验报告要求

    1)详细写出需要自己动手做的实验内容的步骤;

    2)填写实验报告,将5.4要求的内容全部htm文件、图片打包提交;

    3)提交文件名格式:

    班级号-学号-姓名-实验六.rar;

    7实验注意事项

    1)看清实验指导书后再动手;

    2)按实验指导书动手做实验的过程中要勤于思考;

    3)实验中充分利用搜索引擎学习相关知识和解决问题,同时要掌握如何利用高级搜索功能快速找到相关网页。

    8思考题

    看到那么多绚丽动感的菜单,还使用什么样的技术?

    9扩展阅读

    用div+css布局来做页面相比用table来做页面当然是好处多多,所以div+css布局也成为最爱欢迎和关注的焦点。

    然而div+css浏览器兼容问题一直困绕着许多从事DIV+CSS网页排版的美工人员,尤其是IE与火狐的兼容。

    用div+css布局的网页在IE下显示一切正常,,可是在火狐(FireFox)浏览器里打开,本来好好网页一下子就全乱了。

    让人怎么看?

    这一定会影响到你的网站的推广,不利于搜所引擎的搜索,所以解决div+css浏览器兼容的问题是完全必须的。

    9.1兼容性处理要点

    1)DOCTYPE影响CSS处理;

    2)FF:

    设置padding后,div会增加height和width,但IE不会,故需要用!

    important多设一个height和width;

    3)FF:

    支持!

    important,IE则忽略,可用!

    important为FF特别设置样式;

    4)div的垂直居中问题:

    vertical-align:

    middle;将行距增加到和整个DIV一样高line-height:

    200px;然后插入文字,就垂直居中了。

    缺点是要控制内容不要换行;

    5)在mozillafirefox和IE中的BOX模型解释不一致导致相差2px解决方法:

    div{margin:

    30px!

    important;margin:

    28px;}

    注意这两个margin的顺序一定不能写反,!

    important这个属性IE不能识别,但别的浏览器可以识别。

    所以在IE下其实解释成这样:

    div{maring:

    30px;margin:

    28px}

    重复定义的话按照最后一个来执行,所以不可以只写:

    margin:

    XXpx!

    important;

    9.2浏览器差异

    1)ul和ol列表缩进问题

    消除ul、ol等列表的缩进时,样式应写成:

    list-style:

    none;margin:

    0px;padding:

    0px;

    其中margin属性对IE有效,padding属性对FireFox有效。

    提示:

    经验证在IE中,设置margin:

    0px可以去除列表的上下左右缩进、空白以及列表编号或圆点,设置padding对样式没有影响;在Firefox中,设置margin:

    0px仅仅可以去除上下的空白,设置padding:

    0px后仅仅可以去掉左右缩进,还必须设置list-style:

    none才能去除列表编号或圆点。

    也就是说,在IE中仅仅设置margin:

    0px即可达到最终效果,而在Firefox中必须同时设置margin:

    0px、padding:

    0px以及list-style:

    none三项才能达到最终效果。

    2)CSS透明问题

    IE:

    filter:

    progid:

    DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。

    FF:

    opacity:

    0.6。

    提示:

    最好两个都写,并将opacity属性放在下面。

    4)cursor:

    handVScursor:

    pointer

    问题说明:

    firefox不支持hand,但ie支持pointer,两者都是手形指示。

    解决方法:

    统一使用pointer。

    5)字体大小定义不同

    对字体大小small的定义不同,Firefox中为13px,而IE中为16px,差别挺大。

    解决方法:

    使用指定的字体大小如14px。

    并列排列的多个元素(图片或者链接)的div和div之间,代码中的空格和回车在firefox中都会被忽略,而IE中却默认显示为空格(约3px)。

    9.3浏览器bug

    1)IE的双边距bug

    设置为float的div在ie下设置的margin会加倍。

    这是一个ie6都存在的bug。

    解决方案:

    在这个div里面加上display:

    inline;

    2)IE选择符空格BUG

    IE有个BUG,在处理伪类时,如果伪类的名称中带有连字符”-”,伪类名称后面就得跟一个空格,不然样式的定义就无效。

    而在FF中,加不加空格都可以正常处理。

    9.4期待CSS3

    关于CSS中的问题实在太多了,甚至同样的CSS定义在不同的页面标准中的显示效果都是不一样的。

    一个合乎发展的建议是,页面采用标准XHTML标准编写,较少使用table,CSS定义尽量依照标准DOM,同时兼顾IE、Firefox、Opera等主流浏览器。

    很多情况下,FF和Opera的CSS解释标准更贴近CSS标准,也更具有规范性。

    当然,至今为止CSS3还是依然蒙着神秘的面纱,迫不及待想一览其真面目的也不止你一个人,甚至是浏览器厂商都已经开始着手添加和完善很多新特性的支持了,尽管它们还没有真正的成文面世。

    Opera和Safari在对CSS3新特性的迎合上份属先驱,而新版本的FF也宣称将会跟随这个趋势。

    然后,一个很多人关心的问题:

    “IE呢?

    它会不会有什么动静?

    ”也许你已经猜到了,IE在这方面仍然是一如既往的落在了后头。

    现在的网民仍以使用IE者居多,当Firefox、Opera或Safari已经支持纯CSS圆角,而IE却仍然厚着脸皮不加理会保持无视的时候,我想你还是会无奈的在是否使用CSS3上再三斟酌。

  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    CSS 制作 导航
    提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:CSS制作导航栏.docx
    链接地址:https://www.bdocx.com/doc/10580845.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开