- Узнайте, как создать рамку таблицы CSS всего за пять минут
- CSS Table Borders
- Прежде чем ты начнешь
- Как добавить линии вокруг всех ячеек в таблице
- Как добавить строки между столбцами в таблице
- Как добавить строки между строками в таблице
- Как добавить строки между определенными столбцами или строками в таблице
- Как добавить линии вокруг отдельных ячеек в таблице
- Как добавить строки внутри отдельных ячеек в таблице
- Полезные советы
Узнайте, как создать рамку таблицы CSS всего за пять минут
Возможно, вы слышали, что таблицы CSS и HTML не смешиваются. Это не вариант. Да, использование HTML-таблиц для разметки больше не является лучшей практикой веб-дизайна, поскольку они были заменены стилями разметки CSS, но таблицы по-прежнему являются правильной разметкой, используемой для добавления табличных данных на веб-страницу.
Поскольку многие веб-профессионалы избегают таблиц, считая их ничем иным, как проблемами, многие из этих специалистов не имеют большого опыта работы с этим общим элементом HTML, и им трудно добавлять внутренние строки в ячейки таблицы на веб-странице.
CSS Table Borders
Когда вы используете CSS для добавления границ в таблицы, он добавляет только границы вокруг внешней части таблицы. Если вы хотите добавить внутренние линии в отдельные ячейки этой таблицы, вам нужно добавить границы для внутренних элементов CSS. Вы можете использовать тег HR, чтобы добавить строки внутри отдельных ячеек.
Чтобы применить стили, описанные в этом руководстве, вам нужна таблица на веб-странице. Затем вы создаете таблицу стилей в виде внутренней таблицы стилей в заголовке вашего документа (если вы имеете дело только с одной страницей) или присоединяете к документу как внешнюю таблицу стилей (если на сайте несколько страниц). Вы помещаете стили для добавления внутренних линий в таблицу стилей.
Прежде чем ты начнешь
Решите, где вы хотите, чтобы строки отображались в таблице. У вас есть несколько вариантов, в том числе:
- Окружая все клетки, чтобы сформировать сетку
- Расположение линий между столбцами
- Просто между рядами
- Между конкретными столбцами или строками.
Вы также можете расположить линии вокруг отдельных ячеек или внутри отдельных ячеек.
Вам также понадобится добавить свойство border-collapse в свой CSS для вашей таблицы. Это сворачивает границы в одну строку между каждой ячейкой и позволяет границам строк таблицы функционировать должным образом. Прежде чем что-то делать, добавьте следующий блок в ваш CSS.
таблица {
border-collapse: collapse;
}
Как добавить линии вокруг всех ячеек в таблице
Чтобы добавить линии вокруг всех ячеек в вашей таблице, создав эффект сетки, добавьте следующее в свою таблицу стилей:
Как добавить строки между столбцами в таблице
Чтобы добавить линии между столбцами для создания вертикальных линий, идущих сверху вниз по столбцам таблицы, добавьте в таблицу стилей следующее:
Если вы не хотите, чтобы вертикальные линии отображались в первом столбце, вы можете использовать псевдокласс first-child , чтобы настроить таргетинг только на те элементы, которые появляются первыми в их ряду, и убрать границу.
td: first-child, th: first-child {
border-left: none;
}
Как добавить строки между строками в таблице
Как и при добавлении линий между столбцами, вы можете добавить горизонтальные линии между строками с одним простым стилем, добавленным в таблицу стилей, следующим образом:
Чтобы убрать границу из нижней части таблицы, вы бы снова положились на псевдокласс. В этом случае вы бы использовали last-child для таргетинга только на последний ряд.
tr: last-child {
border-bottom: нет;
}
Как добавить строки между определенными столбцами или строками в таблице
Если вам нужны только строки между конкретными строками или столбцами, вы можете использовать класс в этих ячейках или строках. Если вы предпочитаете более чистую разметку, вы можете использовать псевдокласс nth-child , чтобы выбрать конкретные строки и столбцы в зависимости от их положения.
Например, если вы хотите настроить таргетинг только на второй столбец в каждой строке, вы можете использовать nth-child (2), чтобы применить CSS только ко второму элементу в каждой строке.
td: nth-child (2), th: nth-child (2) {
Граница слева: сплошная 2px красная;
}
То же самое относится и к строкам. Вы можете настроить таргетинг на конкретную строку, используя nth-child .
tr: nth-child (4) {
border-bottom: сплошной 2px зеленый;
}
Как добавить линии вокруг отдельных ячеек в таблице
Хотя вы, безусловно, можете использовать псевдоклассы для нацеливания на отдельные ячейки, самый простой способ справиться с такой ситуацией – это CSS-класс. Чтобы добавить линии вокруг отдельных ячеек, вы добавляете класс в ячейки, вокруг которых хотите создать рамку:
Затем добавьте следующий CSS в вашу таблицу стилей:
Как добавить строки внутри отдельных ячеек в таблице
Если вы хотите добавить строки внутри содержимого ячейки, проще всего это сделать с помощью тега горизонтального правила ( ).
Полезные советы
Если вы предпочитаете контролировать промежутки между ячейками таблицы вручную, удалите следующую строку ранее:
Этот атрибут отлично подходит для стандартных таблиц, но он значительно менее гибок, чем CSS, так как вы можете определить только ширину границы и иметь ее только вокруг всех ячеек таблицы или без нее.
border-bottom: нет; – и чё реально работает?