我正在使用CSS3全宽下拉菜单,但有些细节我无法正确理解。 :-(如何在菜单和下拉菜单之间添加空格
我怎么努力实现这一目标是:
你可以看到有是主菜单,子菜单之间的一个小20px的空间在这个例子中,我用一顶边距:但是这并不奏效,因为你会用光标离开悬停区域,并且子菜单会消失。只有子菜单的ul容器“接触”悬停区域时,下拉菜单才有效
它尝试过使用ul:在窍门之前在子菜单ul之前添加一个空白块,但不知何故,doe不工作。 :(它没有像块应该做的空间,它只是增加内容的权利在ul元素。
我在这里忽略或做错了什么?:(为什么ul ul:在不工作后?有没有更好的方法来添加空的子菜单上面的“hoverspace”一点点
你的帮助将是非常有益的:-)
现场演示:。 http://jsfiddle.net/JeroenGerth/hDmxd/
的HTML:
<nav>
<ul id="menu">
<li><a href="#">Home</a></li>
<li><a href="#">Tutorials ></a>
<ul class="submenu">
<li><a href="#">Photoshop 1</a></li>
<li><a href="#">Dreamweaver 2</a></li>
<li><a href="#">Photoshop 3</a></li>
<li><a href="#">InDesign 4</a></li>
<li><a href="#">Bridge 5</a></li>
<li><a href="#">Lightroom 6</a></li>
<li><a href="#">After Effects 7</a></li>
<li><a href="#">Premiere 8</a></li>
<li><a href="#">Motion 9</a></li>
<li><a href="#">Aperture 10</a></li>
<li><a href="#">iPhoto 11</a></li>
</ul>
</li>
<li><a href="#">Downloads ></a>
<ul class="submenu">
<li><a href="#">Wallpapers 1</a></li>
<li><a href="#">PSD files 2</a></li>
<li><a href="#">Video's 3</a></li>
<li><a href="#">Soundeffects 4</a></li>
<li><a href="#">Icons 5</a></li>
<li><a href="#">Maps 6</a></li>
</ul>
</li>
<li><a href="#">About me</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
的CSS:
body {background-color: #E9E9E9;}
nav ul { /*Main menu container*/
margin: 0px;
padding: 0px 20px;
background-color:#444;
color: #fff;
list-style: none;
position:relative;
display:inline-table;
border-radius: 5px;
}
nav ul:after {
content: ""; clear: both; display: block;
}
nav ul li { /*Main menu-items*/ float:left;}
nav ul li a {
padding: 10px 20px;
color: #fff;
font-family: Calibri, Verdana, sans-serif;
text-decoration:none;
display: block;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
nav ul li a:hover {color: #66D1D3;}
nav ul ul { /*Submenu container*/
display:block;
border-radius:0px;
padding: 0px;
position: absolute;
background-color:#fff;
color: #000;
visibility:hidden;
opacity:0;
transition:all ease-in-out 0.4s;
left: 0px;
top: 100%;
width: 100%;
columns:100px 3;
-webkit-columns:100px 3; /* Safari and Chrome */
-moz-columns:100px 3; /* Firefox */
}
nav ul li:hover > ul { /*Show submenu*/
visibility:visible;
opacity:1;
transition-delay:0s;
}
nav ul ul:before { /*Why doesn't this work :(*/
content: "";
display: block;
height: 20px;
position: absolute;
width: 100%;}
nav ul ul li { /*Submenu items*/
float: none;
border-bottom: 1px #CCCCCC dotted;
position:relative;
}
nav ul ul li a {
color: #000;
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
nav ul ul li a:hover {
color: #66D1D3;
background-color: #444;
}
我试过了,但子菜单开始时,我的菜单和子菜单之间徘徊移动。 这是否也适用于不支持CSS3转换的浏览器? –