首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设计一个导航条,如何使用css增加悬停字段的大小?

设计一个导航条,如何使用css增加悬停字段的大小?
EN

Stack Overflow用户
提问于 2022-05-28 15:31:09
回答 3查看 64关注 0票数 3

我的头看起来如下:

如果我悬停在上面,它会稍微增加,这样:

在CSS中需要更改哪些属性才能使其在悬停状态下获得整个蓝色条的高度?我尝试使用width,因为我使用的是border-box,我认为蓝色条形图的大小不会改变,但它改变了。

代码语言:javascript
复制
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

body {
  background-image: url(background.jpg);
  background-size: cover;
  background-position: center;
  font-family: sans-serif;
}

.menu-bar {
  background: rgb(3, 50, 112);
  text-align: center;
}

.menu-bar ul {
  display: inline-flex;
  list-style: none;
  color: #fff;
}

.menu-bar ul li {
  width: 120px;
  margin: 15px;
  padding: 0px;
}

.menu-bar ul li a {
  text-decoration: none;
  color: white;
}

.active,
.menu-bar ul li:hover {
  background-color: #2bab0b;
  border-radius: 3px;
}
代码语言:javascript
复制
<link rel="stylesheet1" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.1.1/css/fontawesome.min.css">


<div class="menu-bar">
  <ul>
    <li class="active"><a href="#">Home</a></li>
    <li><a href="#">About us</a></li>
    <li><a href="#">Services</a></li>
    <li><a href="#">Investors</a></li>
    <li><a href="#">Pricing</a></li>
    <li><a href="#">Training </a></li>
    <li><a href="#">Contact</a></li>
  </ul>

</div>

编辑:

正如评论中所建议的。我在悬浮类中包括了height:30px;,因为将它包含在menu-bar类中似乎不起作用。然而,似乎正在发生的是,绿色高光的大小在增加,而蓝色条的大小则在增加:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-05-28 18:23:38

这就是你想要的效果吗?请参阅下面的代码片段。我从li中删除了这个空白,并在a上添加了一个空白。

代码语言:javascript
复制
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

body {
  background-image: url(background.jpg);
  background-size: cover;
  background-position: center;
  font-family: sans-serif;
}

.menu-bar {
  background: rgb(3, 50, 112);
  text-align: center;
}
.menu-bar ul {
  display: inline-flex;
  list-style: none;
  color: #fff;
    
}

.menu-bar ul li {
  width: 120px;
}

.menu-bar ul li a {
  text-decoration: none;
  color: white;
  display:block;
  padding:15px;
 
}
.active,
.menu-bar ul li:hover {
  background-color: #2bab0b;
  border-radius: 3px;

}
代码语言:javascript
复制
<div class="menu-bar">
  <ul>
    <li class="active"><a href="#">Home</a></li>
    <li><a href="#">About us</a></li>
    <li><a href="#">Services</a></li>
    <li><a href="#">Investors</a></li>
    <li><a href="#">Pricing</a></li>
    <li><a href="#">Training </a></li>
    <li><a href="#">Contact</a></li>
  </ul>
</div>

票数 1
EN

Stack Overflow用户

发布于 2022-05-28 18:28:08

li中删除边距。

代码语言:javascript
复制
*
{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body
{
    background-image: url(background.jpg);
    background-size: cover;
    background-position : center;
    
    font-family: sans-serif;
}

.menu-bar
{
    background: rgb(3, 50, 112);
    text-align: center;
}


ul {
  display: inline-flex;
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

li {
  float: left;
  width: 120px;
  padding: 0px;    
}

li a {
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

li a:hover:not(.active) {
  background-color: #2bab0b;
  border-radius: 3px;  
}

.active {
  background-color: #2bab0b;
  border-radius: 3px;  
}
代码语言:javascript
复制
<html>
    <head> 
        <title> Title of page    </title>
        <link rel="stylesheet" href="style.css">
        <link rel="stylesheet1" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.1.1/css/fontawesome.min.css">
    </head>


    <body> 
        <div class="menu-bar">
        <ul>
            <li class="active"><a href="#">Home</a></li>
            <li><a href="#">About us</a></li>
            <li><a href="#">Services</a></li>
            <li><a href="#">Investors</a></li>
            <li><a href="#">Pricing</a></li>
            <li><a href="#">Training </a></li>
            <li><a href="#">Contact</a></li>
        </ul>

        </div>
    </body>
</html>

票数 1
EN

Stack Overflow用户

发布于 2022-05-28 19:32:18

这就是你要找的东西。我修改了您的代码并在hovering上添加了一些transition。请查看以下代码:

代码语言:javascript
复制
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

body {
  background-image: url(background.jpg);
  background-size: cover;
  background-position: center;
  font-family: sans-serif;
}

.menu-bar {
  background: rgb(3, 50, 112);
  text-align: center;
}

.menu-bar ul {
  display: flex;
  flex-direction: row;
  list-style: none;
  color: #fff;
}

.menu-bar ul li {
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: all 0.4s ease;
}

.menu-bar:hover li {
  padding: 14px 12px;
  transition: all 0.4s ease;
}

.menu-bar ul li a {
  text-decoration: none;
  color: white;
}

.active,
.menu-bar ul li:hover {
  background-color: #2bab0b;
  border-radius: 3px;
}
代码语言:javascript
复制
<link rel="stylesheet1" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.1.1/css/fontawesome.min.css">


<div class="menu-bar">
  <ul>
    <li class="active"><a href="#">Home</a></li>
    <li><a href="#">About us</a></li>
    <li><a href="#">Services</a></li>
    <li><a href="#">Investors</a></li>
    <li><a href="#">Pricing</a></li>
    <li><a href="#">Training </a></li>
    <li><a href="#">Contact</a></li>
  </ul>

</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72416946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档