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

要素にavertical-alignを追加するだけです。li

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 に答える