html - CSS - 如何制作带有子菜单的简单导航菜单?

标签 html css

我目前正在学习 HTML 和 CSS。我完成了导航菜单,但在主要选择下有子菜单。这是我的代码:

#navigation ul {
    font-family:Arial;
    list-style-type:none;
    margin:0;
    padding:0;
}
#navigation li {
    font-family:Arial;
    font-size:11px;
    display:inline;
    float:left;
    background-color:#FFF;
}
#navigation a {
    display:block;
    width:60px;
    background-color:#FFF;
}

这是我的 HTML(我正在半条命和 Portal 上制作一个网站来学习):

<div id="menus">
    <div id="navigation">
        <ul>
            <li><a href="#">Aperture Science</a></li>
            <ul>
                <li><a href="#">GLaDOS</a></li>
                <li><a href="#">Testing Chambers</a></li>
                <li><a href="#">The Player (Chell)</a></li>
            </ul>
        </ul>
        <ul>
            <li>Black Mesa</li>
            <ul>
                <li>The Combine</li>
                <li>The Resistance</li>
                <li>The Player (Gordon Freeman)</li>
            </ul>
        </ul>
</div>

我需要改变什么?

注意:是的,我还没有完成快速添加“a”标签...

最佳答案

你可以使用这段代码---

<div id="menus">
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">Home</a></li>
        <li><a href="#">Home</a></li>
        <li><a href="#">Home</a></li>
        <li><a href="#">Home</a>
            <ul class="submenu">
                <li><a href="#">Sub</a></li>
                <li><a href="#">Sub</a></li>
                <li><a href="#">Sub</a></li>
                <li><a href="#">Sub</a></li>
                <li><a href="#">Sub</a></li>

            </ul>
        </li>
        <li><a href="#">Home</a></li>
        <li><a href="#">Home</a></li>
    </ul>
</div>

CSS--

#menus ul{
    padding:0
}
#menus ul li{
    display:inline-block;
    margin-right:-2px;
    position:relative;
}
#menus ul li a{
    display:inline-block;
    padding:5px 10px;
    background:red;
    color:#FFF;
}
#menus ul ul{
    position:absolute;
    left:0;
    width:0px;
    transition:all .5s;
}
#menus  ul.submenu li{
    display:block;
    transform:scale(0, 1); 
    transition:all .5s;
}
#menus  ul.submenu li:nth-child(2){
    transition-delay:.05s;
}
#menus  ul.submenu li:nth-child(3){
    transition-delay:.1s;
}
#menus  ul.submenu li:nth-child(3){
    transition-delay:.15s;
}
#menus  ul.submenu li:nth-child(4){
    transition-delay:.2s;
}
#menus  ul.submenu li:nth-child(5){
    transition-delay:.25s;
}
#menus ul li:hover ul{
    display:block;
    width:auto;
}
#menus ul li:hover ul li{
    transform:scale(1, 1);
    transform-origin: right top;
}

实时查看 jsfiddle demo

关于html - CSS - 如何制作带有子菜单的简单导航菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28734100/

相关文章:

html - 嵌套 'justify-content: space-around' 不工作

javascript - 此功能突出显示选定的文本,我如何删除 javascript 单击突出显示的文本所做的跨度?

JavaScript Highcharts : how to have two xAxis categories?

css - 根据 CSS 中的域名更改 href 链接的颜色

javascript - 一个按钮转换成一个简单的电子邮件表单

html - 我可以使用 CSS 定位没有呈现内容的元素吗?

javascript - 如何使用文件系统访问 API 获取视频的 src?

html - 在移动设备上,如何垂直堆叠我的 Bootstrap 导航选项卡?

html - 悬停时弹出窗口不显示(工具提示)

css - 组织 CSS 代码的结构化方式