【发布时间】:2020-07-18 17:36:47
【问题描述】:
我有一个 bootstrap 4 导航栏,我想为每个链接添加悬停效果。我添加了以下 css 来覆盖标准样式,这给出了我所追求的“有点”。当悬停在链接上时,边框底部会显示,但也会在悬停时将文本向上推。它也不在导航栏本身的底部。
当我使用 img 设置导航栏所在行的高度,然后将高度拆分 50% 时,我想知道这是否是我所反对的?
从图片中可以看出,我希望橙色边框位于导航栏的底部。到目前为止,当我将鼠标悬停在任何链接上时,作为一个意外的结果,整个文本向上移动了 5px 左右,然后在不悬停时下降。
这是制作导航栏的代码...
<div class="container-fluid p-0">
<div class="row no-gutters shadow">
<div class="col-sm-12 col-md-12 col-lg-1">
<img src="<?php echo URLROOT.'/public/img/msplogo.jpg'; ?>" class="header-logo mx-auto d-block"/>
</div>
<div class="col-sm-12 col-md-12 col-lg-11">
<div class="row no-gutters h-50">
<div class="d-none d-lg-block col-12">
<nav class="navbar navbar-expand-lg navbar-dark bg-msp-darkblue h-100">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
</ul>
</nav>
</div>
</div>
</div>
这就是 CSS...
/* Header Logo */
.header-logo {
width:100%;
max-width: 160px;
}
/* Small devices (landscape phones, less than 768px) */
@media (max-width: 768px) {
.header-logo {
width:100%;
max-width: 80px;
margin:10px;
}
}
/* Large viewport navbar */
.nav-link {
font-family: 'Open Sans', sans-serif;
font-size: 0.8vw;
font-weight: bolder;
text-transform: uppercase;
}
.nav-link:hover {
border-bottom: 5px solid #ff7240;
color:#fff!important;
}
谁能指出我正确的方向?
问候
马特
【问题讨论】:
-
当前显示边框但位置错误,所以不确定!重要;会工作,但会试一试
-
所以基本上你不希望你的文字在悬停时向上移动?
-
是的,并且边框底部位于导航栏的底部,目前它距底部约 10px - 将上传图片
-
你的 :hover 边框底部是 5px 高,所以它在悬停时为元素增加了 5px 的高度。尝试在您的 .nav-link {} 中设置一个 5px 高的透明边框底部。
-
太棒了,解决了文本移动问题,现在只需要将彩色边框排序到导航栏的底部
标签: html css twitter-bootstrap