为什么这个锚标记不占用其父div的可用空间的100%?

时间:2013-08-19 23:47:49

标签: html anchor css

我的理解让我相信在<a>中放置display:block; <div> CSS属性应该会导致整个div“成为”链接(IE随处可见)我将鼠标悬停在div中,它被认为是链接,因为链接占据了100%的高度和宽度。

在下面的示例中,这种行为似乎不起作用。如果您更愿意inspect element并使用实时代码自行调查,可以查看网站@:http://shayla.phasesolutions.ca/。请参阅页面顶部的导航栏,了解我正在描述的问题。

HTML:

    <header>
        <div class="logo"><a href="#"></a></div>
        <div class="nav-homepage"><a href="#"></a></div>
        <div class="nav-webdesign"><a href="#"></a></div>
        <div class="nav-graphicdesign"><a href="#"></a></div>
        <div class="nav-miscartwork"><a href="#"></a></div>
        <div class="nav-aboutme"><a href="#"></a></div>
        <div class="nav-contactme"><a href="#"></a></div>
    </header>

CSS:

header {
    .site-section;
    height: 125px;

    div {
        float: left;
        position: relative;
        top: 10px;

        a {
            display: block;
        }
    }

    div:first-child {
        position: relative;
        top: 0px;
    }
}
.nav-aboutme, .nav-contactme, .nav-graphicdesign, .nav-homepage, .nav-miscartwork, .nav-webdesign, .shadow, .homepage-nav-aboutme, .homepage-nav-contactme, .homepage-nav-graphicdesign, .homepage-nav-miscartwork, .homepage-nav-webdesign, .logo{
    background: url(/resource/img/sprites.png) no-repeat;
}

.nav-aboutme {
    background-position: -81px -361px ;
    width: 76px;
    height: 105px;
    margin-right: 49px;
}

.nav-contactme {
    background-position: 0 -360px ;
    width: 76px;
    height: 105px;
}

.nav-graphicdesign {
    background-position: -79px -246px ;
    width: 89px;
    height: 105px;
    margin-right: 49px;
}

.nav-homepage {
    background-position: 0 -245px ;
    width: 76px;
    height: 105px;
    margin-right: 49px;
}

.nav-miscartwork {
    background-position: -79px -132px ;
    width: 85px;
    height: 105px;
    margin-right: 49px;
}

.nav-webdesign {
    background-position: 0 -132px ;
    width: 76px;
    height: 105px;
    margin-right: 49px;
}

2 个答案:

答案 0 :(得分:4)

我相信它,因为块元素里面没有内容。如果在锚链接内添加一个字母,锚链接将变为div宽度的100%。

如果你添加宽度:100%和高度:100%,它将占用整个div。

答案 1 :(得分:2)

0的100%是0.您需要div拥有内容,然后:

a{
  display:block; height:100%; width:100%;
}