【问题标题】:<a> tag not covering correct area of <div><a> 标签未覆盖 <div> 的正确区域
【发布时间】:2014-02-11 16:41:22
【问题描述】:

我有以下:

HTML:

    <div id="about" class="menu1"> <a href="#">About</a></div>
    <div id="aboutsub">
        <div id="team" class="menu2"> <a href="">Team</a></div>
        <div id="experience" class="menu2"> <a href="">Experience</a></div>
        <div id="difference" class="menu2"> <a href="">Difference</a></div>
    </div>

CSS:

.menu1
{
    position: absolute;
    background: red;
    width: 60px;
    height: 21px;
    padding: 15px 20px;
}

.menu1 a
{
    display: inline-block;
    position: absolute;
    color: white;
    text-decoration: none;
}

.menu2
{
    position: absolute;
    background: purple;
    width: 80px;
    height: 42px;
    left: 115px;
}

.menu2 a
{
    padding: 15px 20px;
    color: white;
    text-decoration: none;
}

在此处完全可见: http://jsfiddle.net/snk42/1/embedded/result/

我遇到的问题是,当我检查 #about 内的 &lt;a&gt; 元素时,我看到该区域从“about”一词的左上角开始,而不是填充整个 div。

如何在使整个 div 可点击的同时更轻松地将文本垂直居中?

另外,如果有人知道,我正在思考为什么 menu2 标签不可点击。

【问题讨论】:

标签: html css hyperlink


【解决方案1】:

你需要将anchor设为父div的宽高,我也推荐box-sizing这个元素

.menu1 a {
    display: block;
    position: absolute;
    color: white;
    text-decoration: none;
    width: 100%; height: 100%; 
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    box-sizing: border-box;  
    top: 0; left: 0;
}

.menu2 a {
    display: block;
    padding: 15px 20px;
    color: white;
    text-decoration: none;
    width: 100%; height: 100%; 
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;

}

http://jsfiddle.net/sjZe4/1/

【讨论】:

  • 在这个例子中,尝试点击左上角的about按钮。这不是一个可点击的区域。
  • 那是因为你有 A 是一个绝对定位的元素,我添加了 top: 0;左:0;您所要做的就是向元素添加填充以移动单词或使用垂直对齐/文本对齐来使 div 居中...但这取决于您来处理 CSS
  • 我忘了我在测试某些东西时向那个元素添加了绝对值。一直俯视它。删除它会很容易,因此将其标记为正确。
【解决方案2】:
<a><div></div></a>

【讨论】:

  • 这里假设每个人都可以使用 html5。我不是假设。
【解决方案3】:

只需增加menu2 的高度和宽度,并在顶部添加一些内边距。

演示:http://jsfiddle.net/snk42/4/embedded/result

【讨论】:

  • 这也有同样的问题。点击左上角的“关于”。此外,menu2 的文本现在与顶部对齐,而不是居中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-19
  • 1970-01-01
  • 2012-10-08
  • 1970-01-01
  • 1970-01-01
  • 2019-02-15
  • 2021-06-07
相关资源
最近更新 更多