использование текста - выравнивает центр в colgroup

Я должен не согласиться с предыдущими двумя ответами, кто рекомендует известный "K& R" руководство. Я был абсолютно неспособен узнать о чем-либо из той книги; я просто сдался после чтения первой трети книги приблизительно три раза. Возможно, я являюсь просто немым.

я предлагаю, вместо этого, эта замечательная книга: Программирование C: современный Подход (правовая оговорка: ссылка амазонки)

я изучил все, что я должен знать о C из той книги, и это освещает историю так же как потребности, которые будут сделаны, все еще сохраняя "современную" точку зрения.

Протест: Я не приехал в C "для C", я прошел через него на пути к моей возможной цели, Objective C и программированию Какао для настольных приложений на Mac OS X Apple. Если Вы действительно хотите очень глубокое знание C, не может повредить получать обе из вышеупомянутых книг и читать K& R руководство после чтения современного C

65
задан Nayuki 10 October 2015 в 18:42
поделиться

2 ответа

Только ограниченный набор свойств CSS применяется к столбцам , и text-align не входит в их число.

См. ] «Тайна того, почему только четыре свойства применяются к столбцам таблицы» для описания того, почему это так.

В вашем простом примере самый простой способ исправить это - добавить эти правила:

#myTable tbody td { text-align: center }
#myTable tbody td:first-child { text-align: left }

] Это центрирует все ячейки таблицы, кроме первого столбца. Это не работает в IE6, но в IE6 text-align действительно (ошибочно) работает с столбцом . Я не знаю, поддерживает ли IE6 все свойства или только большее их подмножество.

Да, и ваш HTML недействителен. пропускает .

110
ответ дан 24 November 2019 в 15:22
поделиться

См. Аналогичный вопрос: Почему нельзя стилизовать столбцы таблицы?

Вам разрешено устанавливать только границу , фон , ширина и видимость , потому что ячейки не являются прямыми потомками столбцов, только строк.

Есть несколько решений. Самый простой - добавить класс в каждую ячейку столбца. К сожалению, это означает больше HTML, но не должно быть проблемой, если вы генерируете таблицы из базы данных и т.д.

Другое решение для современных браузеров (т.е. не IE6) - использовать некоторые псевдоклассы. tr> td: first-child выберет первую ячейку в строке. Opera, Safari, Chrome и Firefox 3.5 также поддерживают селектор : nth-child (n) , поэтому вы можете настроить таргетинг на определенные столбцы.

Вы также можете использовать td + td для выбора начиная со второго столбца (на самом деле это означает «выбрать все элементы td , которые имеют один элемент td слева). td + td + td выбирает из третий столбец - вы можете продолжить таким же образом, переопределив свойства. Честно говоря, это не лучший код.

Это проблема, если вы генерируете таблицы из базы данных и т. д.

Другое решение для современных браузеров (то есть не IE6) - использовать некоторые псевдоклассы. tr> td: first-child выберет первую ячейку в строке. Opera, Safari, Chrome и Firefox 3.5 также поддерживают селектор : nth-child (n) , поэтому вы можете настроить таргетинг на определенные столбцы.

Вы также можете использовать td + td для выбора начиная со второго столбца (на самом деле это означает «выбрать все элементы td , которые имеют один элемент td слева). td + td + td выбирает из третий столбец - вы можете продолжить таким же образом, переопределив свойства. Честно говоря, это не лучший код.

Это проблема, если вы генерируете таблицы из базы данных и т. д.

Еще одно решение для современных браузеров (т.е. не IE6) - использовать некоторые псевдоклассы. tr> td: first-child выберет первую ячейку в строке. Opera, Safari, Chrome и Firefox 3.5 также поддерживают селектор : nth-child (n) , поэтому вы можете настроить таргетинг на определенные столбцы.

Вы также можете использовать td + td для выбора начиная со второго столбца (на самом деле это означает «выбрать все элементы td , которые имеют один элемент td слева). td + td + td выбирает из третий столбец - вы можете продолжить таким же образом, переопределив свойства. Честно говоря, это не лучший код.

не IE6) - использовать некоторые псевдоклассы. tr> td: first-child выберет первую ячейку в строке. Opera, Safari, Chrome и Firefox 3.5 также поддерживают селектор : nth-child (n) , поэтому вы можете настроить таргетинг на определенные столбцы.

Вы также можете использовать td + td для выбора начиная со второго столбца (на самом деле это означает «выбрать все элементы td , которые имеют один элемент td слева). td + td + td выбирает из третий столбец - вы можете продолжить таким же образом, переопределив свойства. Честно говоря, это не лучший код.

не IE6) - использовать некоторые псевдоклассы. tr> td: first-child выберет первую ячейку в строке. Opera, Safari, Chrome и Firefox 3.5 также поддерживают селектор : nth-child (n) , поэтому вы можете настроить таргетинг на определенные столбцы.

Вы также можете использовать td + td для выбора начиная со второго столбца (на самом деле это означает «выбрать все элементы td , которые имеют один элемент td слева). td + td + td выбирает из третий столбец - вы можете продолжить таким же образом, переопределив свойства. Честно говоря, это не лучший код.

25
ответ дан 24 November 2019 в 15:22
поделиться