关于css利用一张背景图制作导航菜单的实现思路

利用一张背景图片来实现菜单的悬停状态,没有什么不可思议完全可以办得到,仅这一张图片,我们实现一个横行css菜单。并设置它们的悬停效果,感兴趣的朋友可以参考下哈,希望可以帮助到你

今天介绍的这款简单非常简单,利用一张背景图片来实现菜单的悬停状态。我们看下面的图片:

关于css利用一张背景图制作导航菜单的实现思路
仅这一张图片,我们实现一个横行CSS菜单。并设置它们的悬停效果。我们该如何做呢?看下面的图片:
关于css利用一张背景图制作导航菜单的实现思路 
这是一个示意图。最底层是ul,这是一个容器,我们将列表项li全部置入其中。为了方便说明,示意图中仅画了一个li。实际此例中有六个li,全部向左浮动,实现横行排列。在li上面还有链接a标签。

我们首先整理XHTML代码:
Example Source Code


登录后复制财经商业管理领袖协会博客

我们着手写CSS前,先结合上面的示意图整理一下思路:

1、首先需要让ul居中,然后让nav成为ul的背景图片。这样就可以简化编码,不必给每一个li或a再定义不同的背景图片及其定位。
2、定义列表项li的宽度与高度,并向左浮动。实现列表项的横向排列,组成一个横向的菜单格局。
3、定义列表项内部的链接a元素为块元素。并给a:hover一个背景图片,但不给他任何定位信息。
4、根据nav1~nav6分别定义a:hover状态下,背景图片的定位。
5、利用padding移除链接a元素的文字。使得在CSS有效时文字不可见,若出现CSS加载失败或其它设备浏览时,链接同样有效。

立即学习“前端免费学习笔记(深入)”;

我们开始着手CSS编写:
Example Source Code

* {margin:0; padding:0; font-size:12; list-style-type:none; }#mini_nav {width:390px; height:38px; margin:50px auto; background:url(nav.png) no-repeat 0 0;}#mini_nav li {width:65px; height:38px; float:left;}#mini_nav li a {display:block; width:65px; height:38px;}#mini_nav li a:hover {background:url(nav.png) no-repeat;}

登录后复制

设置总体布局声明,外边距与内边距均为零,文字大小为12px,列表项预调标记为无(去掉列表项前面的小黑点)。
设置ID为mini_nav的UL宽度与高度,上下边距为50px,左右边距为auto,实现水平居中对齐。设计背景图片为nav.png,定位于:0 0。
设置UL中的LI的样式,宽度与高度,向左浮动。
设置LI中链接A元素的样式,首先将A元素转换为块元素,并设置其宽与高。
设置链接A元素的县停样式,定义背景图片nav.png,重复方式为不重复,不给出背景图片的定位信息。

此时我们可以看到的页面效果如下
关于css利用一张背景图制作导航菜单的实现思路 
但这时候还不能实现任何悬停交互效果,而且链接文字而位于我们的神觉范围内。我们继续编写CSS代码:
Example Source Code 

#mini_nav li.nav1 a:hover {background-position:0 -38px;}#mini_nav li.nav2 a:hover {background-position:-65px -38px;}#mini_nav li.nav3 a:hover {background-position:-130px -38px;}#mini_nav li.nav4 a:hover {background-position:-195px -38px;}#mini_nav li.nav5 a:hover {background-position:-260px -38px;}#mini_nav li.nav6 a:hover {background-position:-325px -38px;}

登录后复制

这一段很相类,我们给不同的链接(即nav1~nav6)设置了鼠标悬停时的定位坐标。

我们给前面的LI中链接A元素增加以下代码:

Example Source Code [www.52css.com] padding-top:40px; overflow:hidden;

登录后复制

上部的内边距为40px。溢出为隐藏。我们将链接文字增加上部的内边距,从而推到了下面,不可见的地方,为了使这样的方法成功,我们必须设置溢出为隐藏。

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

相关推荐:

CSS实现面包屑导航栏

以上就是关于css利用一张背景图制作导航菜单的实现思路的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2895985.html

(0)
上一篇 2025年3月10日 23:06:08
下一篇 2025年3月7日 22:26:34

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何解决css中float:right右对齐元素会换行不在同一条线上

    这篇文章主要介绍了关于如何解决css中float:right右对齐元素会换行不在同一条线上,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 使用float设置右对齐显示的时候,我们通常会遇到,右对齐的元素会换行,这样就会出现左…

    编程技术 2025年3月10日
    200
  • CSS中的em、px 、pt 、Percent之间的关系及换算

    这篇文章主要介绍了css font-size: em、 px 、pt 、percent之间的关系及换算,本篇整理的还是比较详细的,需要的朋友可以参考下 一、基础介绍 1、“Ems”: em,大小不固定 ,成为相对单位(body则相对浏览器的…

    2025年3月10日
    200
  • 关于css的background-attachment属性的使用

    这篇文章主要为大家介绍了在css中,使用背景附件属性background-attachment可以设置背景图像是随对象滚动还是固定不动,需要的朋友可以参考下 一、background-attachment属性 在CSS中,使用背景附件属性b…

    2025年3月10日
    200
  • 关于css属性的选择对动画性能的影响

    下面为大家带来一篇深入理解css属性的选择对动画性能的影响。内容挺不错的,现在分享给大家,也给大家做个参考。 现在手机的占比越来越高,各种酷炫页面层出不穷,这些特效都离不开css动画。说到css动画,主流的情况也就无非这两大类:位移和形变。…

    2025年3月10日 编程技术
    200
  • CSS实现radio和checkbox的 实现效果

    这篇文章主要介绍了纯css实现radio和checkbox实现效果示例的相关资料,内容挺不错的,现在分享给大家,也给大家做个参考。 radio-and-checkbox 纯CSS实现radio和checkbox实现效果 reset-radi…

    编程技术 2025年3月10日
    200
  • 关于CSS实现漂亮的下拉导航效果

    这篇文章主要为大家介绍了纯CSS实现漂亮的下拉导航效果代码,通过简单的css样式设置及针对鼠标事件的响应实现下拉菜单导航效果,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了纯CSS实现漂亮的下拉导航效果代码。分享给大家供大家参考。具…

    2025年3月10日
    200
  • CSS实现自适应宽度的菜单按钮效果

    这篇文章主要为大家介绍了css实现自适应宽度的菜单按钮效果代码,实例分析了css针对页面自适应宽度的相关设置技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了CSS实现自适应宽度的菜单按钮效果代码。分享给大家供大家参考。具体如…

    2025年3月10日
    200
  • 关于CSS Selector的学习

    这篇文章主要介绍了css 学习笔记之css selector的相关资料,需要的朋友可以参考下 CSS1 中定义的选择器 类型选择器 用于选择指定类型的元素(其实他就是 html 标签选择器),常见用法如下: body {    /*对 bo…

    编程技术 2025年3月10日
    200
  • 对于CSS浮动float和定位position的解析

    本文针对css浮动float、定位position进行学习理解,通过实例帮助大家掌握css浮动float、定位position技巧,感兴趣的小伙伴们可以参考一下 一 . 浮动float I . 定义及规则 float默认为none,对应标准…

    2025年3月10日 编程技术
    200
  • CSS的table-layout属性的用法

    今天给大家详细说一下table-layout属性的用法, tablelayout属性用来显示表格单元格、行、列的算法规则。本文通过实例代码给大家介绍了css的table-layout属性的用法,需要的朋友参考下吧 前言: 今天来和大家详细说…

    2025年3月10日
    200

发表回复

登录后才能评论