Высота ячейки в html: Атрибут height | htmlbook.ru

Содержание

Атрибут height | htmlbook.ru

Internet ExplorerChromeOperaSafariFirefoxAndroidiOS
3.0+1.0+1.0+1.0+1.0+1.0+1.0+

Спецификация

HTML:3.24.015.0XHTML:1.01.1

Описание

Браузер сам устанавливает высоту таблицы и ее ячеек исходя из их содержимого. Однако при использовании атрибута height высота ячеек будет изменена. Здесь возможны два варианта. Если значение height меньше, чем содержимое ячейки, то этот атрибут будет проигнорирован. В случае, когда установлена высота ячейки, превышающая ее содержимое, добавляется пустое пространство по вертикали.

Синтаксис

<td>...</td>

Значения

Любое целое значение в пикселах или процентах от доступного пространства.

Значение по умолчанию

Высота вычисляется на основе содержимого ячейки.

Аналог CSS

height

Валидация

Использование этого атрибута осуждается спецификацией HTML, валидный код получается только при использовании переходного <!DOCTYPE>.

Пример

HTML 4.01IECrOpSaFx

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
  "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Тег TD, атрибут height</title>
 </head>
 <body>

  <table cellpadding="10" bgcolor="#ffcc00" align="center">
   <tr>
    <td>Ячейка 1</td>
   </tr> 
  </table> 

 </body>
</html>

HTML table высота строки для ширины одной ячейки



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

Однако в некоторых случаях я хочу, чтобы строка имела высоту нескольких строк (например, 3 строки). Я пробовал играть с rowspan для этого, однако он, кажется, оборачивает предыдущие строки в одну и ту же строку (не то, что я хочу).

Есть ли способ сделать это для таблицы ширины одной ячейки?

Edit: добавлен пример

    <table border="1">
        <tr>
            <td>big</td>
        </tr>
        <tr>
            <td>small</td>
        </tr>
        <tr>
            <td>small</td>
        </tr>
        <tr>
            <td>small</td>
        </tr>
        <tr>
            <td>small</td>
        </tr>
</table>
html html-table
Поделиться Источник Señor Reginold Francis    
20 августа 2012 в 16:29

2 ответа


  • UITableViewCell: пользовательская высота строки для ячейки прототипа

    В моем файле раскадровки я проектирую несколько прототипных ячеек в A UITableView. Каждая ячейка имеет свой собственный уникальный идентификатор ячейки. В зависимости от раздела и строки я удаляю одну из ячеек прототипа в методе-tableView:cellForRowAtIndexPath: Для большинства ячеек прототипа я не…

  • Html table размер ячейки (или высота ячейки, соответствующая ее содержимому)

    Я хочу поместить 3 вертикальных варианта в listview. Для этого я использую таблицу, но видны только 2 варианта, поэтому мне нужно сжать высоту ячейки. На рисунке видно, что в каждой ячейке есть свободное место. Я пробовал некоторые варианты td, такие как высота, но не преуспел. Могу ли я…



5

С одним столбцом невозможно перейти на rowspan. если вы пытаетесь найти несколько строк внутри ячейки, используйте <br/>

Поделиться Cicil Thomas     20 августа 2012 в 16:45



2

Я бы предложил вместо этого использовать CSS.

 <style>
     .big{
         height:100px;
     }

     .small{
        height:30px;
     }
 </style>



<table border="1">
        <tr>
            <td>big</td>
        </tr>
        <tr>
            <td>small</td>
        </tr>
        <tr>
            <td>small</td>
        </tr>
        <tr>
            <td>small</td>
        </tr>
        <tr>
            <td>small</td>
        </tr>
</table>

Поделиться Vincent Ramdhanie     21 августа 2012 в 13:41


Похожие вопросы:


html table ширина ячейки для разных строк

Возможный Дубликат : проблема ширины ячейки таблицы У меня есть стол, накрытый как <html> <body bgcolor=#14B3D9> <table width=100% border=1 bgcolor=#ffffff> <tr> <td…


HTML Table Ячеек-Скрытие Одной Ячейки

У меня есть html table, который я настроил в виде 3 строк по 2 столбца. Таким образом, в основном есть 6 ячеек, которые в настоящее время отображаются для suer. Мой вопрос заключается в том, что я…


HTML table высота строки

HTML & CSS вопрос: Я пытаюсь ограничить свою строку таблицы только одной строкой (высота 5 мм, длина 30 мм). Но он должен оставаться такого размера, даже если он не вписывается в это…


UITableViewCell: пользовательская высота строки для ячейки прототипа

В моем файле раскадровки я проектирую несколько прототипных ячеек в A UITableView. Каждая ячейка имеет свой собственный уникальный идентификатор ячейки. В зависимости от раздела и строки я удаляю…


Html table размер ячейки (или высота ячейки, соответствующая ее содержимому)

Я хочу поместить 3 вертикальных варианта в listview. Для этого я использую таблицу, но видны только 2 варианта, поэтому мне нужно сжать высоту ячейки. На рисунке видно, что в каждой ячейке есть…


Фиксированная высота и изменение ширины заголовка (HTML Table)

Мне нужно убедиться, что высота заголовка таблицы фиксирована, а ширина регулируется в зависимости от содержимого ячейки заголовка. (Текст заголовка отображается максимум в двух строках) Как мы…


HTML table-изменение ширины одной ячейки в столбце

Есть ли более элегантное решение для достижения такого же эффекта? Код, который у меня есть до сих пор, таков: <!DOCTYPE html> <html> <head> <title>Table Test</title>…


HTML table динамическая высота для одной ячейки

Можно ли иметь таблицу, которая распределяет высоту ячеек следующим образом? ______________________________________ | fixed height | |____________________________________| | | | | | dynamic height |…


Html table значение ячейки

Как получить значение ячейки из html table, если у меня есть соответствующие строки и столбцы nos ячейки html table? Например, если строка no равна 1, а столбец no равен 3, Как взять значение…


Таблица Динамическая Высота Ячейки

У меня есть UITableView(Таблица 1). Внутри ячейки UITableView у меня есть еще одна ячейка UITableView(Таблица 2). В Table 2 высота строк равна UITableViewAutomaticDimension . Мое требование таково -…

Высота ячейки таблицы html

Сегодня вы познакомитесь с еще одним очень мощным элементом создания сайтов — HTML-таблицами. А почему мощным? Видите ли, с давних пор и по сегодняшний день, чаще всего таблицы в HTML используются не по их прямому назначению — отображению табличных данных, а для создания глобального каркаса страницы. То есть создается таблица, растягивается во всю ширину страницы, а потом в ее левом столбце делают одно меню, в правом — другое, в среднем располагают основную информацию и так далее.

Кстати, если не знали, то создание сайтов, а вернее HTML-кода, называется версткой, и вы сейчас учитесь именно ей. Вообще существует три вида верстки: табличная, о которой я вам рассказал выше; слоями (блочная), требующая среднего уровня знания стилей (CSS) и комбинированная. До сих пор в интернете идут ожесточенные споры о том, какая же из них лучше, но поверьте, спорят там в основном любители споров или новички, так как любой профессионал вам скажет — лучшая верстка та, которая больше подходит в конкретном случае, вот и все! А спорить о том, что лучше — танк или самолет — пустая трата времени. Но справедливости ради скажу, что по многим параметрам блочная верстка все же предпочтительней, поэтому, если верстальщик может сделать задание, как с помощью таблиц, так и с помощью блоков, то обычно выбирается последнее. И это правильно. Но вам об этом задумываться рано, ведь, как я уже сказал, с помощью одного языка HTML можно верстать только таблицами.

Создание таблиц в HTML

Для создания простой HTML-таблицы надо использовать три типа тегов, это

. Поэтому давайте сделаем так: посмотрите на пример указанный ниже и попробуйте самостоятельно догадаться, какие теги и для чего нужны.

Пример создания таблиц в HTML

Результат в браузере

Ячейка 1.1Ячейка 1.2Ячейка 1.3
Ячейка 2.1Ячейка 2.2Ячейка 2.3
Ячейка 3.1Ячейка 3.2Ячейка 3.3

Теперь проверим ваши догадки. И опять вам говорю — не старайтесь все запоминать, не надо, главное — понять. Итак:

Тег

— это корневой элемент любой таблицы, между открывающим и закрывающим тегами которого находятся все остальные теги. Он является блочным, то есть создает до и после себя переводы строк в начало. А вот содержать он не может ни блочные, ни встроенные (уровня строки) теги, а только специальные теги таблицы из которых практически всегда используется

, а остальные крайне редко. Не забыли еще, что значит «содержать»? Это значит, что вна первом уровне вложенности запрещено указывать встроенные или блочные теги.

Тег

.

используется для создания рядов (строк) таблиц и может содержать только теги ячеек, о которых мы поговорим дальше.

Тег

.

создает ячейки таблиц и должен располагаться только внутри тега

. А вот содержать он может, внимание, и блочные, и встроенные элементы, в том числе и обычный текст. Кстати, обратите внимание, что в таблицах не существует тегов создания столбцов (колонок), потому что они формируются из элементов.

Тег

.

. Да, его нет в нашем примере, так как это практически аналог тега

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

При создании таблиц всегда обращайте внимание на то, чтобы во всех рядах было одинаковое количество ячеек. Разное количество не является в HTML ошибкой, но в таких случаях ваша табличка может просто «поехать» и все отобразиться совсем не так, как вы хотели.

HTML-таблицы по центру, слева, справа

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

В прошлом у тега

имелся атрибут align , с его помощью и можно было изменять положение таблицы. Но он стал устаревшим, и сколько еще времени его будут поддерживать браузеры — неизвестно, так как на смену пришли стили (CSS). И чтобы показать вам правильный метод, я использую атрибут style .

— Таблица располагается слева. Это значение по умолчанию.

— Расположение таблицы справа.

— HTML-таблица по центру.

Теперь поясню. Используя эти значения, мы изменяем размер внешних полей (отступов) таблицы. Так как таблица является блочным HTML-элементом, а у блоков четыре стороны, то и параметры указываются для четырех сторон по часовой стрелке: style= «margin:сверху справа снизу слева» . Ну, что такое ноль, я думаю, вы понимаете, а вот «auto» говорит браузеру, чтобы он сам высчитывал с данной стороны размер пустого пространства, исходя из значений других сторон. Вот и получается, что если с трех сторон ноль, то с четвертой — все остальное пространство, а если с двух сторон «auto», то значит делим внешние поля пополам.

И самое главное — не бойтесь использовать CSS вместо чистого и, во многих ситуациях, «деревянного» и устаревшего HTML. Так как этим вы вкладываете в свое развитие, а не возвращаетесь к каменным топорам! Тем более я вам все преподношу «на блюдечке». 🙂

Пример расположения таблицы по центру

Результат в браузере

Ячейка 1.1Ячейка 1.2Ячейка 1.3
Ячейка 2.1Ячейка 2.2Ячейка 2.3
Ячейка 3.1Ячейка 3.2Ячейка 3.3

Изменение ширины HTML-таблиц и ячеек

По умолчанию браузеры высчитывают ширину таблицы исходя из содержимого ее ячеек, а изменить ее можно, используя знакомый вам атрибут width , общий синтаксис такой:

— любое неотрицательное число указывающее ширину в пикселях.

— неотрицательное число задающее ширину в процентах (%) исходя из ширины родительского контейнера, элемента в котором находится таблица.

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

А вот атрибута width для изменения ширины ячеек нет, вернее он был, но устарел, поэтому снова применим стили (CSS).

В качестве значений для ширины ячеек лучше тоже использовать только пиксели (px) и проценты (%). Естественно процентные размеры будут высчитываться исходя из ширины таблицы. Только не забудьте, что при указании размеров в атрибуте style , всегда после чисел пишутся единицы измерения, в том числе и пиксели.

