【问题标题】:How to activate the link when i hover over the full block not only just text?当我将鼠标悬停在整个块上时如何激活链接而不仅仅是文本?
【发布时间】:2015-10-04 14:44:53
【问题描述】:

当我将鼠标悬停在菜单上时,颜色会正确更改,但链接只会在我将鼠标悬停在文本上时激活,我希望它在我刚刚触摸块或更改颜色时激活。请帮助我任何帮助将不胜感激

    	a {
    	  text-decoration: none;
    	  color: #fff;
    	}
    	#navbar {
    	  background: #204d86;
    	  border-radius: 5px;
    	}
    	#navbar>ul {
    	  list-style: none;
    	  margin: 0;
    	  padding: 0;
    	  height: 40;
    	  margin-left: 300px;
    	}
    	#navbar>ul>li {
    	  float: left;
    	  padding: 10px 35px;
    	  border-radius: 5px;
    	}
    	#navbar>ul>li:hover {
    	  background: #5cadff;
    	  border-radius: 5px;
    	}
    	#navbar>ul>li>ul {
    	  display: none;
    	  padding: 0;
    	  position: absolute;
    	  background: #204d86;
    	  border-radius: 5px;
    	}
    	#navbar>ul>li>ul>li {
    	  padding: 0 20px;
    	  line-height: 40px;
    	  display: block;
    	  background: #5cadff;
    	}
    	#navbar>ul>li:hover>ul {
    	  display: block;
    	}
    	#navbar>ul>li>ul>li>ul {
    	  display: none;
    	  padding: 0 30px;
    	  position: absolute;
    	}
    	#navbar li:hover > a {
    	  color: #000;
    	}
    	#navbar>ul>li>ul>li:hover {
    	  background: #204d86;
    	}
    	#navbar:after {
    	  content: "";
    	  clear: both;
    	  display: table;
    	}
    	
<div id="navbar">
  <ul>
    <li><a class="active" href="../index/myindex.html">HOME</a>
    </li>

    <li><a href="#">STAYING HEALTHY</a>
      <ul>
        <li><a href="#">Diet & Weight loss</a>
        </li>
        <li><a href="#">Exercises</a>
        </li>
        <li><a href="#">Physical Activity</a>
        </li>
        <li><a href="#">Healthy Eating</a>
        </li>
      </ul>
    </li>

    <li><a href="#">DISEASES</a>
      <ul>
        <li><a href="#">Stock</a>
        </li>
        <li><a href="#">Osteoporosis</a>
        </li>
        <li><a href="#">Diabetes</a>
        </li>
        <li><a href="#">Heart Disease</a>
        </li>
      </ul>
    </li>

    <li><a href="#">MIND&MOOD </a>
      <ul>
        <li><a href="#">Depression</a>
        </li>
        <li><a href="#">Anxiety</a>
        </li>
        <li><a href="#">Addiction</a>
        </li>
        <li><a href="#">Stress</a>
        </li>
      </ul>
    </li>
  </ul>
</div>

【问题讨论】:

  • 但如果我删除了 display:block 那么我可能无法得到我想要的外观
  • 是的,它正在工作,但不是在角落里。

标签: html css


【解决方案1】:
a {
    text-decoration:none;
    color:#fff;
    display: block;
}

然后,将您在li 上的任何填充移动到链接本身。根据需要进行调整。

body {
  background: #000;
}
a {
  text-decoration: none;
  color: #fff;
  display: block;
}
#navbar {
  background: #204d86;
  border-radius: 5px;
}
#navbar>ul {
  list-style: none;
  margin: 0;
  padding: 0;
  height: 40px;
}
#navbar>ul>li {
  float: left;
  border-radius: 5px;
}
#navbar>ul>li>a {
  padding: 10px 35px;
}
#navbar>ul>li:hover {
  background: #5cadff;
  border-radius: 5px;
}
#navbar>ul>li>ul {
  display: none;
  padding: 0;
  position: absolute;
  background: #204d86;
  border-radius: 5px;
}
#navbar>ul>li>ul>li {
  line-height: 40px;
  display: block;
  background: #5cadff;
}
#navbar>ul>li>ul>li>a {
  padding: 0 20px;
}
#navbar>ul>li:hover>ul {
  display: block;
}
#navbar>ul>li>ul>li>ul {
  display: none;
  padding: 0 30px;
  position: absolute;
}
#navbar li:hover > a {
  color: #000;
}
#navbar>ul>li>ul>li:hover {
  background: #204d86;
}
<div id="navbar">
  <ul>
    <li><a class="active" href="../index/myindex.html">HOME</a>

    </li>
    <li><a href="#">STAYING HEALTHY</a>

      <ul>
        <li><a href="#">Diet & Weight loss</a>
        </li>
        <li><a href="#">Exercises</a>
        </li>
        <li><a href="#">Physical Activity</a>
        </li>
        <li><a href="#">Healthy Eating</a>
        </li>
      </ul>
    </li>
    <li><a href="#">DISEASES</a>

      <ul>
        <li><a href="#">Stock</a>
        </li>
        <li><a href="#">Osteoporosis</a>
        </li>
        <li><a href="#">Diabetes</a>
        </li>
        <li><a href="#">Heart Disease</a>
        </li>
      </ul>
    </li>

  </ul>
</div>

您还应该验证 CSS,因为我发现了几个错误。

【讨论】:

  • 我修复了一些,但你能告诉我如何验证其他的吗?
  • 在你的回答中。我运行了代码 sn-p 但它在角落里不起作用
  • 我的意思是当我将鼠标悬停在块上时,只需将光标放在角落,颜色就会改变,但链接没有激活
  • 是的,我做到了,但是它们之间的空间被弄乱了
【解决方案2】:

你必须在你的 a-tag 样式中设置它:

  • 显示:块
  • 宽度:100%
  • 身高:100%

li的内边距应该是0 px,
看看here

【讨论】:

  • 你在哪个浏览器中测试它?
猜你喜欢
  • 2013-01-12
  • 1970-01-01
  • 2016-04-02
  • 2010-12-12
  • 1970-01-01
  • 2017-05-09
  • 2016-05-17
  • 1970-01-01
  • 2014-10-29
相关资源
最近更新 更多