2017-08-04 58 views
1

我试图从Youtube Video尝试添加一个悬停效果要我的导航栏

我尝试了一个小时增加一个悬停效果,改变了我的代码的两倍;在我的原代码是这样的:

* { 
 
    font-family: 'Montserrat', sans-serif; 
 
    color: white; 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 

 
.header { 
 
    width: 100%; 
 
    background-color: #2C2F33; 
 
    border-bottom: 5px #FF9F00 solid; 
 
    font-size: 15px; 
 
    display: flex; 
 
    align-items: center 
 
} 
 

 
#logo img { 
 
    float: left; 
 
    margin: 0; 
 
    padding: 20px; 
 
    width: 187.5px; 
 
    height: 63.75px; 
 
    background-color: #2C2F33; 
 
} 
 

 
.navbar { 
 
    display: flex; 
 
    justify-content: space-between; 
 
    margin-left: auto; 
 
} 
 

 
li { 
 
    display: inline; 
 
    padding: 0 22.5px 0 22.5px; 
 
} 
 

 
.navbar, 
 
li, 
 
a { 
 
    text-decoration: none; 
 
    list-style-type: none; 
 
    text-transform: uppercase; 
 
    background-color: #2C2F33; 
 
    position: relative; 
 
} 
 

 
.navbar, 
 
li, 
 
a:hover { 
 
    color: #FF9F00; 
 
    text-decoration: none; 
 
    list-style-type: none; 
 
} 
 

 
#userbalance { 
 
    background-color: #23272A; 
 
    padding: 10px; 
 
    border: 3px #FF9F00 solid; 
 
} 
 

 
#userbalance { 
 
    background-color: #23272A; 
 
} 
 

 
#balance, 
 
#dsh { 
 
    color: #FF9F00; 
 
} 
 

 
#dosh { 
 
    color: #FFFFFF; 
 
} 
 

 
.body { 
 
    background-color: #23272A; 
 
} 
 

 
footer { 
 
    background-color: #23272A; 
 
    position: absolute; 
 
    text-align: center; 
 
    clear: both; 
 
    width: 100%; 
 
    bottom: 18px; 
 
    font-size: 12.5px; 
 
}
<!DOCTYPE html> 
 

 
<html> 
 

 
    <head> 
 

 
    <meta charset="utf-8"> 
 
    <link href="./css/style.css" rel="stylesheet"> 
 
    <link href="https://fonts.googleapis.com/css?family=Montserrat:300" rel="stylesheet"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <meta name="author" content="Arszilla"> 
 

 
    <title>Website</title> 
 

 
    </head> 
 

 
    <body> 
 

 
    <div class="header"> 
 

 
     <div id="logo"> 
 

 
     <img src="./img/logo.png"></img> 
 

 
     </div> 
 

 
     <div class="navbar"> 
 

 
     <div id="leftnavbar"> 
 

 
      <ul> 
 

 
      <li id="userbalance"><span id="balance">Balance:</span> <span id="dosh">1.00000000</span> <span id="dsh">DSH</span></li> 
 

 
      </ul> 
 

 
     </div> 
 

 
     <div id="rightnavbar"> 
 

 
      <ul> 
 

 
      <li><a href="index.html">Button 1</a></li> 
 

 
      <li><a href="index.html">Button 2</a></li> 
 

 
      <li><a href="index.html">Button 3</a></li> 
 

 
      <li><a href="index.html">Button 4</a></li> 
 

 
      </ul> 
 

 
     </div> 
 

 
     </div> 
 

 
    </div> 
 

 
    </body> 
 

 
</html>

我删除了<div class="header">等,并使其所有<header>等(基本上摆脱的div)

我跟着视频,直到14这一分钟没问题,我明白他在做什么。之后,东西走下坡路。

我添加了这些给我的代码:

.navbar, 
li 
{ 
    position: absolute; 
    display: inline-block; 
} 

.navbar, 
li 
a::before 
{ 
    content: ''; 
    display: block; 
    height: 5px; 
    width: 100%; 
    background-color: red; 
    position: absolute; 
} 

,并得到了这个结果:

Result

我不知道我该如何解决这是因为我没那么有经验。有人会帮助我吗?我不知道我是否应该从头开始重新制作网站,并只使用<header><nav>等,而不是使用的div和标签“类似”类他们(class="header"等)

+0

:悬停{边框底部:2px的纯黑色;}'到CSS你有效果。 https://codepen.io/hansfranz/pen/MvbEpj在这里查看。 – hansTheFranz

