改变悬停效果的高度

时间:2017-09-25 11:57:55

标签: html css

我的悬停效果与导航栏并不完全对齐。实际上它们稍宽,我想解决这个问题。我尝试了一些东西,但没有成功。

这就是现在的样子:

Picture

代码:

template <typename ... Ts>
constexpr std::size_t max_sizeof ()
 {
   std::size_t  ret { 0 };

   return ( (ret = std::max(sizeof(Ts), ret)), ... ); 
 }
body {
    background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url('img/tape-measure.jpg');
    background-size: cover;
    height: 1000px;
    color: #000305;
    font-size: 100%;
    font-family: 'Coming Soon', 'Lucida Sans Unicode', cursive;
    line-height: 1.5;
}

a {
    text-decoration: none;
}

a:link, a:visited {
    color: #CF5C3F;
}

a:hover, a:active {
    background-color: #CF5C3F;
    color: #fff;
}

.mainHeader {
    width: 90%;
    margin: 0 auto;
}


.mainHeader img.Logo {
    position: absolute;
    right: 5%;
    top: 54%;
    width: 15%;
    height: auto;
}

.mainHeader img.Margrit {
    position: absolute;
    right: 5%;
    top: 15%;
    width: 15%;
    height: auto;
}


.mainHeader nav {
    background-color: #9cb34f;
    
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}

.mainHeader nav ul {
    list-style: none;
    overflow: auto;
    
}

.mainHeader nav ul li {
    text-align: center;
    float: left;
    width: 24%;
}





.mainHeader nav a:link, .mainHeader nav a:visited {
    color: #fff;
    background-color: #CF5C3F;
    
    
}

.mainHeader nav a:hover, mainHeader nav .active a:visited {
    background-color: #CF5C3F;
    text-shadow: none;
    
}


.mainHeader nav ul li a {
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    display: inline-block;
    height: 30px;
    padding: 10px 130px;
    
    
}


.mainHeader p {
    
}


.mainHeader p.inBearbeitung {
    position: absolute;
    top: 45%;
    left: 5%;
    font-size: 150%;
    color: #CF5C3F;
    font-size: 200%;
}



.mainFooter {
    position: absolute;
    bottom: 3%;
    width: 90%;
    left: 5%;
    right: 5%;
    height: 30px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    background-color: #9cb34f;
	display: table;

}


.mainFooter p {
    
    color: #fff;
    display: table-cell;
    vertical-align: middle;
    padding-left: 1%;
}

当前问题:

problem

文本不在导航栏的中间,并且间距是悬停效果的错误

3 个答案:

答案 0 :(得分:1)

你的[tag]需要显示内联块;而且加上height = 20px; (你的菜单高度)

.mainHeader nav ul li a {
  display: inline-block;
  height: 20px;
}

答案 1 :(得分:1)

导致此问题的悬停规则并不是height规则中nav的限制。从height删除nav设置,并将overflow: auto;添加到ul(将ul包裹在浮动的li周围

&#13;
&#13;
body {
  background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url('img/tape-measure.jpg');
  background-size: cover;
  height: 1000px;
  color: #000305;
  font-size: 100%;
  font-family: 'Coming Soon', 'Lucida Sans Unicode', cursive;
  line-height: 1.5;
}

a {
  text-decoration: none;
}

a:link,
a:visited {
  color: #CF5C3F;
}

a:hover,
a:active {
  background-color: #CF5C3F;
  color: #fff;
}

.mainHeader {
  width: 90%;
  margin: 0 auto;
}

.mainHeader img.Logo {
  position: absolute;
  right: 5%;
  top: 59%;
  width: 15%;
  height: auto;
}

.mainHeader img.Margrit {
  position: absolute;
  right: 5%;
  top: 15%;
  width: 15%;
  height: auto;
}

.mainHeader nav {
  background-color: #9cb34f;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
}

.mainHeader nav ul {
  list-style: none;
  overflow: auto;
}

.mainHeader nav ul li {
  text-align: center;
  display: inline-block;
  float: left;
  width: 24%;
}

.mainHeader nav a:link,
.mainHeader nav a:visited {
  color: #fff;
}

.mainHeader nav a:hover,
mainHeader nav .active a:visited {
  background-color: #CF5C3F;
  text-shadow: none;
}

.mainHeader nav ul li a {
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
}
&#13;
<!DOCTYPE html>
<html lang="de">

<head>
  <title>Couture Anni</title>
  <meta charset="utf-8">
  <link rel="stylesheet" type="text/css" href="resources/css/style.css">
  <link href="https://fonts.googleapis.com/css?family=Coming+Soon" rel="stylesheet">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>

<body>
  <header class="mainHeader">
    <img class="Logo" src="resources/img/Content_variation_800_e.png" alt="Logo">
    <img class="Margrit" src="resources/img/IMG_5347_small.jpg" alt="Annamaria Hofstetter">
    <nav>
      <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Portfolio</a></li>
        <li><a href="#">Kontakt</a></li>
      </ul>
    </nav>
    <p class="inBearbeitung"><strong>Diese Seite ist in<br>Bearbeitung.<br> Bis demnächst!</strong></p>
  </header>
  <footer class="mainFooter">
    <p>Copyright © <a href="#" title="couture-anni">couture-anni.ch</a></p>
  </footer>
</body>

</html>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

我认为您遇到了这个问题,因为<nav> <ul><li>等多个元素的高度小于<a>的高度,请尝试设置它到25px(链接的实际高度),这应该没问题。

然后它应该是这样的:https://jsfiddle.net/nodedL26/1/