И тоже, если вы укажете ширину ячейки, а содержимое в нее не уместится — браузер проигнорирует вашу ширину и установит свою.

В HTML-таблицах ширина столбца всегда равна его самой широкой ячейке, что, впрочем, вполне естественно вообще для любых таблиц. Поэтому, меняя ширину одной (любой) ячейки — вы меняете ширину всего столбца.

Пример изменения ширины HTML-таблиц и ячеек

Результат в браузере

Ячейка 1.1Ячейка 1.2
Ячейка 2.1Ячейка 2.2

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

Изменение высоты HTML-таблиц и ячеек

В стандартном HTML у тега

нет атрибута для изменения высоты таблицы, браузеры ее автоматически высчитывают исходя из содержимого. А вот у стилей (CSS) такая возможность есть, поэтому их и будем использовать.

— указывайте высоту таблицы только в пикселях (px), так как процентную запись браузеры игнорируют.

А вот для изменения высоты ячеек в HTML у тегов

ивсе-таки был атрибут height (вот и пойми этих разработчиков), но он устарел, поэтому снова стили.

Как и для ширины, используйте пиксели (px) или проценты (%), но здесь есть один момент. Когда вы указываете процентную запись, то конечно высота высчитывается исходя из размеров таблицы, поэтому если высота блока

не указана — браузеры проигнорируют значения для ячеек.

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

В HTML-таблицах высота строки (как и ширина столбца) всегда равна высоте ее самой высокой ячейки. Поэтому, меняя высоту одной (любой) ячейки — вы меняете высоту всей строки.

Пример изменения высоты HTML-таблиц и ячеек

Результат в браузере

Ячейка 1.1Ячейка 1.2
Ячейка 2.1Ячейка 2.2

Выравнивание в HTML-таблицах

Если вы обратили внимание, то браузеры изначально определенным образом выравнивают содержимое ячеек таблиц. У обычных ячеек (

) содержимое выравнивается горизонтально по левой стороне и вертикально по центру, а у заголовочных () — в обоих случаях по центру.

Для изменения выравнивания содержимого HTML-таблиц имеются атрибуты align и valign , которые указываются в тегах

для рядов (строк) илиидля отдельных ячеек:

Пример выравнивания в HTML-таблицах

Результат в браузере

Ячейка 1.1Ячейка 1.2
Ячейка 2.1Ячейка 2.2

Фон HTML-таблиц

В старых версиях HTML у тегов таблиц был специальный атрибут bgcolor , который изменял цвет фона всей таблицы или ее части. Но в уроке Меняем цвет текста и фона мы с вами изучили универсальный способ изменения фона абсолютно любых HTML-элементов, поэтому им и пользуйтесь.

А вот фонового изображения у таблиц язык HTML вообще не предусматривал, поэтому в свое время производители браузеров ввели для этого атрибут — background . Браузеры и до сих пор его понимают, но опять же, в уроке Изображения для фонов вы уже научились правильно устанавливать изображения-фоны для любых элементов.

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

  1. Измените фон страницы и размер шрифта.
  2. В начале страницы создайте четыре ссылки-изображения.
  3. Ниже сделайте таблицу из одного ряда и двух столбцов. Растяните ее ширину на всю страницу, сделайте выравнивание по верхней стороне ряда и измените фон каждой ячейки.
  4. Сделайте ширину левой колонки 150px и поместите в нее ссылки-изображения.
  5. Под таблицей создайте текстовые ссылки.
  6. Сделайте так, чтобы при наведении курсора мыши на любую ссылку появлялась «всплывающая» подсказка.
  7. Не забывайте про Комментарии в HTML, они серьезно помогают при работе.

В стандартном HTML у тега

нет атрибута для изменения высоты таблицы, браузеры ее автоматически высчитывают исходя из содержимого. А вот у стилей (CSS) такая возможность есть, поэтому их и будем использовать.

— указывайте высоту таблицы только в пикселях (px), так как процентную запись браузеры игнорируют.

А вот для изменения высоты ячеек в HTML у тегов

ивсе-таки был атрибут height (вот и пойми этих разработчиков), но он устарел, поэтому снова стили.

Как и для ширины, используйте пиксели (px) или проценты (%), но здесь есть один момент. Когда вы указываете процентную запись, то конечно высота высчитывается исходя из размеров таблицы, поэтому если высота блока

не указана — браузеры проигнорируют значения для ячеек.

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

В HTML-таблицах высота строки (как и ширина столбца) всегда равна высоте ее самой высокой ячейки. Поэтому, меняя высоту одной (любой) ячейки — вы меняете высоту всей строки.

Пример изменения высоты HTML-таблиц и ячеек

3.5. Ширина и высота таблицы и ячеек

Ширина таблицы задается атрибутом w ). Например, задав значение ширины в 600 пикселов, можно быть уверенным, что таблица поместится в окне браузера при любом разрешении монитора. Если же ширина задается в процентах, то они высчитываются от ширины окна браузера или от ширины ячейки другой таблицы, в которую вставлена данная. То же самое можно делать и с высотой таблицы с помощью атрибута height.

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

При задании чрезмерно малых величин ширины и высоты таблицы браузер определяет минимальные значения, которые позволяют нормально отображать данные.

На рис. 3.9 и 3.10 изображены две таблицы одинакового содержания, но разной ширины и высоты.

Рис. 3.9. Ширина таблицы равна 80 % от ширины окна браузера

Рис. 3.10. Ширина и высота таблицы равна 300 пикселам

Ширина первой таблицы равна 80 % от размера окна браузера, а первый столбец этой таблицы занимает 50 % от всей ширины таблицы. Высота первой строки равна 100 пикселам.

Вторая таблица квадратная, ширина стороны равна 300 пикселам. В листингах 3.4 и 3.5 приведены коды страниц, содержащих описанные таблицы.

Листинг 3.4. Код таблицы шириной 80 % от ширины окна браузера

Высота строки HTML — идеальная высота строки HTML

Вы задумывались когда-нибудь удобно ли читать текст посетителям на Вашем сайта? Или Вы думали что лишь бы шрифт побольше, а там он уже сам разберется? Я считаю, что даже такие нюансы необходимо учитывать. Вы не поверите, но есть даже специальный калькулятор, который поможет подобрать Вам оптимальную высоту строки исходя из того, какой размер текста и длина строки на Вашем сайте. Затем Вам останется выставить необходимые настройки на собственном сайте и всё!

Прежде чем приступать к изучению данной статьи, сделайте одно маленькое исправление на своём сайте (поставьте переносы слов):

Несколько дней назад я писал о редко используемых свойствах CSS3, которые могут быть очень полезны:

Как определить идеальную высоту строки HTML?

Что еще за «идеальная высота строки»…

В типографии существует «идеальный» текст, который подобран особым образом, то есть у него оптимально настроен размер текста, размер между символами, высота строки, количество символов в строке, жирность текста и так далее.

Вы удивитесь, но такой текст Вы видите достаточно часто — журналы, газеты, книги. Вы уже привыкли к тому, что этот текст так выглядит и Вам удобно его читать. Ваш глаз привыкает к этим разрывам между словами, размерам букв и чем больше Вы читаете текст в таком стиле, тем больше привыкаете к нему. И когда Ваш глаз видит текст в котором, возможно, большие пробелы между словами, размер букв маленький или что-то еще не так, тогда чтение затормаживается. Ведь невозможно читать текст, в котором буквы расположены очень узко или очень широко.

Так Вы еще хотите сделать чтение приятным для посетителя? Тогда читайте дальше!

Но такой «идеальный» текст, как в журналах или книгах можно сделать и на Вашем сайте — и даже нужно! Ведь в этом ничего сложного.

Вот к чему я клоню:

Математические пропорции текста сильно влияют на общее представление о сайте, которое складывается у посетителя!

Есть, так называемое, «Golden Ratio» (золотое соотношение), которое необходимо найти для Вашего сайта, а точнее для текста на Вашем сайте. Но как мы будем искать это «Golden Ratio»?

Магия? Нет, мы не будем к ней прибегать

Хочу рассказать Вам об одном классном сервисе, который позволяет вычислить идеальную высоту строки HTML. От Вас лишь необходимо ввести размер текста и длину строки.

Ладно, не буду Вас томить, вот ссылка на сервис — перейти.

Это своего рода калькулятор, который показывает самый оптимальный вариант отображения текста для введенных пользователем параметров. Также присутствует несколько шрифтов. Потому что для разных шрифтов — разные настройки высоты строки, размера текста и количества символов в строке.

Как пользоваться этим сервисом?

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

Что касается размера текста, я думаю понятно какой вводить. То есть вводите тот, который указан у Вас в файле стилей. А длину строки смотрите на изображении ниже:

Я измерял плагином MeasureIt для браузера Firefox (его можно скачать здесь).

Также в поле «Desired CPL» Вы можете ввести желаемое количество символов, которое хотите видеть в строке. Я оставил это поле пустым, чтобы посмотреть какие рекомендации мне даст этот сервис.

Далее жмём на кнопку «Set my type» и справа появляются рекомендации:

Хочу обратить внимание на шрифт и параметры, которые меняются в зависимости от того, какой шрифт выбран:

Здесь Вам необходимо выбрать шрифт, который используется на Вашем сайте. Моего шрифта здесь нет, поэтому я выбрал наиболее близкий и похожий — Verdana. Когда Вы выберете шрифт, изменяться значения для высоты строки и CPL (количество символов в строке).

Сейчас хочу пройтись по значениям (возможно кто-то плохо знает английский):

  • Font Size — размер текста в пикселях (в CSS выглядит так: font-size)
  • Line Height — высота строки в пикселях (в CSS выглядит так: line-height)
  • Content Width — длина строки в пикселях
  • Approx. CPL — оптимальное количество символов в одной строке

Здесь Вы увидите параметры, которые данный сервис подобрал для введенных Вами данных. Но это еще не все советы! Выше Вы могли заметить блок на желтом фоне, где есть четыре пункта:

Кликая на каждый из пунктов — Вам даются рекомендованные значения высоты строки HTML, размера текста, длины строки и оптимального количества символов строки. Быстренько пройдусь по пунктам (у Вас они могут отличаться):

  1. Optimized Typography for 18px Font in 735px-wide Setting — этот пункт подробно я рассмотрел выше
  2. Best Typography for a 735px-wide Setting — самые оптимальные настройки для ширины контента в 735 пикселей
  3. Second-best Typography for a 735px-wide Setting — еще одни допустимые настройки для длины строки в 735 пикселей
  4. Optimal Typography for 18px Font — оптимальные настройки для размера букв в 18 пикселей

Вывод

Думаю Вы узнали как сделать шрифт приятным для посетителей, чтобы они проводили на сайте как можно больше времени, да и еще с удобством читали Ваши статьи. Я раскрыл в этой статье такой важный элемент дизайна, про который многие забывают. А ведь даже такой маленький нюанс влияет на продажи! Но таких нюансов намного больше, Вы даже представить себе не можете насколько их много.

Небольшое резюме:

  1. Что еще за «идеальная высота строки»…
  2. Описание сервиса
  3. Как пользоваться этим сервисом?
 

Успехов!

С Уважением, Юрий Немец

html — Увеличить ширину ячейки данных HTML-таблицы фиксированной высоты?

