请教用CSS + DT、DD做可折叠菜单,二级菜单为什么会重叠在一起?_html/css_WEB-ITnose

WBOY
发布: 2016-06-24 12:21:43
原创
1658 人浏览过

css html float 可折叠菜单

我用CSS + DL、DD做二级可折叠菜单,但二级菜单总是重叠在一起~请教大家我的CSS里面还应该加什么东西才能让他不重叠在一起?

HTML代码:
<dl class="nav_dl">	<dt><a>测试测试1</a></dt>	<dd>		<ul>			<li>测试</li>			<li>测试</li>		</ul>	</dd>	<dt><a>测试测试1</a></dt>	<dd>		<ul>			<li>测试</li>			<li>测试</li>		</ul>	</dd>	<dt><a>测试测试1</a></dt>	<dd>		<ul>			<li>测试</li>			<li>测试</li>		</ul>	</dd></dl>
登录后复制


CSS在下面:
ul, li, dl, dt, dd{	list-style: none outside none;	margin: 0px;	padding: 0px;}.nav_dl{	position: relative;	float: left;	margin-left: 35px;}.nav_dl dt{	float: left;	width: 100px;	height: 45px;}.nav_dl dd{	position: absolute;	top: 45px;	width: 100px;	color: #606060;	border: 2px solid #CC0000;}
登录后复制


回复讨论(解决方案)

.nav_dl dd
{
position: absolute;
top: 45px;
width: 100px;
color: #606060;
border: 2px solid #CC0000;
}

你因为你用了绝对定位,top是一样的,所以重叠在一起了

.nav_dl dd
{
position: absolute;
top: 45px;
width: 100px;
color: #606060;
border: 2px solid #CC0000;
}

你因为你用了绝对定位,top是一样的,所以重叠在一起了

可是如果把绝对定位去掉,让dd元素回归文档流,并把top去掉,那就变成这样了:

引用 1 楼 bbjbepzz 的回复:.nav_dl dd
{
position: absolute;
top: 45px;
width: 100px;
color: #606060;
border: 2px solid #CC0000;
}

你因为你用了绝对定位,top是一样的,所以重叠在一起了

可是如……

我想要二级菜单都在一级下面,然后我再加程序让他在鼠标滑过的时候自动出来

你的结构不正确,所以CSS不好设置,正确的结构应该是

<ul class="nav_dl">	<dl>		<dt><a>测试测试1</a></dt>		<dd>			<ul>				<li>测试</li>				<li>测试</li>			</ul>		</dd>	</dl>	<dl>		<dt><a>测试测试1</a></dt>		<dd>			<ul>				<li>测试</li>				<li>测试</li>			</ul>		</dd>	</dl>	<dl>		<dt><a>测试测试1</a></dt>		<dd>			<ul>				<li>测试</li>				<li>测试</li>			</ul>		</dd>	</dl></ul>
登录后复制

这样你再设置CSS就会生效了,不会重叠了
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板