2014-03-28 82 views
2

我要实现这一点: enter image description here悬停背景无法正确显示?

这是我实现的:LINK

当你将鼠标悬停在导航链接,白底蓝边的底部应该出现。它并不显得正确。为什么会发生?

标记:

<header> 
    <div> 
     <h1>CertsPlan</h1> 
     <section> 
      <ul> 
       <li><a href="javascript:void(0)">+ All Vendors</a></li> 
       <li> 
        <article id="header-cart"> 
         <img src="img/cart-icon.png" alt="Cart Icon"> 000 
        </article> 
       </li> 
       <li> 
        <article id="header-search"> 
          <form action="#"> 
           <input type="text" name="search" value="Exam Code"> 
          </form> 
         </article> 
       </li> 
       <li><a href="javascript:void(0)">Sign In/Register</a></li> 
      </ul> 
     </section> 
     <nav> 
      <ul> 
       <li><a href="index.html"><img src="img/home.png" alt="Home Icon"></a></li> 
       <li><a href="javascript:void(0)">Bundle</a></li> 
       <li><a href="javascript:void(0)">Faqs</a></li> 
       <li><a href="javascript:void(0)">Contact Us</a></li> 
      </ul> 
     </nav> 
    </div> 
</header> 

CSS:

/* Global Styles */ 
body { 
    border-top: 2px solid #ffffff; 
    background: #ffffff; 
    font-family: 'Arial', sans-serif; 
    color: #57616a; 
} 

p { 
    margin: 5px 0; 
    line-height: 25px; 
} 

strong { 
    font-weight: bold; 
} 

/* Section Styles */ 

/* Header */ 
header { 
    width:auto; 
    margin: 2 auto 0 auto; 
    background-color: #f7f7f7; 
    border-bottom: solid 5px #dedede; 
} 

header div { 
    width:auto; 
    max-width:1040px; 
    margin: auto; 
    overflow: hidden; 
} 

header h1 { 
    font-size: 30px; 
    font-weight: 400; 
    color: #2a323a; 
    font-family: 'PT Sans', sans-serif; 
    vertical-align: middle; 
    margin-top: 30px; 
    margin-bottom: 25px; 
    float:left; 
} 


/* Navigation */ 
nav { 
    float:right; 
    margin:none; 
} 

header ul { 
    list-style:none; 
    margin: 0; 
    overflow: hidden; 
} 

nav ul li { 
    display: block; 
    float: left; 
    margin-top: 38px; 
    margin-bottom: 35px; 
} 

nav ul li a { 
    font-family: 'PT Sans', sans-serif; 
    text-transform: uppercase; 
    font-size: 14px; 
    font-weight: 400; 
    color: #2a323a; 
    padding: 38px 20px 35px 20px; 
    text-decoration:none; 
} 

nav ul li a:hover { 
    background-color: #ffffff; 
    border-bottom: solid 5px #00acdd; 
} 

ul li a:active { 
    background-color: #ffffff; 
    border-bottom: solid 5px #00acdd !important; 
} 

/* Header top right area */ 

header section { 
    float:right; 
} 

header section li { 
    display:block; 
    float:right; 
    margin: 37px 0px 28px 7px; 
} 

header section a { 
    padding: 10px; 
    background: #31bbe2; 
    font-family: 'PT Sans', sans-serif; 
    font-size: 12px; 
    font-weight: 400; 
    color: #ffffff; 
    text-decoration:none; 
    border-radius: 5px; 
} 

回答

1

您在两个父元素有overflow: hidden,隐藏边界之间的一切:(蓝色图片)
enter image description here
你蓝色的边框上a标签超出了父母的边界。

这里的解决方案:

  1. 应该从header div删除overflow: hidden,并添加min-height: 89px
  2. 也从header ul删除overflow: hidden
  3. in nav ul li apadding更改为:38px 20px 33px

这就是全部。

编辑:

如果你想,即使你调整浏览器比nav之后添加div它的工作就像这样:

<nav> 
    [...] 
</nav> 
<div class="clear"></div> 

风格的为clear DIV:

.clear { 
    clear: both; 
    display: table; 
} 
+0

下面是一个工作示例:[Code-Pen](http://codepen.io/anon/pen/GdpAs/)。 注意:如果浏览器调整大小,这不起作用。 –

+0

完美工作。谢谢!我已经更新了我的链接的结果。 –

+1

@ReCaptcha:你说得对!我已经更新了我的答案。 –

0

只要改变你的CSS类

nav ul li a 
{ 
    font-family: 'PT Sans', sans-serif; 
    text-transform: uppercase; 
    font-size: 14px; 
    font-weight: 400; 
    color: #2a323a; 
    padding: 38px 20px 30px 20px; // This is where you are wrong 
    text-decoration: none; 
    height: 93px; 
} 

这是因为你已经在底部设置了太多的填充它不允许边界出现

它将工作

+1

蓝色边框现在显示,但不同步。我已更新了我的链接,请检查。 –

0
<style> 
    /* Global Styles */ 
body 
{ 
    border-top: 2px solid #ffffff; 
    background: #ffffff; 
    font-family: 'Arial', sans-serif; 
    color: #57616a;} 

p 
{ 
    margin: 5px 0; 
    line-height: 25px;} 

strong 
{ 
    font-weight: bold;} 

/* Section Styles */ 

/* Header */ 
header 
{ 
    width:auto; 
    margin: 2 auto 0 auto; 
    background-color: #f7f7f7; 
    border-bottom: solid 5px #dedede; 
    height: 93px; 
} 

header div { 
    width:auto; 
    max-width:60%; 
    margin: auto; 
    overflow: hidden; 
} 

header h1 
{ 
    font-size: 30px; 
    font-weight: 400; 
    color: #2a323a; 
    font-family: 'PT Sans', sans-serif; 
    vertical-align: middle; 
    margin-top: 30px; 
    margin-bottom: 25px; 
    float:left; 
} 


/* Navigation */ 
nav { 
    float:right; 
    margin:none; 
} 

header ul 
{ 
list-style:none; 
margin: 0; 
overflow: hidden; 
} 

nav ul li { 
    display: block; 
    float: left; 
    margin-top: 38px; 
    margin-bottom: 35px; 
} 

nav ul li a { 
    font-family: 'PT Sans', sans-serif; 
    text-transform: uppercase; 
    font-size: 14px; 
    font-weight: 400; 
    color: #2a323a; 
    padding: 38px 20px 35px 20px; 
    text-decoration:none; 
} 

nav ul li a:hover { 
    background-color: #ffffff; 
    border-bottom: solid 8px #00acdd; 
} 

ul li a:active {background-color: #ffffff; border-bottom: solid 5px #00acdd !important;} 

/* Header top right area */ 

header section { 
    float:right; 
} 

header section li { 
    display:block; 
    float:left; 
    margin: 37px 0px 28px 7px; 
} 

header section a { 
    padding: 10px; 
    background: #31bbe2; 
    font-family: 'PT Sans', sans-serif; 
    font-size: 12px; 
    font-weight: 400; 
    color: #ffffff; 
    text-decoration:none; 
    border-radius: 5px; 
} 
</style> 
<header> 
    <div> 
     <h1>CertsPlan</h1> 
     <section> 
      <ul> 
       <li><a href="javascript:void(0)">+ All Vendors</a></li> 

       <li> 
        <article id="header-search"> 
          <form action="#"> 
           <input type="text" name="search" value="Exam Code"> 
          </form> 
         </article> 
       </li> 
       <li> 
        <article id="header-cart"> 
         <img src="img/cart-icon.png" alt="Cart Icon"> 000 
        </article> 
       </li> 
       <li><a href="javascript:void(0)">Sign In/Register</a></li> 
      </ul> 
     </section> 
     <nav> 
      <ul> 
       <li><a href="index.html"><img src="img/home.png" alt="Home Icon"></a></li> 
       <li><a href="javascript:void(0)">Bundle</a></li> 
       <li><a href="javascript:void(0)">Faqs</a></li> 
       <li><a href="javascript:void(0)">Contact Us</a></li> 
      </ul> 
     </nav> 
    </div> 
</header> 
+0

你能指出哪一部分被编辑了吗? –

+0

HTML我改变了李订单 – Puvanarajan

+0

header div {width = 0; width:auto; 最大宽度:60%; margin:auto; 溢出:隐藏; } – Puvanarajan