Подобный вопрос, такой как « Фиксированная высота» и «Изменение ширины для заголовка» (таблица HTML) — за исключением того, что я хотел бы спросить: есть ли другой способ добиться этого, кроме использования —- +: = 0 =: + —- вместо места?По сути, я хотел бы увеличить текстовое содержимое в ячейке данных таблицы, чтобы фиксировать высоту ячейки, а вместо этого увеличить ширину ячейки.Ниже приведен минимальный пример HTML, который ведет себя так при изменении ширины браузера (Firefox 43):одушевленные-browser.gifКак видите, вне зависимости от —- +: = 1 =: + —- /—- +: = 2 =: + —- спецификации в CSS, таблица —- +:= 3 =: + —- поля увеличивают свою высоту, уменьшая при этом ширину.Я хотел бы, чтобы в этом случае указанная высота — и соответствующая ширина — ячеек —- +: = 4 =: + —- оставались неизменными при изменении ширины браузера, и что меняетсявместо этого нижняя полоса прокрутки.Есть ли способ, которым я мог бы достичь этого с помощью CSS или даже JS?В ответ на вопросы @tgallimore :Вы можете дать фиксированную ширину столу?- нет, я бы хотел изменить ширину в зависимости от содержимогоЗнаете ли вы, какой ширины вы хотели бы, чтобы каждая клетка оставалась?- нет, я хотел бы, чтобы он имел фиксированную ширину, тогда, если этого достаточно для двух строк текста, они должны быть отрегулированы для оптимальной ширины (то есть каждая строка имеет примерно одинаковое количество текста)Можно ли дать эту ширину каждой ячейке?- нет, ячейки будут иметь различное текстовое содержимое, как в примереВ ответ на сообщение @Leothelion : я хотел указать фиксированную высоту —- +: = 5 =: + —- (или, скажем, —- +: = 6 =: + — ), потому что я ожидал, что это позволит достаточно вертикального пространства для максимум двух строк текста.Итак, чего я хочу добиться: * Если текст в ячейке короткий (то есть одно слово), тогда разрыв строки отсутствует, текст в одной строке, а высота ячейки —- +: = 7 =: +—- * Если текст в ячейке длинный (целое предложение), то я бы хотел, чтобы макет выяснил, что высота в ячейке —- +: = 8 =: + —- он может вместить максимум две строки текста;после этого он будет пытаться разбить текст так, чтобы в обеих строках было примерно одинаковое количество символов (так что теперь у нас есть «абзац»; и, наконец, он установит ширину ячейки равной ширине этой вновь разбитой строки»параграф».Другими словами, я хотел бы этот макет:ffox-закладки layout.png… независимо от того, как я масштабирую ширину браузера;если ширина браузера слишком мала, то регулируется только горизонтальная полоса прокрутки.Пример кода HTML:

2 ответа


0

Вы можете дать фиксированную ширину столу?Знаете ли вы, какой ширины вы хотели бы, чтобы каждая клетка оставалась?Можно ли дать эту ширину каждой ячейке?Ячейка таблицы ВСЕГДА будет увеличивать свою высоту, если ее содержимое не помещается, независимо от того, установлена ​​вы высота или нет (так что —- +: = 0 =: + —- в этом случае будет работать какa —- +: = 1 =: + —- ).Кроме того, вам, вероятно, потребуется использовать —- +: = 2 =: + —- .Это говорит таблице использовать ширину, которую вы определили, а не пытаться фиксировать ее содержимое в каждой ячейке.Смотрите это для получения дополнительной информации: https://css-tricks.com/fixing-tables-long-strings/

ответил tg’ 21 PMpThu, 21 Apr 2016 12:37:35 +030037Thursday 2016, 12:37:35

0

Что вам нужно, это медиа-запросСмотрите мою обновленную скрипкуНа другом разрешении (я просто взял 1, отрегулируйте в соответствии с вашими потребностями), исправьте ширину и —- +: = 0 =: + —-, и вы получите свое решение.

ответил Leo the lion 21 PMpThu, 21 Apr 2016 12:39:08 +030039Thursday 2016, 12:39:08

Похожие вопросы

Не удается найти страницу | Autodesk Knowledge Network

(* {{l10n_strings.REQUIRED_FIELD}})

{{l10n_strings.CREATE_NEW_COLLECTION}}*

{{l10n_strings.ADD_COLLECTION_DESCRIPTION}}

{{l10n_strings.COLLECTION_DESCRIPTION}} {{addToCollection.description.length}}/500 {{l10n_strings.TAGS}} {{$item}} {{l10n_strings.PRODUCTS}} {{l10n_strings.DRAG_TEXT}}  

{{l10n_strings.DRAG_TEXT_HELP}}

{{l10n_strings.LANGUAGE}} {{$select.selected.display}}

{{article.content_lang.display}}

{{l10n_strings.AUTHOR}}  

{{l10n_strings.AUTHOR_TOOLTIP_TEXT}}

{{$select.selected.display}} {{l10n_strings.CREATE_AND_ADD_TO_COLLECTION_MODAL_BUTTON}} {{l10n_strings.CREATE_A_COLLECTION_ERROR}}

Теги DIV с 100% относительной высоты не изменяются. — Browsers

  • Чтение занимает 2 мин

В этой статье

В этой статье описывается поведение при проектировании, при котором тег DIV с относительной высотой 100% не изменяется в Internet Explorer 9 или более поздней версии.

Исходная версия продукта:   Internet Explorer 9 и более поздние версии
Исходный номер статьи базы знаний:   2674902

Симптомы

В Internet Explorer 9 или более поздней версии используется таблица с абсолютной высотой и по крайней мере двумя ячейками в одной строке. Одна ячейка содержит текст, а другая ячейка содержит тег DIV с относительной высотой 100%. Текст не соответствует заданной высоте, поэтому размер таблицы изменяется. Тег DIV остается в исходной абсолютной высоте таблицы и не будет автоматически изменяться.

Дополнительные сведения

Такое поведение разрабатывается и применяется к стандартному режиму для всех поддерживаемых версий Internet Explorer 9 и более поздних версий.

Примечание

При использовании Internet Explorer 9 или более поздней версии поведение может различаться в режиме совместимости и при эмуляции режима совместимости (КМЕ).

Ниже приведен пример поведения, описанного выше.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <body>
        <table border="1px">
            <tr>
                <td>
                    <p>
                        this text does not fit and will resize the table<br />this text does not fit and will resize the
                        table<br />
                        this text does not fit and will resize the table<br />this text does not fit and will resize the
                        table<br />
                    </p>
                </td>
                <td>
                    <div></div>
                </td>
            </tr>
        </table>
    </body>
</html>

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

В соответствии с CSS 2,1высота поля ячейки равна минимальной высоте, требуемой для содержимого. Свойство ячейки таблицы height может влиять на высоту строки (см. выше), но не увеличивает высоту поля ячейки. Поля в ячейках, размер которых меньше высоты строки, получают дополнительное верхнее или нижнее внутреннее заполнение.

Дополнительные сведения см. в статье Определение совместимости документов.

Как исправить высоту строк в таблице?

Как исправить высоту строк в таблице?

Высота строк «tr» в таблице может быть очень легко исправлена. Это можно сделать, добавив атрибут высоты в тег tr. Если высота не указана, высота строки изменяется в зависимости от содержимого. Высота может быть указана либо в пикселях, либо в процентах.

Синтаксис:

  

Подход:

  • Атрибут высоты используется для установки высоты строки.Он добавлен в тег.
  • Высота должна быть указана в соответствии с содержимым в пикселях или процентах.
  • Если содержимое в строке велико, оно будет переполнено.

Пример: В этом примере высота первой строки была фиксированной, но высота второй строки не была. Итак, когда мы изменяем размер экрана, высота первой строки остается неизменной, но высота второй строки изменяется в зависимости от содержимого.Однако, если указанная высота недостаточно велика в соответствии с содержимым, это может не сработать, и первая строка будет переполняться и вести себя так же, как вторая строка.

Выполните следующий код и измените размер экрана, чтобы увидеть разницу между обеими строками:



< html >

< Головка >

< мета кодировка = "UTF-8" >

< title > Как исправить высоту таблицы tr? title >

< стиль >

стол {

поле слева: авто;

поле-правое: авто;

размер шрифта: 10 пикселей;

ширина: 100%;

раскладка стола: фиксированная;

}

тд {

граница: сплошной черный 1 пиксель;

выравнивание текста: по центру;

отступ: 10 пикселей;

}

tr: nth-child (четный) {

цвет фона: зеленый;

}

стиль >

головка >

< корпус >

< таблица >

< tr высота = "300px" >

< td > Высота этой строки остается неизменной при изменении размера экрана td >

< td > Компьютерщики для компьютерных фанатов td >

< td >

Вундеркинды для гиков - это компьютерные науки

Портал создан с целью

хорошо написано, хорошо продумано

и хорошо объясненные решения для

избранных вопросов.

td >

tr >

< tr >

< td > Высота этой строки изменяется при изменении размера экрана td >

< td > Компьютерщики для компьютерных фанатов td >

< td >

Вундеркинды для гиков - это компьютерные науки

Портал создан с целью

хорошо написано, хорошо продумано

и хорошо объясненные решения для

избранных вопросов.

td >

tr >

таблица >

корпус >

html >

Выход:

  • Перед уменьшением размера экрана:
  • После уменьшения размера экрана:

HTML td-тег


Пример

Простая таблица HTML с двумя строками и четырьмя ячейками таблицы:

<таблица>

Ячейка A
Ячейка B


Ячейка C
Ячейка D

Попробуй сам "

Дополнительные примеры "Попробуйте сами" ниже.


Определение и использование

Тег определяет стандартную ячейку данных в таблице HTML.

Таблица HTML имеет два типа ячеек:

  • Ячейки заголовка - содержат информацию заголовка (создается с помощью элемент)
  • Ячейки данных - содержат данные (созданные с помощью элемента )

Текст в элементах является обычным и по умолчанию выровнен по левому краю.

Текст в элементах по умолчанию выделен полужирным шрифтом и центрирован.


Поддержка браузера

Элемент
Есть Есть Есть Есть Есть

Атрибуты

Атрибут Значение Описание
colspan номер Задает количество столбцов, которые должна занимать ячейка.
заголовки header_id Задает одну или несколько ячеек заголовка, с которыми связана ячейка.
пролет между рядами номер Устанавливает количество строк, которые должна занимать ячейка.

Глобальные атрибуты

Тег также поддерживает глобальные атрибуты в HTML.


Атрибуты событий

Тег также поддерживает атрибуты событий в HTML.



Другие примеры

Пример

Как выровнять содержимое внутри (с помощью CSS):

<таблица>

Месяц
Экономия


январь
100 долларов США


февраль
80 долларов США

Попробуй сам "

Пример

Как добавить цвет фона в ячейку таблицы (с помощью CSS):










Месяц Экономия
Январь 100 долларов США

Попробуй сам "

Пример

Как установить высоту ячейки таблицы (с помощью CSS):










Месяц Экономия
Январь 100 долларов США

Попробуй сам "

Пример

Как запретить перенос слов в ячейке таблицы (с помощью CSS):








Поэма
Никогда не увеличивайте сверх необходимого количество сущностей, необходимых для объяснения чего-либо

Попробуй сам "

Пример

Как выровнять содержимое по вертикали внутри (с помощью CSS):

<таблица>

Месяц
Экономия


Январь
100 долларов США

Попробуй сам "

Пример

Как установить ширину ячейки таблицы (с помощью CSS):

<таблица>

Месяц
Экономия


январь
100

Попробуй сам "

Пример

Как создавать заголовки таблиц:












Имя Электронная почта Телефон
Джон Доу джон[email protected] 123-45-678

Попробуй сам "

Пример

Как создать таблицу с подписью:

<таблица>
Ежемесячная экономия

Месяц
Экономия


январь
100


февраль
80 долларов

Попробуй сам "

Пример

Как определить ячейки таблицы, охватывающие более одной строки или одного столбца:













Имя Электронная почта Телефон
Джон Доу джон[email protected] 123-45-678 212-00-546

Попробуй сам "

Связанные страницы

Учебное пособие по HTML: таблицы HTML

Ссылка на HTML DOM: объект TableData

Учебное пособие по CSS: таблицы стилей


Настройки CSS по умолчанию

Большинство браузеров отображают элемент со следующими значениями по умолчанию:

тд {
дисплей: таблица-ячейка;
вертикальное выравнивание: наследование;
}


HTML-таблицы со стилями CSS

Дизайн таблиц CSS

Модель таблицы HTML позволяет нам упорядочивать данные в табличном представлении, используя модель горизонтальных строк и вертикальных столбцов.В этом уроке свойства CSS style разбиты на соответствующие группы и показано, как использовать их для форматирования таблиц HTML с помощью CSS вместо атрибутов тегов HTML.

Простая структура таблицы HTML с 3 строками и 3 столбцами.


Исходный код HTML
Рулон No Имя Команда
1001 Иоанна Красный
1002 Петр Синий
1003 Генри Зеленый

Как установить ширину и высоту таблицы в CSS

Чтобы указать ширину и высоту таблицы, используйте свойства CSS width, height .Здесь ширина таблицы равна 30%, а высота td установлена ​​на 40 пикселей.

стол { ширина: 40%; } тд { высота: 40 пикселей; }
вывод

Исходный код
Рулон No Имя Команда
1001 Иоанна Красный
1002 Петр Синий
1003 Генри Зеленый

Как установить ширину столбца таблицы в CSS

Чтобы указать ширину столбца в CSS, используйте свойство width для td.

тд { ширина: 170 пикселей; }
вывод

CSS Высота строки таблицы

Вы можете установить высоту строки с помощью свойства CSS line-height , которое оно устанавливает для каждого tr.

tr { высота строки: 50 пикселей; }

Когда вы устанавливаете это свойство, каждая строка имеет высоту 50 пикселей.


CSS Граница таблицы

Чтобы указать границу таблицы в CSS, используйте свойство CSS border.

таблица, th, td { граница: 2 пикселя сплошного зеленого цвета; }

В приведенном выше коде CSS свойство границы применяется к таблице, заголовку таблицы и каждому TD.


Полный исходный код
Катушка No Имя Команда
1001 Иоанна Красный
1002 Петр Синий
1003 Генри Зеленый

CSS Свернуть границы таблицы

Свойство CSS Collapse принимает два значения: отдельные и свернуть.

отдельный: Отдельное значение заставляет все ячейки иметь свои собственные независимые границы и допускает пробелы между этими ячейками.

collapse: Это значение сворачивает все пробелы между границами таблицы и ячейками, чтобы их можно было увидеть как границу в одну строку.

стол { граница-коллапс: коллапс; }
вывод

CSS Table Text Align

В CSS можно выровнять текст по горизонтали и вертикали.Для горизонтального выравнивания вы можете использовать свойство CSS text-align, а для вертикального вы можете использовать свойство vertical-align.



тд { выравнивание текста: вправо; вертикальное выравнивание: снизу; }
output

CSS Table Cell Padding

CellPadding используется для управления пространством между содержимым ячейки и границами ячейки. Чтобы указать заполнение ячеек в CSS, используйте свойство CSS padding.

тд { отступ: 10 пикселей; } th { отступ: 20 пикселей; } Выход

Расстояние между ячейками таблицы CSS

Атрибут Cellspacing помещает пространство вокруг каждой ячейки в таблице.Чтобы указать интервал между ячейками в CSS, используйте свойство CSS border-spacing.

таблица, th, td { граница: 2 пикселя сплошного зеленого цвета; интервал границы: 20 пикселей; }
выход

Полный исходный код
Катушка No Имя Команда
1001 Иоанна Красный
1002 Петр Синий
1003 Генри Зеленый

: элемент ячейки данных таблицы - HTML: язык разметки гипертекста

Элемент HTML определяет ячейку таблицы, которая содержит данные.Участвует в настольной модели .

Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, клонируйте https://github.com/mdn/interactive-examples и отправьте нам запрос на перенос.

., , , даже если оно определено неявно), которому принадлежит ячейка. Значения выше 65534 сокращаются до 65534.