+0

@hansTheFranz最好谢谢你!但是,我怎样才能让它像视频一样,在顶部,并且不会通过单词的长度。就像黑线翻过了'ul li a'的文字(看这里:http://imgur.com/a/xUEv) – Arszilla

+0

'li:hover {padding-top:8px; border-top:4px solid# ff0000;}'使它到顶部使用这个(或者检查我更新它的codepen)老实说,我不知道如何限制宽度,CSS中有'border-top-width'属性,但它的for边界的厚度。 – hansTheFranz

回答

0

使用这个CSS代码,并检查您的悬停效果

ul li { 
     padding: 9px 22.5px 11px 22.5px; 
     float:left; 
     border: 3px solid transparent 
     } 
ul li:hover { 
     border: 3px #FF9F00 solid; 
     } 
+0

它只是添加一个框。 http://imgur.com/a/Izzhi 我需要的就是视频。就像我问汉斯一样;观看前几分钟或14分钟后看看我的意思。我试图去解决这个问题。 – Arszilla

0

* { 
 
    font-family: 'Montserrat', sans-serif; 
 
    color: white; 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 

 
.header { 
 
    width: 100%; 
 
    background-color: #2C2F33; 
 
    border-bottom: 5px #FF9F00 solid; 
 
    font-size: 15px; 
 
    display: flex; 
 
    align-items: center 
 
} 
 

 
#logo img { 
 
    float: left; 
 
    margin: 0; 
 
    padding: 20px; 
 
    width: 187.5px; 
 
    height: 63.75px; 
 
    background-color: #2C2F33; 
 
} 
 

 
.navbar { 
 
    display: flex; 
 
    justify-content: space-between; 
 
    margin-left: auto; 
 
} 
 

 
.navbar, 
 
li, 
 
a { 
 
    text-decoration: none; 
 
    list-style-type: none; 
 
    text-transform: uppercase; 
 
    background-color: #2C2F33; 
 
    position: relative; 
 
} 
 
ul li { 
 
     padding: 9px 22.5px 11px 22.5px; 
 
     float:left; 
 
     border: 3px solid transparent 
 
     } 
 
ul li:hover { 
 
     border: 3px #FF9F00 solid; 
 
     } 
 

 
#userbalance { 
 
    background-color: #23272A; 
 
    padding: 10px; 
 
    border: 3px #FF9F00 solid; 
 
} 
 

 
#userbalance { 
 
    background-color: #23272A; 
 
} 
 

 
#balance, 
 
#dsh { 
 
    color: #FF9F00; 
 
} 
 

 
#dosh { 
 
    color: #FFFFFF; 
 
} 
 

 
.body { 
 
    background-color: #23272A; 
 
} 
 

 
footer { 
 
    background-color: #23272A; 
 
    position: absolute; 
 
    text-align: center; 
 
    clear: both; 
 
    width: 100%; 
 
    bottom: 18px; 
 
    font-size: 12.5px; 
 
}
<html> 
 

 
    <head> 
 

 
    <meta charset="utf-8"> 
 
    <link href="./css/style.css" rel="stylesheet"> 
 
    <link href="https://fonts.googleapis.com/css?family=Montserrat:300" rel="stylesheet"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <meta name="author" content="Arszilla"> 
 

 
    <title>Website</title> 
 

 
    </head> 
 

 
    <body> 
 

 
    <div class="header"> 
 

 
     <div id="logo"> 
 

 
     <img src="./img/logo.png"> 
 

 
     </div> 
 

 
     <div class="navbar"> 
 

 
     <div id="leftnavbar"> 
 

 
      <ul> 
 

 
      <li id="userbalance"><span id="balance">Balance:</span> <span id="dosh">1.00000000</span> <span id="dsh">DSH</span></li> 
 

 
      </ul> 
 

 
     </div> 
 

 
     <div id="rightnavbar"> 
 

 
      <ul> 
 

 
      <li><a href="index.html">Button 1</a></li> 
 

 
      <li><a href="index.html">Button 2</a></li> 
 

 
      <li><a href="index.html">Button 3</a></li> 
 

 
      <li><a href="index.html">Button 4</a></li> 
 

 
      </ul> 
 

 
     </div> 
 

 
     </div> 
 

 
    </div> 
 

 
    </body> 
 

 
</html>

当您添加`李
+0

你为什么发布? – hansTheFranz

+0

请看我告诉Mitul的消息。你几乎重拍了他的伴侣。谢谢你尝试! – Arszilla