Плохо ли display:table-cell и иже с ним?

Все говорят что табличная верстка - это давно уже не православно.

А что если заменить на div display:table-cell? Минусы все те-же? Чем плохи display:(table|table-row|table-cell)?
  • Вопрос задан
  • 4757 просмотров
Решения вопроса 2
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Нет ничего плохого в различных видах представлений, есть неверное применение. Нет такого понятия, что таблицы сами по себе — зло. Зло — таблицы в качестве основы построения страницы. И корень этого зла вовсе не в таблицах, а в голове того, кто применил такое решение.

А что если заменить на div display:table-cell?

Это — одно и то же. Чтобы вы понимали, сами по себе HTML-элементы не обладают никакой визуальной информацией. Все метаморфозы происходят по причине так называемых правил по умолчанию.

Это значит, что элементы TD и TH будут обладать display:table-cell по причине применения к странице этих правил, а не потому, что они изначально такие. Если вы примените это к своим элементам, ну теперь ваши элементы также будут обрабатываться как ячейки таблицы.

Помимо жёсткой структуры таблицы съедают ресурсы браузера на их обсчёт. Даже table-layout:fixed иногда не спасает.
Ответ написан
Комментировать
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
Вот как-то так:
<table>
  <tr>
    <td class="sidebar">sidebar</td>
    <td class="content">content</td>
  </tr>
</table>

Но таблицами верстать нельзя!

templ_1331405284_small_ffffff.jpg
Тогда вот так:
<div class="table">
  <div class="row">
    <div class="cell sidebar">sidebar</div>
    <div class="cell content">content</div>
  </div>
</div>

Да, так отлично!
O9aMIlp.png
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
На счёт этого Я считаю так. Если Вы видите что семантически это не таблица, но дизайнер нарисовал это как таблицу (ну к примеру по семантике это явный список), то стоит использовать display: table. Но не стоит его использовать в других случаях. Как раньше всё верстать по табличному типу. Ещё иногда это используют когда текст внутри страницы нужно центровать по вертикали в блоке.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы