Как создать свой стиль таблицы в CSS
Многие темы блогов требуют от нас публикации информации, сведенной в таблицы. И, поверьте мне, что нет ничего ужаснее уродливой таблицы, которая своим отвратительным внешним видом затмевает все то важное и полезное, чем вы ее наполнили. Я сама некоторое время страдала от этого, пока, наконец, не открыла учебники html и css, чтобы раз и навсегда создать шаблон своей таблицы, которая будет украшать, а не уродовать блог. И я расскажу вам, как это сделать.
Стиль таблицы в css и в html?
Ну а зачем, — спросите вы, — ты полезла в учебники CSS и HTML? В чем разница? Почему нельзя обратиться только к одной форме записи?
Отвечаю. Сначала мы запишем общие параметры нашей таблицы в CSS. Они будут распространяться на все таблицы, которым мы присвоим определенный класс (об этом позже). Почему необходимо прописывать общие стили в отдельном файле? – Я уже отвечала на этот вопрос в статье 15 мая. Кратко повторю, что это облегчает код отдельной записи, поста – ведь в него не приходится пихать все описание стиля каждого элемента. Если мы можем вывести какие-то правила, например, общие правила отображения таблиц – мы выносим их в таблицу стилей (style.php).
Но в каждой конкретной ситуации, для каждой конкретной таблицы нам может понадобиться дополнительное форматирование, которое происходит уже в html-редакторе. В результате я расскажу, как реально создать такую таблицу в HTML в конкретной публикации.
Шаблон таблицы в CSS
Итак, вот какие параметры мы отобразим в нашей таблице стилей (style.php) для блога на Вордпресс:
таблица №1
Параметр | Что это | Разъяснение |
---|---|---|
.mytable | Название класса | можете назвать как хотите, только латиницей и лучше прописными буквами |
{border: 3px ridge #666600; | Вид рамки | указываем сразу три параметра: толщину (3px), стиль (ridge) – такой чуть выпуклый, есть и другие (можно погуглить); цвет – подходящий к моему оформлению, о html-тегах цветов я уже писала |
border-collapse: collapse;} | Слияние рамок | каждая ячейка таблицы обводится своей рамкой, поэтому получается, что таблица должна состоять из множества прямоугольников-ячеек. Чтобы слить эти отдельные прямоугольнички в единую сетку существует данный тег |
В принципе, у нас уже должна получиться нормальная таблица и можно на этом остановиться. Но мы допишем и дополнительные параметры, чтобы выделить верхнюю строчку таблицы. За нее отвечает тег <thead>, то есть, «заглавие таблицы»:
таблица №2
Параметр | Что это | Разъяснение |
---|---|---|
.mytable thead | Название дочернего класса | здесь пишите сначала свое название класса (если придумывали что-то более оригинальное, чем у меня) и потом thead |
{background: #ffffcc; | Цвет фона | у меня фон заглавной строки таблицы отличает ее от остальных. Подберите для себя удачное сочетание |
text-align: center; | Выравнивание текста | у меня по центру |
border: 3px ridge #666600; | см. в таблице №1 | Далее снова описывается размер, вид, цвет рамок и их «склеивание» |
border-collapse: collapse;} | см. в таблице №1 | и их «склеивание» |
И далее прописываем стиль тела таблицы. Тег, который отвечает за строку выглядит так <tr>. А тег, который отвечает за отдельную ячейку – так <td>. Вот и получается:
таблица №3
Параметр | Что это | Разъяснение |
---|---|---|
.mytable td, tr | Название дочерних классов | см. таблицу №2 |
{text-align:left; | Выравнивание текста | здесь он выравнивается по левому краю |
vertical-align: text-top; | Вертикальное выравнивание текста в ячейке | у меня оно строится по самому верхнему элементу текста. Есть и другие возможности выравнивания |
padding:10px; | Отступ текста от границ ячейки | Плохо, если текст «приклеен к рамкам таблицы. Я думаю, что отступа в 10 пикселей, как правило, хватает |
border: 1px solid #666600; | Стиль границ | Снова описано сразу несколько свойств: толщина границы (1px), вид границы (отличается от границ, очерчивающих всю таблицу и ее заглавную строку – выглядит проще), цвет границы |
border-collapse: collapse;} | см. в таблице №1 | и их «склеивание» |
И вот так это выглядит в целом.
.mytable { border: 3px ridge #666600; border-collapse: collapse; } .mytable thead { background: #ffffcc; text-align: center; border: 3px ridge #666600; border-collapse: collapse; } .mytable td, tr { text-align:left; vertical-align: text-top; padding:10px; border: 1px solid #666600; border-collapse: collapse; }
Обратите внимание, что вы можете записывать код CSS, как вам больше нравится — в столбик или в строчку (см. ниже). Количество пробелов и переносов между элементами кода ничего не меняет, главное, записать все правильно по сути:
.mytable {border: 3px ridge #666600; border-collapse: collapse;} .mytable thead {background: #ffffcc; text-align: center; border: 3px ridge #666600; border-collapse: collapse;} .mytable td, tr {text-align:left;vertical-align: text-top;padding:10px;border: 1px solid #666600;border-collapse: collapse;}
Пропишите эти стили (строчный вариант или вариант столбиком — выбирайте один из них!) в самом конце своей таблицы стилей (style.php)
А в следующей публикации я расскажу, как непосредственно создать и подкорректировать таблицу в публикации при помощи html-тегов. Несколько готовых стилей таблиц — можно брать и пользоваться.
Читайте БлоготеЙ! на Google+ | |
Читайте БлоготеЙ! на Фейсбуке |
Класс! Надо попробовать! Я раньше с таблицами мучилась, а потом надоело. Я их без стилей тегами делала.
[Ответить]
katyaru отвечает:
Сентябрь 11th, 2012 at 20:35
Я, вроде, со многим разобралась — спрашивай, если что)
[Ответить]
Как страшно жить…))
[Ответить]
katyaru отвечает:
Сентябрь 11th, 2012 at 21:03
Наоборот, прикольно!)
[Ответить]
Кать, какая ты умнаяяяяяяя:) А я ленивая:(
[Ответить]
Екатерина, день добрый,
у меня прям сражение с блогом идет, все пытаюсь у себя на блоге сделать таблиц, по вашему рецепту, да и по книжке тоже…:-)
у меня вот вопрос — вы упоминаете, что стили необходимо вписать в style.php — а это случайно не style.css? вроде все сделал, но изменения не проходят, вот и проверяю все и вся, по шагам.
[Ответить]
Katyaru отвечает:
Февраль 3rd, 2014 at 18:45
Здравствуйте! Да, в некоторых шаблонах этот файл сохраняется в таком разрешении. Посмотрите, если у вас в style.css прописаны все остальные стили — туда и дописывайте собственный.
[Ответить]