效果如下

代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <head> <style> #menu { /*对menu层设置*/
font-family:Arial; /*字体*/
font-size:16px; /*字号*/
width:140px; /*宽度*/
margin:; /*菜单项之间间隔0.5em,并水平居中*/
border:solid 1px #ccc; /*灰色细边框*/
} #menu a, #menu a:visited {
text-decoration:none; /*文字无下划线*/
text-align:center; /*文字水平居中对齐*/
color:#c00; /*红色文字*/
display:block; /*设置为块级元素*/
padding:4px; /*内边距*/
background-color:#fff; /*背景色*/
border:solid 1px #fff; /*与背景色相同边框,防止跳动*/
position:relative; /*使用相对定位,只有a使用了relative,子元素的absolute才会有效*/
width:130px;
} #menu a span { /*先把说明的span隐藏*/
display:none;
}
#menu a:hover {
border-color:#c00; /*边框颜色红色*/
} #menu a:hover span {
display:block; /*设置为块级元素*/
position:absolute; /*使用绝对定位*/
height:; /*高度为0*/
width:; /*宽度为0*/
overflow:hidden; /*防止溢出*/
border:solid 8px #fff; /*设置默认的边框样式*/
top:4px; /*竖直方向的定位*/
} #menu a:hover span.left {
border-left-color:#c00;
left:8px;
} #menu a:hover span.right {
border-right-color:#c00;
right:8px;
} #menu a:hover span.intro {
font-size:12px;
display:block; /*span是inline元素,必须设置成block元素*/
position:absolute; /*绝对定位*/
left:150px;
top:0px;
padding:5px;
width:100px;
height:auto; /*高度设为auto很重要,保证内容能够完整的灵活的显示出来*/
background-color:#eee;
color:#;
border:1px dashed #;
} </style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>带说明信息的菜单</title></head> <body>
<div id="menu">
<a href="#">
<span class="left"></span>
Home
<span class="right"></span>
<span class="intro">这里说明Home菜单项</span>
</a>
<a href="#">
<span class="left"></span>
Contact Us
<span class="right"></span>
<span class="intro">这里说明Contact Us菜单项</span>
</a>
<a href="#">
<span class="left"></span>
Web Dev
<span class="right"></span>
<span class="intro">这里说明Web Dev菜单项</span>
</a>
<a href="#">
<span class="left"></span>
Web Design
<span class="right"></span>
<span class="intro">这里说明Web Design菜单项</span>
</a>
<a href="#">
<span class="left"></span>
Map
<span class="right"></span>
<span class="intro">这里说明Map菜单项</span>
</a>
</div>
</body>
</html>

css案例学习之通过relative与absolute实现带说明信息的菜单的更多相关文章

  1. css案例学习之relative与absolute

    代码 <!DOCTYPE html PUBliC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...

  2. css案例学习之table tr th td ul li实现日历

    效果 代码 <html> <head> <title>Calendar</title> <style> <!-- .month { b ...

  3. css案例学习之span边框实现的特殊效果

    bottom left bottom right top left top right 配合颜色来使用,实现一些神奇的效果 #menu a span{ height:; width:; /*borde ...

  4. css案例学习之盒子模型

    定义:每个盒子都有:边界.边框.填充.内容四个属性: 每个属性都包括四个部分:上.右.下.左:这四部分可同时设置,也可分别设置:里的抗震辅料厚度,而边框有大小和颜色之分,我们又可以理解为生活中所见盒子 ...

  5. css案例学习之继承关系

    代码 <html> <head> <title>继承关系</title> <style> body{ color:blue; /* 颜色 * ...

  6. 一张图看懂css的position里的relative和absolute的区别

    position有以下属性:static.inherit.fixed.absolute.relative前三个好理解好区分:static:是默认状态,没有定位,元素出现在正常的流中(忽略 top, b ...

  7. CSS 案例学习

    1.样式 display:inline-block;可改变a标签,合其可定义宽高 2.a:hover表示鼠标经过 3.background:url(110.png) bottom 表示:给链接一个图片 ...

  8. CSS的position属性:relative和absolute

    relative:是相对于自己来定位的,例如:#demo{position:relative;top:-50px;},这时#demo会在相对于它原来的位置上移50px.如果它之前的元素也为relati ...

  9. css案例学习之用thead、tbody、tfoot实现漂亮的table布局

    首先说说thead.tbody.tfoot <thead> <tbody> <tfoot> 无论前后顺序如何改变, <thead> 内的元素总是在表的最 ...

随机推荐

  1. SQL server 中 COUNT DISTINCT 函数

    目的:统计去重后表中所有项总和. 直观想法: SELECT COUNT(DISTINCT *) FROM [tablename] 结果是:语法错误. 事实上,我们可以一同使用 DISTINCT 和 C ...

  2. C++小知识之sprintf用法

    sprintf   字串格式化命令,主要功能是把格式化的数据写入某个字符串中.sprintf 是个变参函数,使用时经常出问题,而且只要出问题通常就是能导致程序崩溃的内存访问错误,但好在由sprintf ...

  3. 恢复Linux下被误删除的文件(笔记)

    恢复Linux下被误删除的文件 [root@xuegod63 ~]# mount /dev/cdrom /mnt/ 分一个区:sda4  查找:extundelete 分一个区:sda4  [root ...

  4. Linux 终端訪问 FTP 及 上传下载 文件

    今天同事问我一个问题,在Linux 下訪问FTP,并将文件上传上去. 我之前一直是用WinSCP工具的. 先将文件从linux copy到windows下,然后在传到ftp上. google 一下. ...

  5. 介绍一款Android小游戏--交互式人机对战五子棋

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6589025 学习Android系统开发之余,编 ...

  6. Hacker(15)----嗅探原理

    嗅探指窃听网络中流经的数据包,这里的网络一般指用集线器或路由器组建的局域网.通过嗅探并解析数据包,便可知道数据包中的信息,一旦含有账户密码等隐私信息就可能造成个人资金损失. 嗅探数据包无法通过输入命令 ...

  7. Linq:切勿使用 Count() > 0 来判断集合非空

    原文(http://www.cnblogs.com/ldp615/archive/2011/12/11/2284154.html) Linq 出现之前,我们通常使用下面的方式来判断集合是否非空,即集合 ...

  8. javascript 切换动画

    function startMove(obj, json, fn) { clearInterval(obj.timer); obj.timer = setInterval(function() { v ...

  9. 关于 knockout js 学习中的疑问 (1)

    最近刚刚学习knockout中遇到如下问题: 1.在给viewModel定义一个方法时,有时后面跟 的this,有的时候没有 如下所示: this.fullName = ko.computed(fun ...

  10. Code Review中应该关注的点

    Magic number/string If statement, you should always use single line or brackets Provide default valu ...