前端

实例

要在网页上实现一个原生的下拉菜单,可以使用HTML和CSS。以下是一个简单的示例代码,展示了如何创建一个基本的下拉菜单:

梗概

  • HTML部分
    • 使用<nav>标签来包含整个菜单。
    • 使用<ul><li>标签来构建菜单和下拉菜单的结构。
    • class="dropdown"用于包含下拉菜单的项目
      • class="dropdown-menu"用于实际的下拉菜单
        • class="dropdown-item"用于下拉菜单的各项。
  • CSS部分
    • display: none;用于初始隐藏下拉菜单。
    • position: absolute;确保下拉菜单相对于包含它的菜单项定位。
    • z-index: 1;确保下拉菜单在其他内容之上。
    • display: block;在悬停.dropdown(当然包括内部的子标签,即下拉菜单)状态下显示下拉菜单。 通过这种方法,可以在不使用JavaScript的情况下创建一个原生的、基本的下拉菜单。如果需要更复杂的功能,例如点击触发下拉菜单或在移动设备上更好的体验,可以考虑使用JavaScript或CSS框架来增强功能。

HTML部分

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Dropdown Menu Example</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <nav>
        <ul class="menu">
            <li class="menu-item">Home</li>
            <li class="menu-item">About</li>
            <li class="menu-item dropdown">
                Services
                <ul class="dropdown-menu">
                    <li class="dropdown-item">Web Development</li>
                    <li class="dropdown-item">App Development</li>
                    <li class="dropdown-item">SEO</li>
                </ul>
            </li>
            <li class="menu-item">Contact</li>
        </ul>
    </nav>
</body>
</html>

CSS部分

/* styles.css */
body {
    font-family: Arial, sans-serif;
}
nav {
    background-color: #333;
    overflow: hidden;
}
.menu {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
.menu-item {
    float: left;
    display: inline;
    padding: 14px 16px;
    color: white;
    text-align: center;
    text-decoration: none;
}
.menu-item:hover {
    background-color: #111;
}
.dropdown {
    position: relative;
}
.dropdown-menu {
    display: none;
    position: absolute;
    background-color: #333;
    min-width: 160px;
    z-index: 1;
}
.dropdown-item {
    color: white;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    text-align: left;
}
.dropdown-item:hover {
    background-color: #575757;
}
.dropdown:hover .dropdown-menu {
    display: block;
}