You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为桌面及移动端导航栏MyLinks项添加兼容的下拉子菜单

实现方案

1. 调整HTML导航结构

仅修改MyLinks对应的<li>标签内容,其余原有代码完全保留即可,修改后的完整导航代码如下:

<div class="nav">
    <input type="checkbox" id="nav-check">
    <div class="nav-header">
    </div>
    <div class="nav-btn">
        <label for="nav-check">
            <span></span>
            <span></span>
            <span></span>
        </label>
    </div>
    <div class="nav-links" >
        <ul>
            <li class="has-dropdown">
                <a href="MyLinks.html">MyLinks</a>
                <!-- 新增子菜单 -->
                <ul class="submenu">
                    <li><a href="target.html">Link1</a></li>
                    <li><a href="target.html">Link2</a></li>
                    <li><a href="target.html">Link3</a></li>
                </ul>
            </li>
        </ul>
    </div>
</div>

2. 新增兼容双端的CSS样式

将以下代码添加到你现有CSS文件末尾,或HTML的<style>标签内:

/* 子菜单基础样式 */
.has-dropdown {
    position: relative;
}
.submenu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: none;
    background: #fff; /* 可根据你的导航背景色调整 */
    min-width: 120px;
}
.submenu li a {
    padding: 8px 12px;
    display: block;
    text-decoration: none;
    color: inherit;
}
.submenu li a:hover {
    background: #f0f0f0; /* 可根据你的交互色调整 */
}

/* 桌面端样式:hover触发显示 */
@media (min-width: 768px) { /* 768px为通用移动端/桌面端断点,可与你原有导航断点保持一致 */
    .submenu {
        position: absolute;
        top: 100%;
        left: 0;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    }
    .has-dropdown:hover .submenu {
        display: block;
    }
}

/* 移动端样式:点击触发显示 */
@media (max-width: 767px) {
    .submenu {
        padding-left: 15px;
    }
    .submenu.active {
        display: block;
    }
}

3. 新增JavaScript代码

放置位置建议:直接放在HTML文件的</body>闭合标签之前即可,不会影响原有页面加载速度:

// 子菜单切换逻辑
const dropdownTrigger = document.querySelector('.has-dropdown > a');
const submenu = document.querySelector('.submenu');

// 点击MyLinks切换子菜单
dropdownTrigger.addEventListener('click', function(e) {
    // 如果你需要点击MyLinks也能跳转原MyLinks.html页面,删除下一行即可
    e.preventDefault();
    submenu.classList.toggle('active');
});

// 点击页面其他区域关闭子菜单
document.addEventListener('click', function(e) {
    if (!e.target.closest('.has-dropdown')) {
        submenu.classList.remove('active');
    }
});

内容的提问来源于stack exchange,提问作者mat6767

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 05:18:03