С приходом семантической верстки, CSS и блоки все больше и больше теснят таблицы, как элемент верстки и таблицы на конец начали выполнять свою основную роль - отображение информации, сохраненной в рядах и колонках.
Таблица обычно несет в себе довольно много информации, расположенной и отсортированой на довольно маленькой площади. Так почему бы не сделать чтение этой информации более приятным и легким?
Попытаемся немного освежить вывод информации в таблицах. Ниже приведены три способа, позволяющие быстро создать полосатые таблицы за счет четных и нечетных рядов в таблице. Выбор за вами.
Способ первый. Самый явный.
Так как вариантов рядов у нас всего два, то указывать отдельно каждый не имеет смысла. Мы укажем только нечетные ряды. Соответственно все остальные будут четными
Смотрим простой пример здесь.
Основной недостаток в том, что нам надо явно прописывать в коде класс для рядов.
Способ второй. Динамический.
В отличии от первого способа, который основан только на CSS, здесь применяется Javacript, который пробегает по всем рядам и ячейкам в указанной таблице и применяет к ним стили.
Пример смотрим здесь, в комментариях в коде присутствуют описания.
Чем хорош этот способ?
1. Классы теперь можно использовать для каких-либо более конкретных задач, на пример выделение выбранного ряда.
2. “Заполосатить” теперь можно любую таблицу на любой странице где присутствует вызов функции.
Знаете способ лучше? Комментируйте.
Способ третий. XSLT.
В XSLT все на много проще. Нужно вписать в темплэйт условие, которое будет проверять tr на четность-нечетность и в зависимости от ваших нужд будет либо присваивать атрибут class или же будет выписывать стиль. На пример:
<tr>
<xsl:if test=”(position() mod 2 = 1)”>
<xsl:attribute name = “style”>background:#f4f4f4;</xsl:attribute>
</xsl:if>
<td colspan=”5″><strong>Заметки:</strong><xsl:value-of select=”text()”/></td>
</tr>
По материалам ALA
Войти
RSS-подписка
Читать в ЖЖ
Яndex-Лента
В Google Reader


И всё-таки я бы написал odd Это добавит гибкости.
Комментарий by Dmitry Baranovskiy — Март 12, 2007 @ 4:02 am | Цитировать
<xsl:attribute name = “class”>odd</xsl:attribute>
Комментарий by Dmitry Baranovskiy — Март 12, 2007 @ 4:03 am | Цитировать
Согласен, даже не помню почему через стиль описал
Комментарий by neutrino — Март 12, 2007 @ 8:42 am | Цитировать
В test первые круглые скобки не нужны
Комментарий by Marat Suponitsky — Март 26, 2007 @ 12:07 am | Цитировать
??
И не надо делать поле мыла обязательным.
Комментарий by Akral — Июль 26, 2007 @ 6:53 pm | Цитировать
Блин. И escapeить надо значки <>, а не стирать вместе со всем примером.
В предыдущем комментарии после знаков вопроса читать <foo class=”bar quux knat”>
Комментарий by Akral — Июль 26, 2007 @ 6:54 pm | Цитировать