2

<ul>我在元素中添加了一个搜索框作为列表项,如下所示:

<nav id="notifications-menu">
    <ul id="display-inline-block">
        <li><a class="normal calendar" onclick="showUserCalendar('/', false);" href="#">My Calendar</a></li>
        <li><a class="normal calendarteam" onclick="showTeamCalendar('/', false);" href="#">Team Calendar</a></li>

        <li><div id="global-search-wrapper">
            <input type="text" class="global-search-box" name="s" value="type search term..." />
            <input type="image" src="/images/general/blank.gif" class="global-search-submit" value="" />
        </div></li>
    </ul>
</nav>

应用以下 CSS 时,我得到以下输出。我想让列表项文本中心对齐(垂直):

在此处输入图像描述

nav#notifications-menu  { 
    font-family: 'Adelle', sans-serif;
    float:right;
    height: 52px; 
    width:600px;
    min-width:300px;
    padding: 0px 18px 0px 0px;
    text-align:right;
    font-size:13px;
}


nav#notifications-menu #display-inline-block,
nav#notifications-menu #display-inline-block li {
    /* Setting a common base */
    margin: 0;
    padding: 0;

}

nav#notifications-menu #display-inline-block li {
    display: inline-block;
}

nav#notifications-menu #display-inline-block li a.normal {
    color: #f0f0f0;
    text-decoration:none;
    margin-right:18px;
    padding-left:24px;

    background-repeat:no-repeat;


}
nav#notifications-menu #display-inline-block li a.envelope {
        background-image:url(../images/general/envelope.png);
            background-position: 0px 1px;
}
nav#notifications-menu #display-inline-block li a.calendar {
        background-image:url(../images/general/calendar.png);
            background-position: 0px -2px;
}
nav#notifications-menu #display-inline-block li a.calendarteam {
        background-image:url(../images/general/calendar_team.png);
            background-position: 0px -2px;
}

#global-search-wrapper {
    width: 234px;
    height: 30px;
    background-image: url(../images/general/search-box.png);
    background-repeat: no-repeat;
    padding: 0px;
    margin: 12px 0px 0px 0px;
    position: relative; }

    #searchwrapper form {
        display: inline;
        border: 0px; }

.global-search-box {
    border: 0px;
    background-color: transparent;
    position: absolute;
    top: 1px;
    left: 9px;
    width: 206px;
    height: 28px;
    color: #999999;
    font-style: italic;
    border:0px !important; }

.global-search-submit {
    border: 0px;
    background-color: transparent;
    position: absolute;
    top: 1px;
    left: 200px;
    width: 32px;
    height: 28px; }

任何帮助将不胜感激!

4

3 回答 3

5

只需将 a 添加vertical-alignli元素,例如

nav#notifications-menu #display-inline-block li {
    display: inline-block;
    vertical-align: middle;
}

因为baseline是默认对齐方式

于 2012-04-17T12:49:34.767 回答
0

看看这个:

https://stackoverflow.com/a/16299925/1211174

HTML

<div id="parent">
   <div id="child">Content here</div>
</div>

CSS

#parent {
   padding: 5% 0;
}

#child {
   padding: 10% 0;
}

如果父 div 是 li,这也有效

于 2014-02-19T09:14:21.737 回答
-1

您可以在 li 上添加 padding-bottom 以在其后留出一些空间。

于 2012-04-17T12:44:18.767 回答