CSS:锚点不接受高度

时间:2012-04-27 21:07:16

标签: html css css3 hyperlink html-lists

我一直把头发拉了一个多小时,而我却无法理解为什么它不起作用。

HTML:

<div id="mainmenu">
    <div class="menu">
        <ul>
            <li class="page_item page-item-6"><a href="http://localhost/mysite/blog/">Blog</a></li>
            <li class="page_item page-item-4 current_page_item"><a href="http://localhost/mysite/">Front Page</a></li>
            <li class="page_item page-item-2"><a href="http://localhost/mysite/sample-page/">Sample Page</a></li>
        </ul>
    </div>
</div>

CSS:

div#mainmenu { position: absolute; top: 40px; right: 0; font-size: 77%; }
div#mainmenu div.menu ul,
div#mainmenu div.menu ul li,
div#mainmenu div.menu ul li a
{
    height: 36px;
}
div#mainmenu div.menu ul {  
    display: table;
    float: left;
    width: 700px;
    table-layout: fixed;

    position: relative;
}
div#mainmenu div.menu ul li
{
    display: table-cell;
    padding: 0 10px;
    overflow: hidden;
}
div#mainmenu div.menu ul li a
{
    width: auto;
    background: none;
    margin: 10px auto;
}

enter image description here

3 个答案:

答案 0 :(得分:18)

div#mainmenu div.menu ul li a更改为:

div#mainmenu div.menu ul li a
{
    display: block;
    width: auto;
    background: none;
    margin: 10px auto;
}
默认情况下,

a元素为inline,您无法设置内联元素的高度/宽度。

答案 1 :(得分:6)

链接的默认显示类型是内联的,不响应高度或宽度。相反,请告诉您的链接是内联块,这样可以保留链接的流量,但会使它们尊重您的请求,使其成为特定的大小(高度)。

div#mainmenu div.menu ul li a
{
    display:inline-block;
    height:36px;
}

答案 2 :(得分:4)

尝试行高而不是高度:

line-height:36px

http://jsfiddle.net/AlienWebguy/dP4F9/