Устаревшие атрибуты

abbr Этот устаревший API больше не следует использовать, но, вероятно, он по-прежнему будет работать.

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

Примечание: Не используйте этот атрибут, так как он устарел в последнем стандарте. В качестве альтернативы вы можете поместить сокращенное описание внутри ячейки и поместить длинное содержимое в атрибут title .

align Этот устаревший API больше не следует использовать, но, вероятно, он по-прежнему будет работать.

Этот перечисляемый атрибут определяет, как будет обрабатываться горизонтальное выравнивание содержимого ячейки. Возможные значения:

  • слева : содержимое выравнивается по левому краю ячейки.
  • центр : содержимое центрируется в ячейке.
  • справа : содержимое выравнивается по правому краю ячейки.
  • по ширине (только с текстом): содержимое растягивается внутри ячейки так, чтобы покрывать всю ее ширину.
  • char (только с текстом): содержимое выравнивается по символу внутри элемента
Категории содержимого Разделение корня.
Разрешенное содержание Содержание потока.
Отсутствие тега Начальный тег является обязательным.
Конечный тег может быть опущен, если за ним сразу следует элемент
или или если в его родительском элементе больше нет данных.
Разрешенные родители Элемент
Неявная роль ARIA ячейка , если потомок элемента
Разрешенные роли ARIA Любая
Интерфейс DOM HTMLTableCellElement

Этот элемент включает глобальные атрибуты.

