html - 如何在悬停时制作触及导航底部的边框
问题描述
我正在尝试设计我的菜单,但我遇到了一个小问题。我希望悬停时的红色边框触摸导航的边框底部。所以它看起来像这样:
我怎样才能得到这个效果?我已经尝试过,但我下面的代码正在这样做:
nav {
display: flex;
align-items: center;
border-bottom: 1px solid #546478;
padding: 5px 20px;
}
.nav__container {
max-width: 93.75rem;
margin: 0 auto;
}
li {
list-style: none;
margin: 20px;
}
li:hover {
border-bottom: 1px solid red;
}
.hero__nav-items {
margin-left: auto;
}
.hero_nav-list {
display: flex;
}
<section class="hero">
<div class="hero__container">
<nav>
<div class="hero__nav-logo">
<img src="img/logo.png">
</div>
<div class="hero__nav-items">
<ul class="hero_nav-list">
<li>Menu</li>
<li>Menu</li>
<li>Menu</li>
</ul>
</div>
</nav>
</div>
</section>
解决方案
删除填充和边距hero_nav-list
并添加填充li
nav {
display: flex;
align-items: center;
border-bottom: 1px solid #546478;
padding: 0 20px;
}
.nav__container {
max-width: 93.75rem;
margin: 0 auto;
}
li {
list-style: none;
margin: 0 20px;
padding: 20px 0;
border-bottom: 1px solid transparent;
transition: all 0.4s;
}
li:hover {
border-bottom-color: red;
}
.hero__nav-items {
margin-left: auto;
}
.hero_nav-list {
display: flex;
padding: 0;
margin: 0;
}
<section class="hero">
<div class="hero__container">
<nav>
<div class="hero__nav-logo">
<img src="img/logo.png">
</div>
<div class="hero__nav-items">
<ul class="hero_nav-list">
<li>Menu</li>
<li>Menu</li>
<li>Menu</li>
</ul>
</div>
</nav>
</div>
</section>
推荐阅读
- mysql - 使用 docker build 从基础镜像构建 MySQL 镜像?
- kotlin - 是否可以在 Kotlin 中添加运算符重载扩展功能?
- javascript - 有没有办法使用类中的函数创建对象,例如:bullets[i] = new player1.bullet();?
- php - 如何从 Twig 中的变量加载图像?(使用 AsseticBundler)
- java - 尝试在 @After 方法中使用来自 @Test 方法的结果图像
- python - Pyinstaller - OSError:无法识别图像文件(枕头)
- python - 有没有办法查看字符串是否与字典键匹配以及是否打印其值?Python
- pandas - 使用熊猫在字典中的数据框中插入一行并删除行
- laravel - 如何在 FormRequest 中使用自定义验证?
- angular - 从后端检索日期时禁用日期不起作用| 角度日期选择器