1) положение: абсолютное / относительное;
Может быть частью макета, не обязательно.
2) плавать: влево / вправо; ясно
Да, float обычно используется для макетов.
3) дисплей: встроенный блок;
Это редко используется, если вообще используется для макетов страниц, и его поддержка содержит ошибки (он также чувствителен к пробелам).
4) дисплей: таблица-ячейка; (разве это не то же самое, что html-таблицы?)
Нет, это не то же самое, что использование таблиц HTML. Таблицы находятся в вашей разметке (содержании), display:table-*
является частью вашей CSS (презентации). Это хороший способ решения макета, но, опять же, поддержка не полностью доступна для старых браузеров.
5) html-таблица (но это не css или семантика)
Вы правы, не используйте это, таблицы предназначены для разметки табличных данных, а не для разметки.
6) столбцы css3 (меньше поддержки или нет?)
Еще раз, поддержки на самом деле нет, и я считаю, что это предназначено для текста больше, чем для макета (даже если это можно использовать для обоих).
Какова лучшая практика с лучшей поддержкой браузера?
Если вы ищете общий ответ, вы хотите создать его самостоятельно, и вам нужна поддержка браузера, просто используйте float
s с относительным / абсолютным позиционированием, если это необходимо. Решите, какие именно браузеры вы хотите поддерживать, и, как всегда, протестируйте ваш макет в разных браузерах, чтобы увидеть, что работает, а что нет. Там нет волшебной пули, дьявол в деталях.