колпачок
Этот атрибут содержит неотрицательное целое число, указывающее, на сколько столбцов расширяется ячейка. Его значение по умолчанию - 1 . Значения выше 1000 будут считаться неправильными и будут установлены на значение по умолчанию (1).
Этот атрибут содержит список разделенных пробелами строк, каждая из которых соответствует атрибуту id элементов
, которые применяются к этому элементу.
пролет между рядами
Этот атрибут содержит неотрицательное целочисленное значение, указывающее, сколько строк занимает ячейка. Его значение по умолчанию - 1 ; если его значение установлено на 0 , оно продолжается до конца раздела таблицы (
с минимальным смещением. Этот символ определяется атрибутами char и charoff Не реализовано (см. Ошибку 2212).

Значение по умолчанию, когда этот атрибут не указан, - слева .

Примечание:
  • Чтобы добиться того же эффекта, что и слева, , по центру, , справа, или , выровняйте значения по ширине, примените свойство CSS text-align к элементу.
  • Чтобы добиться того же эффекта, что и значение char , присвойте свойству text-align то же значение, которое вы использовали бы для char . Не реализовано в CSS3.
ось Этот устаревший API больше не следует использовать, но, вероятно, он по-прежнему будет работать.
Этот атрибут содержит список строк, разделенных пробелами. Каждая строка - это id группы ячеек, к которой применяется этот заголовок.
bgcolor Этот устаревший API больше не следует использовать, но, вероятно, он по-прежнему будет работать.

Этот атрибут определяет цвет фона каждой ячейки в столбце. Это шестизначный шестнадцатеричный код RGB с префиксом # . Также можно использовать одно из предопределенных цветовых словечек.

Чтобы добиться аналогичного эффекта, используйте свойство CSS background-color .

char Этот устаревший API больше не следует использовать, но, вероятно, он по-прежнему будет работать.
Содержимое элемента ячейки выровнено по символу.Типичные значения включают точку (.) Для выравнивания чисел или денежных значений. Если для align не задано значение char , этот атрибут игнорируется.
charoff Этот устаревший API больше не следует использовать, но, вероятно, он по-прежнему будет работать.
Этот атрибут используется для смещения данных столбца вправо от символа, указанного в атрибуте char . Его значение определяет продолжительность этого сдвига.
height Этот устаревший API больше не следует использовать, но, вероятно, он по-прежнему будет работать.
Этот атрибут используется для определения рекомендуемой высоты ячейки. Вместо этого используйте свойство CSS height .
scope Этот устаревший API больше не следует использовать, но, вероятно, он по-прежнему будет работать.
Этот перечислимый атрибут определяет ячейки, к которым относится элемент заголовка (определенный в
). Используйте этот атрибут только с элементом , чтобы определить строку или столбец, для которых он является заголовком.
valign Этот устаревший API больше не следует использовать, но, вероятно, он по-прежнему будет работать.
Этот атрибут определяет, как текст выравнивается по вертикали внутри ячейки. Возможные значения этого атрибута:
  • базовая линия : размещает текст в нижней части ячейки и выравнивает его по базовой линии символов, а не по нижней части. Если символы не опускаются ниже базовой линии, значение базовой линии дает тот же эффект, что и нижний .
  • снизу : размещает текст в нижней части ячейки.
  • по центру : центрирует текст в ячейке.
  • и вверху : текст размещается в верхней части ячейки.

Чтобы добиться аналогичного эффекта, используйте свойство CSS vertical-align .

width Этот устаревший API больше не следует использовать, но, вероятно, он по-прежнему будет работать.
Этот атрибут используется для определения рекомендованной ширины ячейки.Вместо этого используйте свойство CSS width .

Таблицы BCD загружаются только в браузер

тегов DIV со 100% относительной высотой без изменения размера - Браузеры

  • 2 минуты на чтение

В этой статье

Эта статья представляет собой конструктивное поведение, согласно которому размер тега DIV с относительной высотой 100% не изменяется в Internet Explorer 9 или более поздней версии.

Исходная версия продукта: Internet Explorer 9 и более поздние версии
Исходный номер базы знаний: 2674902

Симптомы

В Internet Explorer 9 или более поздней версии используется таблица с абсолютной высотой и как минимум двумя ячейками в одной строке. Одна ячейка содержит текст, а другая - тег DIV с относительной высотой 100%. Текст не помещается на заданную высоту, поэтому размер таблицы изменяется. Тег DIV остается на исходной абсолютной высоте таблицы и не будет автоматически изменен.

Дополнительная информация

Такое поведение является конструктивным и применяется к стандартному режиму для всех поддерживаемых версий Internet Explorer 9 и более поздних версий.

Примечание

Поведение может отличаться в режиме Quirks Mode и в режиме эмуляции Quirks Mode (QME) при использовании Internet Explorer 9 или более поздней версии.

Ниже приведен пример поведения, описанного выше:

  

    
        

этот текст не помещается и изменит размер таблицы
этот текст не подходит и изменит размер стол
этот текст не помещается и изменит размер таблицы
этот текст не подходит и изменит размер стол

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

Согласно CSS 2.1, высота поля ячейки - это минимальная высота, требуемая содержимым. Свойство height ячейки таблицы может влиять на высоту строки (см. Выше), но не увеличивает высоту поля ячейки. Ячейки, размер которых меньше высоты строки, получают дополнительное верхнее или нижнее заполнение.

Для получения дополнительной информации см. Определение совместимости документов.

Прекратите использование

для установки ширины таблицы в HTML: вот почему »

Регулировка ширины столбца таблицы

Атрибут width , который теперь устарел, когда-то был правильным способом регулировки ширины столбцов таблицы. По умолчанию браузер настраивает столбцы таблицы так, чтобы они соответствовали содержимому таблицы. Однако, если вы хотите контролировать ширину каждого столбца, вы можете сделать это, отрегулировав ширину каждого

или одной строки.Давайте посмотрим, как это делалось раньше с атрибутом width , а затем посмотрим, как то же самое можно сделать теперь с помощью CSS. Но сначала нам нужна базовая линия для сравнения.

  
Тонкий Действительно Действительно Действительно Широкий
Маленький Много-много и много-много контента, настолько много, что нам может даже понадобиться разрыв строки.

Как видите, в этом первом случае мы не применили никаких CSS или атрибутов .Что браузер будет делать с этой таблицей?

Тонкий Действительно Действительно Действительно Широкий
Маленький Много-много, много-много контента, настолько много, что нам может даже понадобиться разрыв строки.

Как видите, браузер предоставил второму столбцу намного больше места, чем первому. Теперь давайте попробуем то же самое, но с использованием атрибута width , чтобы столбцы были одинакового размера.

  
Тонкий Действительно Действительно Действительно Широкий
Маленький Много-много и много-много контента, настолько много, что нам может даже понадобиться перенос строки.

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

Тонкий Действительно Действительно Действительно Широкий
Маленький Много-много, много-много контента, настолько много, что нам может даже понадобиться разрыв строки.

Очень хорошо. К сожалению, это также недопустимый HTML, поскольку атрибут width устарел.Однако мы можем сделать то же самое с помощью простого CSS.

   
Тонкий Действительно Действительно Действительно Широкий
Маленькие Много и много-много-много контента, настолько много, что потребуется разрыв строки.

Давайте посмотрим, что наш браузер делает с этой таблицей, используя CSS, а не шириной атрибут:

.равная ширина td {width: 50%;}
Тонкий Действительно Действительно Действительно Широкий
Маленький Много-много, много-много контента, настолько много, что потребуется разрыв строки.

Регулируемая высота строки таблицы

Другой атрибут, тесно связанный с шириной , - это высота . Этот атрибут также устарел, поэтому вам не следует его использовать, но пока мы говорим о настройке ширины столбца, мы также должны затронуть настройку высоты строки.Вот как бы вы сделали это раньше с устаревшим атрибутом:

  
Thin Really Really Really Wide
Little Много-много-много-много контента, настолько много, что потребуется разрыв строки.

А вот что у вас браузер обрабатывает эту информацию.

Тонкий Действительно Действительно Действительно Широкий
Маленький Много-много, много-много контента, настолько много, что потребуется разрыв строки.

Поскольку этот атрибут устарел, мы должны показать вам, как сделать то же самое с CSS. Вот как это сделать:

   
Тонкий Действительно Действительно Действительно Широкий
Маленькие Много и много-много-много контента, настолько много, что потребуется разрыв строки.

Ваш браузер должен отображать этот код таким образом, который практически идентичен эффекту атрибут ширины .Посмотрим, есть ли это:

.tall-row td {height: 200px;}
Тонкий Действительно Действительно Действительно Широкий
Маленький Много-много-много-много контента, так много, что он будет требуется разрыв строки.

Честно говоря, я не уверен, зачем вам нужно контролировать высоту строки. Гораздо разумнее контролировать поля и отступы вокруг содержимого элемента

и позволить браузеру автоматически устанавливать высоту строки на основе этой информации.Вот как можно применить эту стратегию:

   
Тонкий Действительно Действительно Действительно Широкий
Маленькие Много и много-много-много контента, настолько много, что для этого потребуется разрыв строки.

Этот фрагмент CSS добавляет 80 пикселей заполнения выше и ниже каждого

элемент и 10 пикселей заполнения слева и справа от каждого элемента .Вот результат:

.tall-row td {padding: 80px 10px;}
Thin Really Really Really Wide
Little Много-много-много-много контента, настолько много, что для этого потребуется разрыв строки.

Подробнее о таблицах стилей

Таблицы создают большое количество проблем для веб-разработчиков. Чтобы узнать больше о таблицах HTML и о том, как их стилизовать, ознакомьтесь с нашим руководством по таблицам.

Адам - ​​технический писатель, специализирующийся на документации и руководствах для разработчиков.

Таблицы

Таблицы

В этой главе определяется модель обработки для таблиц в CSS. Часть этой модели обработки является макет. Что касается макета, в этой главе вводит два алгоритма; во-первых, фиксированный макет стола алгоритм, четко определен, но второй, автоматический макет таблицы алгоритм, не полностью определен данной спецификацией.

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

Макет стола может быть используется для представления табличных отношений между данными. Авторы указывают эти отношения в документе язык и может указать их презентацию , используя CSS 2.1.

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

Авторы могут указать визуальное форматирование таблицы как прямоугольная сетка ячеек.Могут быть организованы ряды и столбцы ячеек. на группы строк и группы столбцов. Строки, столбцы, группы строк, столбец группы, и ячейки могут иметь границы, нарисованные вокруг них (есть два модели границ в CSS 2.1). Авторы могут выровнять данные по вертикали или по горизонтали внутри ячейки и выровнять данные во всех ячейках строки или столбец.

Примеры:

Вот простая трехрядная трехколоночная таблица, описанная в HTML 4:

<ТАБЛИЦА>
Это простой стол 3x3
Заголовок 1 Ячейка 1 Ячейка 2
Заголовок 2 Ячейка 3 Ячейка 4
Заголовок 3 Ячейка 5 Ячейка 6

Этот код создает одну таблицу (элемент ТАБЛИЦА), три строки (элементы TR), три ячейки заголовка (элементы TH), и шесть ячеек данных (элементы TD).Обратите внимание, что три столбца этого примера указаны неявно: столько же столбцы в таблице в соответствии с требованиями заголовка и ячеек данных.

Следующее правило CSS центрирует текст по горизонтали в заголовке. ячейки и выделяет текст в ячейках заголовка жирным шрифтом масса:

й {выравнивание текста: центр; font-weight: bold}
 

Следующие правила выравнивают текст ячеек заголовка по их базовой линии. и вертикально центрируйте текст в каждой ячейке данных:

th {vertical-align: baseline}
тд {вертикальное выравнивание: середина}
 

Следующие правила определяют, что верхняя строка будет окружена 3px сплошная синяя граница, и каждая из других строк будет окружена Сплошная черная рамка 1px:

таблица {border-collapse: collapse}
tr # row1 {border: 3px, сплошной синий}
tr # row2 {border: 1px сплошной черный}
tr # row3 {border: 1px сплошной черный}
 

Обратите внимание, однако, что границы вокруг строк перекрываются там, где ряды встречаются.Какой цвет (черный или синий) и толщина (1 или 3 пикселя) будут граница между row1 и row2 быть? Мы обсуждаем это в разделе, посвященном разрешение приграничных конфликтов.

Следующее правило помещает заголовок таблицы над таблицей:

caption {caption-side: top}
 

В предыдущем примере показано, как CSS работает с элементами HTML 4; в HTML 4 семантика различных элементов таблицы (ТАБЛИЦА, CAPTION, THEAD, TBODY, TFOOT, COL, COLGROUP, TH и TD) являются четко определенный. На других языках документов (например, в приложениях XML), не может быть предопределенных элементов таблицы.Следовательно, CSS 2.1 позволяет авторов для "сопоставления" языковых элементов документа с элементами таблицы с помощью свойство display. За Например, следующее правило заставляет элемент FOO действовать как HTML Элемент TABLE и элемент BAR действуют как элемент CAPTION:

FOO {display: table}
BAR {display: table-caption}
 

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

Модель таблицы CSS основана на модели таблицы HTML4, в структура которой очень близка к визуальному расположению стол. В этой модели таблица состоит из необязательного заголовка и любое количество рядов ячеек. Модель таблицы называется "строка первичный ", поскольку авторы указывают строки, а не столбцы, явно в язык документа. Столбцы выводятся после того, как все строки были указано - первая ячейка каждой строки принадлежит первому столбцу, от второго ко второму столбцу и т. д.). Строки и столбцы могут быть структурно сгруппированы, и эта группировка отражена в презентации (например, вокруг группы строк может быть нарисована граница).

Таким образом, табличная модель состоит из таблиц, заголовков, строк, групп строк (включая группы заголовков и нижний колонтитул). группы), столбцы, группы столбцов и ячейки.

Модель CSS не требует, чтобы язык документа включал элементы которые соответствуют каждому из этих компонентов. Для языков документа (например, приложения XML), у которых нет предопределенной таблицы элементы, авторы должны сопоставить языковые элементы документа с таблицей элементы; это делается с помощью свойства display.Следующее таблица значений 'display' правила форматирования для произвольного элемента:

стол (В HTML: ТАБЛИЦА)
Указывает, что элемент определяет таблицу уровня блока: это прямоугольный блок, который участвует в контексте форматирования блока.
встроенный стол (In HTML: TABLE)
Указывает, что элемент определяет таблицу встроенного уровня: это прямоугольный блок, участвующий во встроенном форматировании контекст).
таблица-строка (в HTML: TR)
Указывает, что элемент является строкой ячеек.
таблица-строка-группа (В HTML: TBODY)
Указывает, что элемент группирует один или несколько ряды.
группа-заголовок-таблица (В HTML: THEAD)
Как 'table-row-group', но для визуального форматирование, группа строк всегда отображается перед всеми остальными строками и группы строк и после любых верхних заголовков. Пользовательские агенты печати могут повторять строки заголовков на каждой странице, охватываемой таблицей.Если таблица содержит несколько элементов с 'display: table-header-group', только первый отображается как заголовок; с остальными обращаются так, как будто они имел 'display: table-row-group'.
группа нижнего колонтитула (В HTML: TFOOT)
Как 'table-row-group', но для визуального форматирование, группа строк всегда отображается после всех остальных строк и группы строк и перед любыми нижними заголовками. Пользовательские агенты печати могут повторять строки нижнего колонтитула на каждой странице, охватываемой таблицей.Если таблица содержит несколько элементов с 'display: table-footer-group', только первый отображается как нижний колонтитул; с остальными обращаются так, как будто они имел 'display: table-row-group'.
таблица-столбец (В HTML: COL)
Указывает, что элемент описывает столбец клетки.
таблица-столбец-группа (В HTML: COLGROUP)
Указывает, что элемент группирует один или несколько столбцы.
таблица-ячейка (в HTML: TD, TH)
Указывает, что элемент представляет ячейку таблицы.
заголовок таблицы (In HTML: CAPTION)
Задает заголовок для таблицы. Все элементы с 'display: table-caption' должен отображаться, как описано в раздел 17.4.

Замененные элементы с этими «отображаемыми» значениями рассматриваются как их заданные типы отображения во время макета. Например, изображение, которое установлено to 'display: table-cell' заполнит доступное пространство ячейки, а его размеры могут способствовать алгоритмам определения размера таблицы, так как с обычной ячейкой.

Элементы с набором "дисплей" to 'table-column' или 'table-column-group' не отображаются (точно так же, как если бы у них было 'display: none'), но они полезны, потому что могут имеют атрибуты, которые задают определенный стиль столбцам, в которых они представлять.

Таблица стилей по умолчанию для HTML4 в приложении показано использование этих значений для HTML4:

таблица {display: table}
tr {display: table-row}
thead {display: table-header-group}
tbody {display: table-row-group}
tfoot {display: table-footer-group}
col {display: table-column}
colgroup {display: table-column-group}
td, th {display: table-cell}
подпись {display: table-caption}
 

Пользовательские агенты могут игнорировать эти значения свойства 'display' для Элементы таблицы HTML, поскольку таблицы HTML могут отображаться с использованием других алгоритмы, предназначенные для обратно совместимого рендеринга.Однако это не предназначен для того, чтобы препятствовать использованию 'display: table' на другом, нестабличные элементы в HTML.

17.2.1 Объекты анонимных таблиц

Языки документов, отличные от HTML, могут не содержать всех элементов в табличной модели CSS 2.1. В этих случаях «пропавшие без вести» элементы должны быть приняты для того, чтобы модель таблицы работала. Любой элемент table автоматически сгенерирует необходимую анонимную таблицу объекты вокруг себя, состоящие как минимум из трех вложенных объектов соответствующий элементу 'table' / 'inline-table', 'table-row' элемент и элемент "таблица-ячейка".Отсутствующие элементы создают анонимные объекты (например, анонимные ящики в визуальном макете таблицы) по следующим правилам:

Для целей настоящих правил определены следующие термины:

рядный групповой ящик
'table-row-group', 'table-header-group' или 'table-footer-group'
правильный стол ребенок
Поле «таблица-строка», поле «Группа строк», поле «Таблица-столбец», поле 'table-column-group' или поле 'table-caption'.
правильный родитель строки таблицы
Поле «таблица» или «встроенная таблица» или поле группы строк
внутренний настольный ящик
Поле 'таблица-ячейка', поле 'таблица-строка', поле группы строк, поле "таблица-столбец" или поле "таблица-столбец-группа".
табличный контейнер
Поле "строка-таблица" или соответствующий родительский элемент строки таблицы
подряд
Два соседних блока идут подряд, если они не имеют промежуточного звена. братьев и сестер, кроме, необязательно, анонимной встроенной строки, содержащей только пробелы. Последовательность одноуровневых ящиков является последовательной, если каждый прямоугольник в последовательности следует за предыдущим в последовательность.

