CSS - Вертикально Выровняйте содержание DIV

Если Вы уже знаете и используете sed, Вы могли бы также взять, по крайней мере, немного awk. Они могут быть переданы по каналу вместе для некоторых довольно мощных приемов. Всегда производит на аудиторию впечатление.

7
задан user208662 10 December 2009 в 14:13
поделиться

5 ответов

Быстрый способ вертикального выравнивания, как в вашем случае, - это сопоставить высоту строки с высотой.

<html>
    <head>
        <title>test</title>
    </head>
    <body>
        <table border='0' cellpadding='0' cellspacing='0'>
                <tr><td style='height:200px; line-height: 200px; width:300px; background-color:silver;'>
                        <div>
                            <div style="text-align: center">test</div>
                        </div>
                </td></tr>
        </table>
    </body>
</html>
4
ответ дан 7 December 2019 в 03:16
поделиться

Потому что vertical-align является только заменой CSS для атрибута valign в TD , и поэтому работает только с элементами display: table-cell (и не , правильным решением будет не изменять режим отображения вашего DIV )

Если вы можете установить фиксированную высоту для div, вы сможете выровнять его по вертикали с margin: auto 0

4
ответ дан 7 December 2019 в 03:16
поделиться

Попробуйте установка style = 'vertical-align: middle;' в родительском элементе. Прямо сейчас вы действительно говорите внутреннему div выровнять текст по середине, однако вы не говорите ему растягиваться и занимать всю страницу. По сути, вы получаете элемент div размером с текст.

Вы можете использовать плагин Firebug в Firefox для отладки такого рода ошибок CSS!

0
ответ дан 7 December 2019 в 03:16
поделиться

Попробуйте добавить valign = "middle" в свой тег td , например:

<td valign="middle" style='height:200px; width:300px; background-color:silver;'>
0
ответ дан 7 December 2019 в 03:16
поделиться

попробуйте использовать line-height: 100px

-2
ответ дан 7 December 2019 в 03:16
поделиться