0

问题:

我想将输入字段左侧的文本垂直居中。我也想将日历图标居中。

在此处输入图像描述

HTML:

<div id="dateselect">
    <div id="arrivalContainer">
        <span class="annotation">Anreise</span>
        <input type="text" name="arrival" id="arrival" class="input-styling" maxlength="10" size="10" />
    </div>
    <div id="departureContainer">
        <span class="annotation">Abreise</span>
        <input type="text" name="departure" id="departure" class="input-styling" maxlength="10" size="10" />
    </div>
    <div class="clearer"></div>
</div>

CSS:

#dateselect {
    padding-top: 14px;
}

#arrivalContainer {
    float: left;
    width: 160px;
}

#departureContainer {
    float: right;
    width: 160px;
}

#arrival {
    height: 25px;
    width: 68px;
}

#departure {
    height: 25px;
    width: 68px;
}

.ui-datepicker-trigger {
    position: relative;
    top: 7px;
    left: 3px;
}

.input-styling {
    color: #575756;
    font-family: "Myriad Roman", Helvetica, Arial, sans-serif;
    font-size: 12px;
    padding-left: 4px;
}

现场示例:
http ://bfb.bplaced.net/

span元素应该是display: inline-block;我认为的。我尝试了line-heightanddisplay: table-cell;方法。我让它在除 IE7 和 IE8 之外的所有浏览器中工作。

我知道这是一个经常发生的问题,但也许你可以给我一些建议。

解决方案:

HTML:

我试过了,valign="middle"但 IE8 还是有问题。我最终得到了这个:

<div id="arrivalContainer">
    <div class="calendarText"><span class="annotation">Anreise</span></div>
    <div class="calendarInput"><input type="text" name="arrival" id="arrival" class="input-styling" maxlength="10" size="10" /></div>
    <div class="clearer"></div>
</div>

CSS:

.calendarText {
    float:left;
    padding-top:14px;
    padding-right:5px;
}

.calendarInput {
    float: left;
}

对于所有 IE 版本,我都有条件样式表。

4

3 回答 3

1

尝试vertical-align:middle;您的图像和文本 div。

于 2013-03-01T00:45:39.430 回答
0

This should vertically center the text, by forcing it to display at 25px tall (same as your input field). Line-height then vertically centers the line at 25px tall, too.

.annotation {
    display: inline-block;
    zoom: 1;
    *display: inline;
    height: 27px; /* +2px for border */
    line-height: 27px;
}
于 2013-02-28T23:05:35.497 回答
0

尝试这个:

annotation {
 position:realtive;
 top: -5px; /*adjust to value that visually centers your text*/
}

为你的日历做同样的事情。

于 2013-03-01T14:29:28.650 回答