Для целей настоящих правил непроточные элементы представлены как встроенные элементы нулевой ширины и высоты.Их содержащие блоки выбираются соответственно.

Следующие шаги выполняются в три этапа.

  1. Удалите ненужные поля:
    1. Все дочерние поля родительского элемента «таблица-столбец» обрабатываются так, как если бы у них было «display: none».
    2. Если дочерний элемент C родительского элемента table-column-group не поле "таблица-столбец", тогда оно обрабатывается так, как если бы в нем 'display: none'.
    3. Если дочерний C табличного контейнера P анонимный встроенный блок, содержащий только пробелы, и его непосредственно предшествующие и следующие братья и сестры, если any, являются правильными потомками таблицы P и являются либо 'table-caption', либо внутренние поля таблицы, тогда это обрабатывается так, как если бы он имел "display: none".Ящик D есть правильный потомок таблицы A , если D может быть потомком A , не вызывая генерация любой промежуточной 'таблицы' или 'встроенной таблицы' коробки.
    4. Если поле B является анонимной строкой, содержащей только пустое пространство и находится между двумя ближайшими братьями и сестрами, каждый из который является либо внутренним блоком таблицы, либо заголовком таблицы box, то B обрабатывается так, как если бы он имел 'display: никто'.
  2. Создать недостающие дочерние оболочки:
    1. Если ребенок C поля «таблица» или «встроенная таблица» не является правильным дочерним элементом таблицы, затем сгенерируйте анонимный прямоугольник "таблица-ряд" вокруг C и всех последующих братья и сестры C , которые не являются собственными дочерними элементами таблицы.
    2. Если дочерний элемент C поля группы строк не является поле 'table-row', затем сгенерируйте анонимное поле 'table-row' около C и все последовательные братья и сестры из C , которые не являются блоками «таблица-строка».
    3. Если дочерний элемент C поля «таблица-строка» не является 'table-cell', затем сгенерируйте анонимное поле 'table-cell' около C и все последовательные братья и сестры из C , которые не являются блоками «таблица-ячейка».
  3. Сгенерировать пропавших без вести родителей:
    1. Для каждого поля «таблица-ячейка» C в последовательности последовательная внутренняя таблица и братья и сестры 'table-caption', если родитель C не является строкой таблицы, тогда сгенерируйте анонимный блок «таблица-ряд» вокруг C и все последовательные братья и сестры C , которые являются 'ячейкой таблицы' коробки.
    2. Для каждого соответствующего дочернего стола C в последовательности последовательные дочерние элементы правильной таблицы, если C с ошибками, затем сгенерируйте анонимную `` таблицу '' или коробка 'inline-table' T около C и все последовательные братья и сестры C , которые являются правильной таблицей дети. (Если родитель C является встроенным блоком, тогда T должен быть окном «встроенная таблица»; иначе это должен быть «стол».)
      • 'строка-таблица' не родительская, если ее родитель не является ни тем, ни другим поле группы строк, а также поле «таблица» или «встроенная таблица».
      • Коробка "таблица-столбец" имеет неверный родительский элемент, если ее родительский элемент ни поле "таблица-столбец-группа", ни "таблица", ни поле inline-table.
      • Поле группы строк, поле «таблица-столбец-группа» или поле 'table-caption' имеет неверный родительский элемент, если его родительский элемент ни поле «таблица», ни поле «встроенная таблица».

Примеры:

В этом примере XML предполагается, что элемент 'table' содержит Элемент HBOX:


   Джордж 
   4287 
   1998 

 

, потому что связанная таблица стилей:

HBOX {display: table-row}
VBOX {дисплей: таблица-ячейка}
 

Пример (ы):

В этом примере предполагается, что три элемента 'table-cell' содержат текст в строках.Обратите внимание, что текст дополнительно заключен в анонимные встроенные блоки, как описано в модели визуального форматирования:

<СТЕК>
   Это  верхняя  строка. 
   Это  средний  ряд. 
   Это  нижняя  строка. 

 

Таблица стилей:

СТЕК {дисплей: встроенная таблица}
СТРОКА {display: table-row}
D {display: inline; font-weight: bolder}
 

Ячейки таблицы могут принадлежать двум контекстам: строкам и столбцам.Тем не мение, в исходном документе ячейки являются потомками строк, а не столбцы. Тем не менее, на некоторые аспекты клеток могут влиять установка свойств столбцов.

Следующие свойства применяются к элементам столбца и группы столбцов:

'граница'
Различные свойства границы применяются к столбцам только в том случае, если установлен параметр «border-collapse» "свернуть" элемент таблицы. В этом случае границы устанавливаются на столбцы и группы столбцов вводятся для разрешения конфликта алгоритм, который выбирает стили границ на каждом краю ячейки.
'фон'
Свойства фона задают фон для ячеек в столбец, но только если и ячейка, и строка имеют прозрачные фоны. См. «Слои таблицы и прозрачность ".
'ширина'
Свойство width дает минимальная ширина столбца.
'видимость'
Если для параметра «видимость» столбца установлено значение «свернуть», ни один из отображаются ячейки в столбце, а ячейки, которые охватывают другие столбцы обрезаются.Кроме того, ширина стола составляет уменьшится на ширину, которую заняла бы колонка. См. «Динамические эффекты» ниже. Прочие ценности для "видимости" не действуют.

Примеры:

Вот несколько примеров правил стиля, которые устанавливают свойства на столбцы. Первые два правила вместе реализуют атрибут "rules" HTML 4 со значением «cols». Третье правило делает "итоги" столбец синий, последние два правила показывают, как сделать столбец фиксированным размер, используя фиксированный макет алгоритм.

col {border-style: none solid}
таблица {border-style: hidden}
col.totals {background: blue}
таблица {table-layout: fixed}
col.totals {width: 5em}
 

С точки зрения модели визуального форматирования таблица может вести себя как блочного уровня (для 'display: table ') или inline-level (для 'display: inline-table') элемент.

В обоих случаях таблица генерирует блок основного блока, называемый обертка стола , что содержит само поле таблицы и все поля заголовков (в документе порядок).Поле таблицы - это блок уровня блока, который содержит внутренние ящики стола. Поля заголовков представляют собой блоки блочного уровня, которые сохраняют свои собственные содержимое, отступы, поля и границы и отображаются как обычно блок-боксы внутри обертки стола. Помещены ли поля с заголовками до или после поля таблицы определяется 'caption-side' свойство, как описано ниже.

Блок-оболочка таблицы является блоком, если таблица является блочной, и поле «встроенный блок», если таблица является встроенной.Коробка-обертка стола устанавливает контекст форматирования блока. Столик (не обертка таблицы) используется при выполнении базовой вертикальное выравнивание для «встроенной таблицы». Ширина обертки таблицы box - это ширина границы поля таблицы внутри него, как описано по разделу 17.5.2. Проценты по ширине и высоте в таблице равны относительно блока, содержащего обертку таблицы, а не по отношению к блоку обертки таблицы сам.

Вычисленные значения свойств 'position', 'float', 'margin- *', "верхний", "правый", "нижний" и "левый" в элементе таблицы используются в коробку-обертку стола, а не коробку стола; все другие значения ненаследуемые свойства используются в поле таблицы, а не в таблице обертка.(Если значения элемента таблицы не используются в таблицы и обертки таблиц, вместо них используются начальные значения.)

Схема таблицы с подписью над ней.

17.4.1 Положение и выравнивание заголовка

'caption-side'
Значение: наверх | внизу | наследовать
Начальное: верх
Применимо к: элементам table-caption
Унаследовано: да
В процентах: Н / Д
Медиа: визуальный
Расчетное значение: как указано

Это свойство определяет положение поля заголовка с по отношению к ящику стола.Ценности имеют следующие значения:

вверху
Помещает поле заголовка над настольный ящик.
снизу
Располагает поле заголовка под настольный ящик.

Примечание: CSS2 описал другую ширину и поведение горизонтального выравнивания. Это поведение будет представлено в CSS3 с использованием значений top-outside и bottom-outside на этом свойство.

Чтобы выровнять содержимое заголовка по горизонтали в поле заголовка, используйте свойство text-align.

Примеры:

В этом примере свойство caption-side размещает подписи под таблицами. Заголовок будет такой же ширины, как родительский элемент таблица и текст заголовка будут выровнены по левому краю.

caption {caption-side: bottom;
          ширина: авто;
          выравнивание текста: слева}
 

Внутренние элементы таблицы создают прямоугольные блоки с содержимым и границами. Ячейки также имеют отступы. Внутренние элементы таблицы не имеют поля.

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

  1. Каждый блок строки занимает одну строку ячеек сетки. Вместе ряд коробки заполняют таблицу сверху вниз в том порядке, в котором они встречаются исходный документ (т.е. таблица занимает ровно столько же сетки строки, поскольку есть элементы строки).
  2. Группа строк занимает те же ячейки сетки, что и строки, которые она содержит.
  3. Поле столбца занимает один или несколько столбцов ячеек сетки. Столбец коробки располагаются рядом друг с другом в порядке их появления. В блок первого столбца может быть как слева, так и справа, в зависимости от значения свойства «направление» таблицы.
  4. Поле группы столбцов занимает те же ячейки сетки, что и столбцы это содержит.
  5. Ячейки могут занимать несколько строк или столбцов. (Хотя CSS 2.1 не определяет количество составных строк или столбцов определено, пользовательский агент может иметь специальные знания об источнике документ; будущее обновление CSS может предоставить способ выразить это знание синтаксиса CSS.) Каждая ячейка представляет собой прямоугольную коробку, одну или более ячеек сетки шириной и высотой. Верхний ряд этого прямоугольника в строке, указанной родительским элементом ячейки. Прямоугольник должен иметь вид как можно дальше влево, но часть ячейки в первой столбец, который он занимает, не должен перекрывать любой другой блок ячеек (т. е. ячейка, охватывающая строки, начиная с предыдущей строки), и ячейка должна быть справа от всех ячеек в той же строке, которые находятся ранее в исходный документ. Если эта позиция вызовет ячейку, занимающую столбцы чтобы перекрыть ячейку, занимающую ряд строк, из предыдущей строки, CSS не определяет результаты: реализации могут либо перекрывать ячейки (как сделано во многих реализациях HTML) или может сместить более позднюю ячейку на право избегать такого дублирования.(Это ограничение выполняется, если свойство 'direction' таблицы - 'ltr'; если "направление" 'rtl', поменяйте местами "left" и "right" в предыдущих двух фразы.)
  6. Поле ячейки не может выходить за пределы поля последней строки таблицы или группа строк; пользовательские агенты должны укорачивать его, пока он не подходит.

Края строк, столбцов, групп строк и групп столбцов в модель сворачивающихся границ совпадает с гипотетическими линиями сетки, на которых границы ячеек по центру.(Таким образом, в этой модели ряды вместе точно покрывают стол, не оставляющий зазоров; то же самое для столбцов.) В модели с разделенными границами края совпадают с краевыми краями клетки. (Таким образом, в этой модели между рядами могут быть промежутки, столбцы, группы строк или группы столбцов, соответствующие свойству 'border-spacing'.)

Примечание. Размещение и перемещение ячеек таблицы может привести к тому, что они больше не будут ячейками таблицы, в соответствии с правилами в разделе 9.7. При плавании , правила для анонимных объектов таблицы могут вызвать Также будет создан объект анонимной ячейки.

Вот пример, иллюстрирующий правило 5. Следующие недопустимые (X) Фрагмент HTML определяет конфликтующие ячейки:

<таблица>
  1   2   3   4  
  5  

 

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

[D]

