IE 7 / IE 8中输入字段旁边的垂直居中文本

时间:2013-02-28 22:55:03

标签: html css internet-explorer-8 internet-explorer-7 centering

问题:

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

enter image description here

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-heightdisplay: 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版本,我都有条件样式表。

3 个答案:

答案 0 :(得分:1)

对您的图片和文字div尝试vertical-align:middle;

答案 1 :(得分:0)

这应该垂直居中文本,强制它以25像素高显示(与输入字段相同)。然后,线高也垂直居中,高度为25px。

.annotation {
    display: inline-block;
    zoom: 1;
    *display: inline;
    height: 27px; /* +2px for border */
    line-height: 27px;
}

答案 2 :(得分:0)

试试这个:

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

为你的日历做同样的事。