Как выровнять по вертикали в div С переполнением: скрыто - PullRequest
0 голосов
/ 27 февраля 2012

я знаю, что есть много уроков по вертикальному выравниванию текста внутри div, но мне нужно сделать это с помощью «overflow: hidden», но он работает только с «display: block», а не с «display: table» -клетка». Вот HTML: http://melondev.com.br/twitter/ (Взгляните на длинный текст, даже при «переполнении: скрытом» они продолжают идти ...) Спасибо!

1 Ответ

2 голосов
/ 27 февраля 2012

Вы можете просто применить overflow: hidden к элементу покрытия.

Строго говоря, иметь элемент с display:table-cell, который не находится внутри элемента с display:table-row, который сам не находится внутри элемента с display:table часто приводит к непредсказуемым результатам и неожиданному поведению, и это один из них.Вместо этого вы могли бы легко использовать элемент <table>, подобный этому:

<table style="table-layout: fixed;">
    <tr>
        <td style="width: 100px; overflow: hidden; vertical-align: middle;">Text here</td>
    </tr>
</table>

Вышеописанное работает!Вы также можете иметь строки для заголовка заметки и прочее.Конечно, это не красиво, но оно использует вещи, которые были разработаны для этой ситуации.

Но кроме этого, у вас есть <div> элементы внутри a <span> - это не хорошо имногие старые браузеры (и некоторые недавние) отклонят его.У вас никогда не должно быть элементов блочного уровня внутри одного встроенного уровня.

...