Два возможных отображение ошибочной таблицы HTML.

17.5.1 Слои таблицы и прозрачность

Для поиска фона каждой ячейки таблицы различные элементы таблицы можно рассматривать как находящиеся на шести наложенные слои. Фон, установленный на элементе в одном из слои будут видны только в том случае, если слои над ним имеют прозрачный фон.

[D]

Схема слоев таблицы.

  1. Самый нижний слой представляет собой единую плоскость, представляющую поле таблицы сам.Как и все коробки, он может быть прозрачным.
  2. Следующий уровень содержит группы столбцов. Каждая группа столбцов простирается от верха ячеек верхнего ряда до низа ячейки в нижнем ряду и от левого края крайнего левого столбец к правому краю его самого правого столбца. Фон покрывает ровно всю площадь всех ячеек, которые берут начало в группа столбцов, даже если они выходят за пределы группы столбцов, но это разница в площади не влияет на расположение фонового изображения.
  3. Вверху групп столбцов находятся области, представляющие ящики для столбцов. Высота каждого столбца равна высоте групп столбцов и шириной как обычная (занимающая один столбец) ячейка в столбце. В фон покрывает ровно всю площадь всех исходных ячеек в столбце, даже если они выходят за пределы столбца, но это разница в площади не влияет на расположение фонового изображения.
  4. Далее идет слой, содержащий группы строк. Каждая группа строк простирается от верхнего левого угла самой верхней ячейки в первой столбец в нижний правый угол его самой нижней ячейки в последней столбец.
  5. предпоследний слой содержит строки. Ширина каждого ряда равна группы строк и такой же высотой, как обычная (однострочная) ячейка в ряд. Как и в случае со столбцами, фон полностью покрывает площадь всех ячеек, которые берут начало в строке, даже если они охватывают вне ряда, но эта разница в площади не влияет позиционирование фонового изображения.
  6. Самый верхний слой содержит сами ячейки. Как фигура отображается, хотя все строки содержат одинаковое количество ячеек, но не все ячейка могла иметь указанное содержимое.В модели с разделенными границами ('граница-коллапс' 'отдельные'), если значение их свойства 'пустые ячейки' равно 'скрыть' эти "пустые" ячейки прозрачны через ячейку, строку, строку группы, столбцы и фоны групп столбцов, позволяя таблице фон просвечивает.

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

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



  <ГОЛОВА>
     Пример таблицы 
    <СТИЛЬ type = "текст / css">
      ТАБЛИЦА {фон: # ff0; граница: сплошной черный;
               пустые ячейки: скрыть}
      TR.верх {фон: красный}
      TD {border: сплошной черный}
    
  
  <ТЕЛО>
    <ТАБЛИЦА>
      
         1
         2
         3
         4
      
         5
        
    
  

 

можно отформатировать следующим образом:

[D]

Таблица с пустыми ячейками в нижней строке.

Обратите внимание, что если у таблицы есть 'border-collapse: отдельный', фон области, заданной свойством 'border-spacing', равен всегда фон элемента таблицы.См. Модель с разделенными границами.

17.5.2 Алгоритмы ширины таблицы: 'table-layout' свойство

CSS не определяет "оптимальный" макет таблиц, поскольку во многих случаях, что оптимально - дело вкуса. CSS действительно определяет ограничения, которые пользовательские агенты должны соблюдать при компоновке таблицы. Пользовательские агенты могут использовать любой алгоритм, который они хотят, и могут предпочитать скорость рендеринга точности, за исключением случаев, когда "фиксированный макет алгоритм ".

Обратите внимание, что этот раздел отменяет правила, применяемые к расчет ширины, как описано в разделе 10.3. В в частности, если поля таблицы установлены на «0», а ширина - на 'auto', таблица не будет автоматически изменяться для заполнения содержащего блокировать. Однако, как только вычисленное значение ширины таблицы будет найдено (с использованием алгоритмов, приведенных ниже, или, при необходимости, некоторых другой алгоритм, зависящий от UA), тогда остальные части раздела 10.3 выполняют подать заявление. Поэтому стол можно центрировать , используя левый и правый например, поля "авто".

В будущих обновлениях CSS могут появиться способы создания таблиц автоматически подгонять содержащиеся в них блоки.

'стол-расклад'
Значение: авто | фиксированный | наследовать
Начальное: авто
Применимо к: элементам 'table' и 'inline-table'
Унаследовано: нет
В процентах: Н / Д
Медиа: визуальный
Расчетное значение: как указано

Стол-расклад свойство контролирует алгоритм, используемый для размещения ячеек таблицы, строк, и столбцы.Значения имеют следующее значение:

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

Два алгоритма описаны ниже.

17.5.2.1 Фиксированная разметка таблицы

С помощью этого (быстрого) алгоритма горизонтальная компоновка таблицы не зависеть от содержимого ячеек; это зависит только от ширина таблицы, ширина столбцов и границы или интервал между ячейками.

Ширина таблицы может быть явно указана с помощью свойства width. Значение «авто» (для оба 'display: table' и 'display: inline-table') означают использование алгоритма автоматического макета таблицы. Однако, если таблица является таблицей блочного уровня ('display: table') в нормальный поток, UA может (но не обязан) использовать алгоритм 10.3.3 для вычисления ширины и применения фиксированный макет таблицы, даже если указанная ширина - «авто».

Примеры:

Если UA поддерживает фиксированный макет таблицы, когда 'width' установлено 'auto', следующее создаст таблицу, которая на 4em уже, чем содержащая блокировать:

table {table-layout: fixed;
        маржа слева: 2em;
        margin-right: 2em}
 

В алгоритме фиксированного макета таблицы ширина каждого столбца равна определяется следующим образом:

  1. Элемент столбца со значением, отличным от auto, для свойства width устанавливает ширину для этот столбец.
  2. В противном случае ячейка в первой строке со значением, отличным от 'auto' для свойства 'width' определяет ширину этого столбца. Если размер ячейки превышает один столбец, ширина делится по столбцам.
  3. Любые оставшиеся столбцы поровну делят оставшуюся горизонталь табличное пространство (без границ или интервала между ячейками).

Ширина таблицы в этом случае больше значения свойство width для таблицы элемент и сумма ширины столбца (плюс интервал ячеек или границы).Если таблица шире столбцов, дополнительное пространство следует распределить по столбцам.

Если в следующей строке больше столбцов, чем большее число определяется элементами таблицы-столбца и числом, определяемым первый ряд, затем дополнительные столбцы не могут отображаться. CSS 2.1 не определяет ширина столбцов и таблицы, если они визуализируются . При использовании table-layout: fixed ', авторы не должны опускать столбцы из первой строки.

Таким образом, пользовательский агент может начать разметку таблицы один раз вся первая строка была получена.Ячейки в последующих строках делают не влияет на ширину столбца. Любая ячейка с содержимым, которое выходит за пределы использует свойство overflow для определить, нужно ли обрезать переполненное содержимое.

17.5.2.2 Автоматическая разметка таблицы

В этом алгоритме (обычно требуется не более двух проходов), ширина таблицы определяется шириной ее столбцов (и промежуточные границы). Этот алгоритм отражает поведение нескольких популярных пользовательских HTML-агентов при написании эта спецификация. UA не требуются для реализации этого алгоритма для определения макета таблицы в случае, если 'table-layout' - 'auto'; Oни может использовать любой другой алгоритм, даже если он ведет к другому поведению.

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

Примечание. Это может быть определено более подробно в CSS3.

Остальная часть этого раздела не является нормативной.

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

Ширина колонны определяется следующим образом:

  1. Рассчитайте минимальную ширину содержимого (MCW) каждой ячейки: форматированный контент может занимать любое количество строк, но не может выходить за пределы сотовый ящик. Если указанная ширина (W) ячейки больше чем MCW, W - минимальная ширина ячейки. Значение «авто» означает, что MCW - минимальная ширина ячейки.

    Также рассчитайте «максимальную» ширину каждой ячейки: форматирование содержимое без разрывов строк, кроме явной строки случаются разрывы.

  2. Для каждого столбца определите максимальную и минимальную ширину столбца. из ячеек, охватывающих только этот столбец. Минимум то, что требуется ячейке с наибольшей минимальной шириной ячейки (или "ширина" столбца, в зависимости от того, что больше). Максимум - это то, что требуется ячейке с наибольшим максимальная ширина ячейки (или «ширина» столбца, в зависимости от того, что больше).

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

  4. Для каждого элемента группы столбцов с шириной, отличной от 'auto', увеличьте минимальную ширину столбцов, которые он охватывает, чтобы вместе они по крайней мере равны «ширине» группы столбцов.

Это дает максимальную и минимальную ширину для каждого столбца.

Минимальная ширина заголовка (CAPMIN) определяется путем расчета для каждый заголовок минимальная внешняя ширина заголовка как MCW гипотетическая ячейка таблицы, содержащая заголовок в формате "дисплей: блок".Наибольшая из минимальных значений внешней ширины подписи КАПМИН.

Колонка и заголовок Ширина влияет на окончательную ширину таблицы следующим образом:

  1. Если свойство width элемента table или inline-table имеет вычисленное значение (W) кроме «авто», используемая ширина большее из W, CAPMIN и минимальная ширина, необходимая для всех столбцы плюс интервал между ячейками или границы (MIN). Если используемая ширина больше MIN, дополнительная ширина должна быть распределена по столбцам.
  2. Если элемент table или inline-table имеет width: auto, используемая ширина больше ширины блока, содержащего таблицу, CAPMIN и MIN. Однако, если либо CAPMIN, либо максимальная ширина требуется для столбцов плюс интервал ячеек или границы (MAX) меньше чем у содержащего блока, используйте max (MAX, CAPMIN).

Процентное значение ширины столбца относительно таблицы ширина. Если в таблице указано «ширина: авто», процент представляет собой ограничение ширины столбца, которое UA должен попытаться удовлетворить.(Очевидно, это не всегда возможно: если ширина столбца равна '110%', ограничение не может быть выполнено.)

Примечание. В этом алгоритме строки (и строка группы) и столбцы (и группы столбцов) ограничивают и являются ограничены размерами содержащихся в них ячеек. Установка ширина столбца может косвенно влиять на высоту строки, и наоборот.

17.5.3 Алгоритмы высоты стола

Высота таблицы задается свойством 'height' для 'table' или элемент inline-table.Значение «авто» означает, что высота равна сумма высот строк плюс любой интервал ячеек или границы. Любой другой значение рассматривается как минимальная высота. CSS 2.1 не определяет, как дополнительное пространство распределяется, когда свойство 'height' вызывает таблицу быть выше, чем в противном случае.

Примечание. Будущее обновления CSS могут указывать это дополнительно.

Высота прямоугольника элемента table-row вычисляется после того, как У пользовательского агента есть все ячейки в строке: это максимум вычисленной "высоты" строки, вычисленная "высота" каждого ячейка в строке, и минимальная высота (MIN), необходимая для ячеек.Значение высоты "авто" для table-row означает, что высота строки, используемая для макета, равна MIN. MIN зависит по высоте ячеек и выравниванию ячеек (очень похоже на расчет высоты строчного бокса). CSS 2.1 не определяет, как высота ячеек таблицы и таблицы строки рассчитываются, если их высота указана в процентах значения. CSS 2.1 не определяет значение слова «высота» для групп строк.

В CSS 2.1 высота поля ячейки - это минимальная высота. требуется по содержанию. Свойство "высота" ячейки таблицы может влиять на высота строки (см. выше), но это не увеличивает высоту сотовый ящик.

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

"Выравнивание по вертикали" Свойство каждой ячейки таблицы определяет ее выравнивание в строке. У содержимого каждой ячейки есть базовая линия, верх, середина и низ, как делает саму строку. В контексте таблиц значения для 'vertical-align' имеют следующие значения:

