用html css做一个带图片的二级导航栏
时间: 2024-02-29 11:52:27 浏览: 103
好的,以下是一个简单的使用 HTML 和 CSS 制作带图片的二级导航栏的示例代码:
HTML 代码:
```
<nav>
<ul>
<li>
<a href="#">首页</a>
</li>
<li>
<a href="#">产品</a>
<ul>
<li><a href="#">产品1</a></li>
<li><a href="#">产品2</a></li>
<li><a href="#">产品3</a></li>
</ul>
</li>
<li>
<a href="#">服务</a>
<ul>
<li><a href="#">服务1</a></li>
<li><a href="#">服务2</a></li>
</ul>
</li>
<li>
<a href="#">关于我们</a>
</li>
</ul>
</nav>
```
CSS 代码:
```
nav {
background-color: #333;
height: 50px;
text-align: center;
}
nav ul {
list-style: none;
padding: 0;
margin: 0;
display: inline-block;
position: relative;
top: 50%;
transform: translateY(-50%);
}
nav ul li {
display: inline-block;
position: relative;
}
nav ul li a {
display: block;
color: #fff;
font-size: 18px;
font-weight: bold;
padding: 15px;
text-decoration: none;
transition: all 0.3s ease-in-out;
}
nav ul li:hover > ul {
display: block;
}
nav ul li ul {
display: none;
position: absolute;
top: 100%;
left: 0;
background-color: #333;
min-width: 200px;
}
nav ul li ul li {
display: block;
}
nav ul li ul li a {
display: block;
color: #fff;
font-size: 16px;
font-weight: normal;
padding: 10px;
text-decoration: none;
transition: all 0.3s ease-in-out;
}
nav ul li ul li a:hover {
background-color: #fff;
color: #333;
}
nav ul li:nth-child(2) ul li a {
background-image: url("product.png");
background-repeat: no-repeat;
background-position: 10px center;
}
nav ul li:nth-child(3) ul li a {
background-image: url("service.png");
background-repeat: no-repeat;
background-position: 10px center;
}
```
解析:
- 在 HTML 中,二级导航栏使用嵌套的 `<ul>` 和 `<li>` 元素来创建。在主列表项中添加了一个子列表项,子列表项中包含了二级导航栏的链接。
- 使用 CSS 样式来设置导航栏的样式,包括背景颜色、高度、内边距、边距等。
- 使用 `position: relative` 属性为主列表项创建相对定位的容器,以便子列表项使用绝对定位进行定位。
- 使用 `position: absolute` 属性为子列表项创建绝对定位的容器,并使用 `top` 和 `left` 属性将其定位到父列表项的底部左侧。
- 使用 `:hover` 伪类来显示二级导航栏。在示例代码中,使用了 `nav ul li:hover > ul` 选择器,当鼠标悬停在主列表项上时,将显示子列表项。
- 使用 `background-image` 属性为链接添加图片。
需要注意的是,示例代码中的图片文件需要根据实际情况进行修改。
阅读全文