CSS菜单背景高度和文本高度

时间:2013-02-05 19:53:18

标签: css button menu height

我正在尝试在菜单项后面使用背景图片和/或颜色。使用图像或仅使用背景颜色,背景将仅匹配文本的高度。背景的高度需要为30px,文本需要16px并居中 - 就像普通按钮一样。我已经尝试了我能想到的每一个css组合,但无法得到我正在寻找的结果。

    #menu-container {
    /*float: left;*/
width: 960px;
margin:50px auto 0 auto;
height:50px;
    }

    #menu ul {
text-align: left;
height:50px;
    }


    #menu ul li {
display: inline;
background-image: url(images/menubutton.png);
background-repeat: no-repeat;
    }

     #menu ul li a {
text-transform: uppercase;
padding-right: 13px;
padding-left: 13px;
font-size: 16px;
    /*line-height: 0.2em;*/
color: #000;
font-style: normal;
letter-spacing: 1px;
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", 
     Helvetica, Arial, "Lucida Grande", sans-serif; 
font-weight: 400;
    }

    #menu ul li a:hover {
color: #ff0000;
text-decoration: none
    }

1 个答案:

答案 0 :(得分:0)

以下是您需要的代码:

#menu ul li {
    display: inline-block;
    background-color: #a0a0a0; /* I changed this for testing */
    background-repeat: no-repeat;
    padding-top: 7px;
    padding-bottom: 7px;
}

基本上,它曾经是display: inline,因此无法调整身高。你也不能使用display: block因为它们不会都在同一条线上。因此,display: inline-block正是您所需要的 然后我添加了padding-toppadding-bottom,每个7px,以便将文字保留在中间。

这是一个有效的DEMO

希望这会有所帮助。