Как мне убедиться, что выравнивание по вертикали установлено как среднее в ячейке таблицы в IE6?

#css #internet-explorer-6 #html-table

#css #internet-explorer-6 #html-таблица

Вопрос:

Я должен спроектировать страницу, чтобы она была совместима с IE6; это требование клиента.

Содержимое в my <td> должно быть выровнено по вертикали до середины ячейки, но по умолчанию оно выравнивается по нижней части ячейки. Однако при нажатии на него он возвращается к выравниванию по середине по вертикали.

HTML

 <table border="1" cellpadding="0" cellspacing="0">
<tr>
    <td>Utility Payments</td>
    <td valign="top" style="border:1px solid #0C0;">
        <div class="select_box_container index01" style="border:1px solid #F00;">
            <h2>-- Select Utility Payment --</h2>
            <ul id="UtilPay" style="z-index: 10;">
                <li data-val="0" class="subhead">-- Electricity --</li>
            </ul>
    </div>
    </td>
</tr>
</table>
  

CSS

 .select_box_container {
    overflow: hidden;
    width: 241px;
}

.select_box_container select {
    background: url(../images/text-box.png);
    background-color: transparent;
}

.select_box_container {
    position: relative;
    overflow: visible;
}

.select_box_container h2 {
    font-size: 12px;
    color: #333333;
    margin: 0px;
    background: url(../../../pgmerc/instpy/images/text-box.png);
    padding: 6px 10px;
}

.select_box_container ul {
    background: none repeat scroll 0 0 #FFFFFF;
    border: 1px solid #F1F1F1;
    display: none;
    height: auto;
    overflow-y: scroll;
    position: absolute;
    max-height: 247px;
    top: 29px;
    width: 240px;
}

.select_box_container ul li {
    border-bottom: 1px solid #F1F1F1;
    font-size: 12px;
    list-style: none outside none;
    margin: 0;
    padding: 2px 10px;
    width: 204px;
}

.select_box_container ul li:hover { background: #F7F7F7 !important; }


.index_container {
    background: url("../../../pgmerc/instpy/images/zero.png") no-repeat scroll 400px center #EAF3FA;
    border: 1px solid #CCCCCC;
    padding: 9px 20px;
}

.index_container table td {
    font-size: 12px;
    color: #003976;
    padding-right: 20px;
}

.index_container h1 {
    color: #003976;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
}

    
  

Как мне заставить его выравниваться только по середине ячейки?

Ссылочные изображения для before и after приведены ниже:

При загрузке

При нажатии

Комментарии:

1. можете ли вы опубликовать свой код?

2. Боже мой. IE6 в 2014 году (он был выпущен 13 лет назад) — бедная душа: (

3. в коде не так много, но я могу поделиться им, пожалуйста, подождите..

4. это требование клиента, мы должны это сделать; (

5. Похоже, position: absolute; это проблема. Это необходимо?

Ответ №1:

Спасибо всем .. нашли решение.

Я удалил относительную позицию из своего контейнера, которая равна $ («.select_box_container»), и добавил ее обратно при щелчке h2 …. $ («.select_box_container»).css («position»,»relative»);

Ответ №2:

Просто догадка

Можете ли вы попробовать заменить

 <h2>-- Select Utility Payment --</h2>
  

с

 <span>-- Select Utility Payment --</span> or div
  

Комментарии:

1. есть какой-то скрипт, связанный с h2, я не могу заменить его за один раз; (