исходный
Базовая линия ячейки находится на той же высоте, что и базовая линия первой из перекрываемых строк (см. ниже определение базовых линий ячеек и строк).
верх
Верх ячейки ячейки совмещен с верхом первого ряд пролетов.
низ
Нижняя часть ячейки выровнена с нижней частью последний ряд он охватывает.
средний
Центр ячейки совмещен с центром строк он охватывает.
sub, super, text-top, text-bottom, , <процент>
Эти значения не применяются к ячейкам; ячейка выровнена по вместо базовой линии.

Базовая линия ячейки - это базовая линия первой линейной коробки в потоке в ячейке или первой in-flow table-row в ячейке, в зависимости от того, что наступит раньше. Если нет такой строковый блок или таблица-строка, базовая линия - это нижняя часть края содержимого сотового ящика. В целях поиска базовой линии приточные боксы с механизмами прокрутки (см. свойство overflow) должны быть считается, как если бы они были прокручены в исходное положение. Обратите внимание, что базовая линия ячейки может оказаться ниже ее нижней границы, см. пример ниже.

Максимум расстояние между верхом поля ячейки и базовой линией по всей ячейки, у которых есть 'vertical-align: baseline', используются для установки базовой линии ряда. Вот пример:

[D]

Диаграмма, показывающая влияние различных значений 'выравнивание по вертикали' ячеек таблицы.

Ячейки 1 и 2 выровнены по своим базовым линиям. Ячейка 2 имеет наибольшая высота над базовой линией, поэтому она определяет базовую линию ряда.

Если в строке нет поля ячеек, выровненного по базовой линии, базовая линия эта строка является нижним краем содержимого самой нижней ячейки в строке.

Во избежание неоднозначных ситуаций выравнивание ячеек происходит в в следующем порядке:

  1. Сначала ячейки, которые выровнены по своей базовой линии, позиционируется. Это установит базовую линию ряда. Далее ячейки с 'vertical-align: top' позиционируются.
  2. У строки теперь есть верх, возможно, базовая линия и предварительная высота, которая представляет собой расстояние от верха до самого нижнего края ячейки, расположенные до сих пор. (См. Условия для заполнения ячеек ниже.)
  3. Если какие-либо из оставшихся ячеек, те, которые выровнены по низу или посередине имеют высоту, превышающую текущую высоту строки, высота строки будет увеличена до максимума эти клетки, опуская дно.
  4. Наконец, позиционируются остальные ячейки.

Ячейки, размер которых меньше высоты строки, получают дополнительная верхняя или нижняя обивка.

Ячейка в этом примере имеет базовую линию ниже ее нижней границы:

div {высота: 0; переполнение: скрыто; }

<таблица>
 
  
   
Тест

17.5.4 Горизонтальное выравнивание в столбце

Горизонтальное выравнивание встроенного содержимого внутри ячейки box можно указать значением свойство text-align на клетка.

17.5.5 Динамические эффекты строк и столбцов

Свойство 'видимость' принимает значение "свернуть" для строки, группы строк, столбца и столбца группировать элементы. Это значение приводит к тому, что вся строка или столбец удаляется с дисплея, и пространство, обычно занимаемое строкой или столбец, который будет доступен для другого содержимого.Содержание составного строки и столбцы, которые пересекают свернутый столбец или строку, являются обрезано. Однако подавление строки или столбца не иначе повлияет на раскладку таблицы. Это позволяет создавать динамические эффекты для удаления строк или столбцов таблицы без принудительного изменения макета таблица, чтобы учесть возможное изменение в столбце ограничения.

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

'граница-коллапс'
Значение: свернуть | отдельный | наследовать
Начальное: отдельно
Применимо к: элементам 'table' и 'inline-table'
Унаследовано: да
В процентах: Н / Д
Медиа: визуальный
Расчетное значение: как указано

Это свойство выбирает модель границы таблицы.Значение «отдельный» выбирает модель границы с разделенными границами. Значение `` коллапс '' выбирает модель сворачивающихся границ. Описание моделей приведено ниже.

17.6.1 Модель с разделенными границами

*) Примечание: пользовательские агенты также могут применять Свойство 'border-spacing' для элементов 'frameset'. Какие элементы элементы 'frameset' не определены в этой спецификации и могут язык документа. Например, HTML4 определяет элемент, а XHTML 1.0 определяет элемент.В Таким образом, свойство 'border-spacing' в элементе 'frameset' может использоваться как допустимая замена нестандартного атрибута 'framepacing'.

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

Расстояние между границей таблицы и границами ячеек на краю стола есть обивка стола с этой стороны, плюс соответствующее расстояние между границами.Например, с правой стороны сбоку, расстояние обивка-правая + по горизонтали Граница .

Ширина таблицы - это расстояние от левого внутреннего отступа. край к правому внутреннему краю заполнения (включая интервал границы, но исключая отступы и границу).

Однако в HTML и XHTML1 ширина

element - это расстояние от левого края границы до правого края край.

Примечание: В CSS3 это своеобразное требование будут определены в терминах правил таблиц стилей UA и "размера блока" свойство.

В этой модели каждая ячейка имеет индивидуальную границу. Свойство 'border-spacing' определяет расстояние между границами соседних ячеек. В этом пробел, фон строки, столбца, группы строк и группы столбцов невидимым, позволяя просвечивать фон стола. Ряды, столбцы, группы строк и группы столбцов не могут иметь границ (т. е. пользовательские агенты должны игнорировать свойства границы для эти элементы).

Примеры:

Таблица на рисунке ниже может быть результатом таблицы стилей. так:

таблица {border: outset 10pt;
             граница-коллапс: раздельный;
             border-spacing: 15pt}
td {border: inset 5pt}
тд.special {border: inset 10pt} / * Левая верхняя ячейка * /
 

[D]

Таблица с параметром "border-spacing", установленным на значение длины. Обратите внимание, что каждая ячейка имеет свою границу, а таблица также имеет отдельную границу.

17.6.1.1 Границы и фон вокруг пустых ячеек: свойство 'empty-cells'
пустых ячеек
Значение: показать | скрыть | наследовать
Начальное: показать
Применимо к: элементам "таблица-ячейка"
Унаследовано: да
В процентах: Н / Д
Медиа: визуальный
Расчетное значение: как указано

В модели с разделенными границами это свойство управляет рендеринг границ и фона вокруг ячеек, которые не видны содержание.Пустые ячейки и ячейки со свойством видимости, установленным на «скрытые» считаются не имеющими видимого содержимого. Ячейки пусты, если они не содержат одно или несколько из следующего:

  • плавающее содержимое (включая пустые элементы),
  • содержимое в потоке (включая пустые элементы), кроме пробелов это было свернуто обработкой свойства 'white-space'.

Если это свойство имеет значение «показать», границы и фон рисуются вокруг / позади пустых ячеек (как нормальные ячейки).

Значение «скрыть» означает, что границы или фон не отображаются. вокруг / за пустыми ячейками (см. пункт 6 в 17.5.1). Кроме того, если все ячейки в строка имеет значение "скрыть" и не имеет видимого содержимого, тогда строка имеет нулевую высоту и есть вертикальные границы только с одной стороны ряда.

Примеры:

Следующее правило заставляет рисовать границы и фон вокруг всех ячеек:

таблица {empty-cells: show}
 

17.6.2 Модель сворачивающейся рамки

В модели сворачивающейся рамки можно указать границы которые окружают всю или часть ячейки, строки, группы строк, столбца и группа столбцов. Можно указать границы для атрибута "rules" HTML. Сюда.

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

На схеме ниже показано, как ширина стола, ширина границы, отступы и ширина ячейки взаимодействуют.Их отношение дается следующим уравнением, которое выполняется для каждой строки стол:

ширина строки = (0,5 * ширина границы 0 ) + обивка - левая 1 + ширина 1 + прокладка правая 1 + ширина границы 1 + прокладка левая 2 + ... + прокладка правая n + (0,5 * ширина границы n )

Здесь n - количество ячеек в строке, прокладка левая i и прокладка-правая i см. Левую (соотв., справа) заполнение ячейки и , и border-width i относится к границе между ячейками i и i + 1.

UA должны вычислить начальную ширину левой и правой границы для таблицу, исследуя первую и последнюю ячейки в первой строке стол. Ширина левой границы таблицы составляет половину ширины первой ячейки. свернутая левая граница, а ширина правой границы таблицы составляет половину свернутой правой границы последней ячейки.Если в последующих строках большие схлопывались левая и правая границы, тогда любой излишек выливается в область полей таблицы.

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

Любые границы, выходящие за пределы поля, принимаются во внимание при определение того, переполняется ли таблица каким-либо предком (см. «переполнение»).

[D]

Схема, показывающая ширину ячеек и границ и заполнение ячеек.

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

CSS 2.1 не определяет, где край фона на элемент таблицы лежит.

17.6.2.1 Разрешение конфликтов границ

В модели сворачивающейся границы границы на каждом краю каждой ячейки могут быть указаны с помощью свойств границы для множества элементов, которые встречаются на этом краю (ячейки, строки, группы строк, столбцы, группы столбцов, и сама таблица), и эти границы могут различаться по ширине, стилю и цвет. Практическое правило гласит, что на каждом краю наиболее "бросается в глаза" выбран стиль границы, за исключением того, что любое вхождение стиля 'hidden' безоговорочно отключает границу.

Следующие правила определяют, какой стиль границы "выигрывает" в случае конфликт:

  1. Границы со «бордюром» или «скрытым» дублем приоритет над всеми другими конфликтующими границами. Любая граница с этим value подавляет все границы в этом месте.
  2. Границы со стилем «нет» имеют самый низкий приоритет. Только если граничные свойства всех элементов, встречающихся на этом краю, равны 'none' - граница будет опущена (но учтите, что 'none' - это значение по умолчанию для стиля границы.)
  3. Если ни один из стилей не является «скрытым» и хотя бы один из них не «нет», тогда узкие границы отбрасываются в пользу более широких единицы. Если несколько имеют одинаковую ширину границы, то стили предпочтительнее в следующем порядке: "двойной", "сплошной", "пунктирный", "пунктирный", «гребень», «начало», «бороздка» и самый нижний: «врезка».
  4. Если стили границ различаются только цветом, то стиль, установленный на ячейка побеждает одну в строке, которая побеждает группу строк, столбец, группа столбцов и, наконец, таблица.Когда два элемента одного типа конфликт, затем тот, что левее (если таблица 'direction' - 'ltr'; правильно, если это 'rtl') и далее наверх побеждает.

Пример (ы):

Следующий пример иллюстрирует применение этих правила приоритета. Эта таблица стилей:

таблица {граница-коллапс: коллапс;
                 граница: 5 пикселей сплошного желтого цвета; }
* # col1 {border: 3px сплошной черный; }
td {border: сплошной красный 1px; заполнение: 1em; }
тд.cell5 {border: 5 пикселей пунктирная синяя; }
td.cell6 {border: 5px сплошной зеленый; }
 

с этим источником HTML:

<ТАБЛИЦА>
 

     1
     2
     3


     4
     5
     6


     7
     8
     9


     10
     11
     12


     13
     14
     15


 

выдаст что-то вроде этого:

[D]

Пример таблицы со свернутыми границами.

Пример (ы):

Вот пример скрытых схлопывающихся границ:

[D]

Стол с двумя пропущенными внутренними границами.

Источник HTML:

<ТАБЛИЦА>
  foo 
    bar 
  foo 
    bar 

 

17.6.3 Стили границ

Некоторые значения 'border-style' имеют значения в таблицах отличаются от значений других элементов.В списке ниже они отмечены звездочкой.

нет
Нет граница.
* скрыто
То же, что «нет», но в модели сжимающейся границы также запрещает любую другую границу (см. раздел о конфликтах границ).
пунктирная
Граница представляет собой серию точек.
штриховая
Граница представляет собой серию коротких отрезков линии.
цельный
Граница представляет собой одинарный отрезок линии.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *