HTML и CSS с примерами кода
Свойство display
, которое определяет, как элемент должен быть показан в документе.
- bottom
- clear
- display
- float
- left
- position
- right
- top
- z-index
Синтаксис
/* <display-outside> values */ display: block; display: inline; display: run-in; /* <display-inside> values */ display: flow; display: flow-root; display: table; display: flex; display: grid; display: ruby; display: subgrid; /* <display-outside> plus <display-inside> values */ display: block flow; display: inline table; display: flex run-in; /* <display-listitem> values */ display: list-item; display: list-item block; display: list-item inline; display: list-item flow; display: list-item flow-root; display: list-item block flow; display: list-item block flow-root; display: flow list-item block; /* <display-internal> values */ display: table-row-group; display: table-header-group; display: table-footer-group; display: table-row; display: table-cell; display: table-column-group; display: table-column; display: table-caption; display: ruby-base; display: ruby-text; display: ruby-base-container; display: ruby-text-container; /* <display-box> values */ display: contents; display: none; /* <display-legacy> values */ display: inline-block; display: inline-table; display: inline-flex; display: inline-grid; /* Global values */ display: inherit; display: initial; display: unset;
Значения
Значение по-умолчанию: inline
Наследуется: нет
Применяется ко всем элементам
Анимируется: нет
block
- Элемент показывается как блочный. Применение этого значения для строчных элементов, например
<span>
, заставляет его вести подобно блокам — происходит перенос строк в начале и в конце содержимого. inline
- Элемент отображается как строчный. Использование блочных элементов, таких, как
<div>
и<p>
, автоматически создаёт перенос и показывает их содержимое с новой строки. Значениеinline
отменяет эту особенность, поэтому содержимое блочных элементов начинается с того места, где окончился предыдущий элемент. inline-block
- Это значение генерирует блочный элемент, который обтекается другими элементами веб-страницы подобно строчному элементу. Фактически такой элемент по своему действию похож на встраиваемые элементы (вроде
<img>
). При этом его внутренняя часть форматируется как блочный элемент, а сам элемент — как строчный. inline-table
- Определяет, что элемент является таблицей, как при использовании
<table>
, но при этом таблица является строчным элементом и происходит её обтекание другими элементами, например, текстом. inline-flex
- Элемент ведёт себя как строчный и выкладывает содержимое согласно флекс-модели.
flex
- Элемент ведёт себя как блочный и выкладывает содержимое согласно флекс-модели.
grid
- Элемент ведет себя как блочный и выкладывает содержимое согласно грид-модели
list-item
- Элемент выводится как блочный и добавляется маркер списка.
none
- Временно удаляет элемент из документа. Занимаемое им место не резервируется, и веб-страница формируется так, словно элемента и не было. Изменить значение и сделать вновь видимым элемент можно с помощью скриптов, обращаясь к свойствам через объектную модель. В этом случае происходит переформатирование данных на странице с учётом вновь добавленного элемента.
-
table
- Определяет, что элемент является блочной таблицей, подобно использованию
<table>
. table-caption
- Задаёт заголовок таблицы, подобно применению
<caption>
. table-cell
- Указывает, что элемент представляет собой ячейку таблицы (
<td>
или<th>
). table-column
- Назначает элемент колонкой таблицы, словно был добавлен
<col>
. table-column-group
- Определяет, что элемент является группой одной или более колонок таблицы, как при использовании
<colgroup>
. table-footer-group
- Используется для хранения одной или нескольких строк ячеек, которые отображаются в самом низу таблицы. По своему действию сходно с работой
<tfoot>
table-header-group
- Элемент предназначен для хранения одной или нескольких строк ячеек, которые представлены вверху таблицы. По своему действию сходно с работой
<thead>
. table-row
- Элемент отображается как строка таблицы (
<tr>
). table-row-group
- Создаёт структурный блок, состоящий из нескольких строк таблицы, аналогично действию
<tbody>
.
Примечания
Chrome 32 — Значение run-in
больше не поддерживается.
Спецификации
- CSS Display Module Level 3
- CSS Ruby Layout Module Level 1
- CSS Grid Layout
- CSS Flexible Box Layout Module
- CSS Level 2 (Revision 1)
- CSS Level 1
Поддержка браузерами
display: flow-root
:
display: table-*
:
Can I Use css-table? Data on support for the css-table feature across the major browsers from caniuse.com.
display: contents
:
Can I Use css-display-contents? Data on support for the css-display-contents feature across the major browsers from caniuse. com.
Описание и примеры
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>display</title> <style> .example { border: dashed 1px #634f36; /* Параметры рамки */ background: #fffff5; /* Цвет фона */ font-family: 'Courier New', Courier, monospace; /* Шрифт текста */ padding: 7px; /* Поля вокруг текста */ margin: 0 0 1em; /* Отступы */ } .exampleTitle { border: 1px solid black; /* Параметры рамки */ border-bottom: none; /* Убираем линию снизу */ padding: 3px; /* Поля вокруг текста */ display: inline; /* Устанавливаем как строчный элемент */ background: #efecdf; /* Цвет фона */ font-weight: bold; /* Жирное начертание */ font-size: 90%; /* Размер текста */ margin: 0; /* Убираем отступы */ white-space: nowrap; /* Отменяем переносы текста */ } </style> </head> <body> <p>Пример</p> <p> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <br /> <html> <br /> <body> <br /> <b>Формула серной кислоты:</b> <i >H<sub><small>2</small></sub> SO<sub ><small>4</small> </sub></i ><br /> </body> <br /> </html> </p> </body> </html>
Автор admin На чтение 6 мин. Просмотров 57 Опубликовано
Свойство CSS display используется для изменения типа HTML-элемента — блочный (block), встроенный (inline), элемент списка и так далее. Также надо понимать, что применение свойства display не дает права пренебрегать синтаксисом HTML, например, элемент
в любом случае не может содержать блочные теги, даже если к ним применен display: inline .
Содержание
- Тип свойства
- Значения
- Синтаксис
- Таблица — сетка
- 1 Answer 1
Тип свойства
Применяется: ко всем элементам.
Значения
Значением свойства CSS display является одно из ключевых слов, задающих тип элемента. К сожалению, полностью поддерживаются всеми браузерами только значения, которые появились еще в CSS 1.
Значение | Описание | Поддержка |
---|---|---|
inline | Элемент ведет себя, как встроенный, то есть не создает до и после себя перевод строк в начало. | Всеми браузерами |
block | Применение данного значения преобразует элемент в блочный, то есть он создает до и после себя перевод строк в начало.
| IE 6.0 и 7.0 |
Остальные браузеры | ||
inline-block | Элемент становится блочным, например, у него можно изменять ширину и высоту. Но окружающие элементы воспринимают его как встроенный, то есть он не создает до и после себя переноса строк.
| IE 6.0 и 7.0 |
Firefox 2.0 | ||
Остальные браузеры | ||
list-item | Элемент преобразуется в блочный, но со свойствами элемента списка (тег ) к которому можно применить, например, list-style-type. И если их на странице присутствует несколько, то они являются элементами одного списка. | Всеми браузерами |
none | Элемент не отображается на странице и никаким образом не влияет на ее форматирование — другие элементы ведут себя так, будто его нет совсем. Это же свойство наследуется всеми потомками элемента, причем его нельзя изменить применив к ним display . | Всеми браузерами |
run-in | Элемент становится блочным или встроенным в зависимости от его местонахождения в HTML-коде по следующим правилам:
| IE 6.0 и 7.0 |
Firefox 2.0 и выше | ||
Остальные браузеры | ||
table | Создание блочного элемента определяющего таблицу, подобно тегу . | IE 6.0 и 7.0 |
Остальные браузеры | ||
inline-table | Создание встроенного элемента определяющего таблицу, которая не создает переносы строк, а располагается на одной строке с другими инлайн-элементами.
| IE 6.0 и 7.0 |
Firefox 2.0 | ||
Остальные браузеры | ||
table-caption | Элемент используется для создания заголовка HTML-таблицы, аналог тега . | IE 6.0 и 7.0 |
Остальные браузеры | ||
table-column-group | Элемент для группирования одного или нескольких столбцов таблицы, как тег . | IE 6.0 и 7.0 |
Остальные браузеры | ||
table-column | Элемент, определяющий столбец таблицы, как тег . | IE 6.0 и 7.0 |
Остальные браузеры | ||
table-header-group | Элемент, предназначен для создания «шапки» таблицы, аналог тега . Причем на него распространяются те же правила: должен указываться перед элементами определяющими тело и футер таблицы, но после заголовка и элементов группирования столбцов. Если в таблице присутствует несколько элементов с display: table-header-group , то только первый станет шапкой, остальные будут отнесены к телу таблицы. | IE 6.0 и 7.0 |
Остальные браузеры | ||
table-footer-group | Элемент, предназначен для создания футера таблицы, аналог тега . Должен указываться перед ее телом, но после «шапки». Если в таблице присутствует несколько элементов с display: table-footer-group , то только первый станет футером, остальные будут отнесены к телу таблицы. | IE 6.0 и 7.0 |
Остальные браузеры | ||
table-row-group | Создание элемента предназначенного для создания тела таблицы, аналог тега . | IE 6.0 и 7.0 |
Остальные браузеры | ||
table-row | Элемент для создания ряда (строки) таблицы, аналог тега . | IE 6.0 и 7.0 |
Остальные браузеры | ||
table-cell | Элемент используется для создания ячейки таблицы, аналог тега . | IE 6.0 и 7.0 |
Остальные браузеры | ||
inherit | Наследует значение свойства CSS display от родительского элемента. | IE 6.0 и 7.0 |
Остальные браузеры |
Процентная запись: не существует.
Значение по умолчанию: inline.
Синтаксис
Пример CSS: использование display
Результат. Использование свойства CSS display.
CSS-свойство display: table и другие, делают вывод группы элементов подобно таблице
display: table; | ||||||||||||
display: inline-table; |
Таблица — сеткаЧасто табличная верстка используется в качестве сеточной разметки, хотя это семантически неправильно и возникнут проблемы у мобильной или адаптивной версии. Для сеток специально ввели CSS Gr >display: table . Рассмотрим пример – сетка 3×2 в три колонки сделанная таблицей: Now when I change table-caption to table-cell it renders horizontally. Below is the demo of it. Any reason for the different renderings? .. what? table-caption renders it like a element (which is displayed vertically). table-cell is like a | element (which is displayed horizontally). – MortenMoulder Mar 12 ’16 at 13:14 |
Display table cell отступы
Компьютеры admin 0 комментариев
Содержание
- 1 Таблица без таблицы или display: table-cell для всех браузеров
- 1.0.1 Ещё заметки со схожей тематикой
- 1.0.1.0.1 Категории
- 1.0.1.0.2 Коментарии к заметке
- 1.0.1.0.3 Добавить комментарий
- 1.0.1 Ещё заметки со схожей тематикой
- 2 Таблица — сетка
Таблица без таблицы или display: table-cell для всех браузеров
Перед верстальщиком часто ставят задачу выстроить блоки произвольной ширины в одну линию, например, для ленты фотографий. Эту задачу можно решить в лоб — сделать таблицу, она растянется на нужную длину, и там точно ничего не будет переноситься. Но я расскажу о другом способе.
Все современные браузеры могут отрисовывать блок как таблицу, строку таблицы или ячейку таблицы являясь на самом деле обычными блочными или даже строчными элементами.
Разметка, например, может быть такой:
Старые браузеры такие значения свойства display не воспринимают. Но для них есть замечательная комбинация других свойств, дающая аналогичный результат.
Комбинация float: left; и clear: right; заставляет следующий блок намертво прилипнуть к предыдущему, образовывая ячейки нашей таблицы. Можно использовать прибивку в другую сторону, если нужен обратный порядок элементов.
Ещё заметки со схожей тематикой
Категории
Коментарии к заметке
В пост врывается inline-block, который с white-space: nowrap у родителя даст как раз то, что нужно.
Кроме того, подобную «ленту» можно довольно удобно двигать влево без лишних врапперов, задавая первому элементу отрицательный левый маджин.
Точно. Элементы с inline-block можно выравнивать по вертикали как в настоящей таблице.
Надо только помнить, что пробелы в разметке дадут лишние пикселы между блоками. Кстати, с этими лишними пикселами можно успешно бороться.
Я уж было поверил, что вы действительно нашли способ эмулировать свойство table-cell. А оказывается тут всего лишь давно известный способ расположить блочные элементы в строку, причём как правильно подмечено, это можно сделать более изящно. Самое главное вы, мне кажется, не уловили. Свойство table-cell позволяет элементам не только размещаться в одном ряду, но и заполнять родительский блок полностью, РАСТЯГИВАЯСЬ по всей его ширине. Копируя таким образом поведение ячеек в таблице. Это крайне полезно, к примеру, в вёрстке горизонтальной навигации, где количество пунктов может меняться, но при этом не потребуется менять стили.
Роман, чаще всего в реальной жизни не бывает одного универсального способа для решения какой-либо задачи. Мне кажется полезным знать не только «cutting edge» решения (которые тоже не идеальны), а еще и вытаскивать из нафталина что-нибудь старенькое проверенное годами.
По поводу растягивания ячеек я могу предложить только expression. Но, так полагаю, что «это не наш метод». Не поленитесь оставить комментарий, пожалуйста, если найдете что-нибудь интересное по этой теме.
Сегодня целый день пытался всеми известными способами выровнять два блока, и только это решение меня спасло. Благодарен Вам за полезный пост
Насколько я знаю в основном table-cell используют для вертикального выравнивания контента, а при обтекании оно перестает работать. Ну и еще для таких блоков не работают внешние отступы margin.
Отлично! То что нужно. Замечательная альтернатива
В верстке присутствуют ошибка!
Александр, по-моему, всё в порядке с вёрсткой. Ширина ячейки таблицы зависит от контента. Ширина таблицы равна сумме ширин всех её ячеек.
Добавить комментарий
© 2009–2017 Владимир Кузнецов.
Все права защищены и принадлежат их владельцам.
Копирование материалов данного блога допускается только с разрешения автора.
CSS-свойство display: table и другие, делают вывод группы элементов подобно таблице
Полный список свойств и тегов, которые они заменяют:
display: table; | |
display: inline-table; |
display: table-caption; | ||
display: table-column-group; | ||
display: table-column; | ||
display: table-header-group; | ||
display: table-row-group; | ||
display: table-footer-group; | ||
display: table-row; | ||
display: table-cell; | или |
Таблица — сетка
Часто табличная верстка используется в качестве сеточной разметки, хотя это семантически неправильно и возникнут проблемы у мобильной или адаптивной версии. Для сеток специально ввели CSS Gr >display: table .
Рассмотрим пример – сетка 3×2 в три колонки сделанная таблицей:
I have 2 divs as display: table-cell . I need a space between them.
margin-left: 5px for the second div does not work.
I already saw the Why is a div with «display: table-cell;» not affected by margin? answer, but my question is not about how to have a border around a cell, but a LEFT MARGIN (and not padding!) for a concrete cell (the right one)
setting the green div as
makes the space not only between cells, but also all around cells, that is NOK.
О взломе с использованием position: fixed и display: table-cell
Теги: css эссе
Предисловие:
В предыдущем проекте часто встречалось, что боковую панель слева можно свободно расширять и сжимать, а область содержимого справа можно свободно заполнять шириной боковая панель с левой стороны. Область содержимого имеет ширину, чтобы заполнить правую область, и ее необходимо зафиксировать в нижней части правой области, как показано ниже.
В общем, если вы хотите, чтобы ширина плавающей области в нижнем правом углу заполняла правую область, и она может быть адаптивной, когда левая область растягивается, а экран растянут, это должно быть достигнуто с помощью js, и прослушивать событие изменения размера окна браузера, чтобы динамически обрабатывать его ширину. В последние несколько дней я случайно нашел способ решить эту проблему с помощью чистого css. Код выглядит следующим образом;
<!DOCTYPE html> <html> <head> <title>fixed-table</title> <style type="text/css"> html, body { margin: 0; } .left{ width: 20%; height: 100%; background-color: yellow; position: fixed; } .right { /*position: relative;*/ width: 80%; height: 1800px; float: right; background-color: #aaa; } .pagination { border: 1px solid red; position: fixed; bottom: 0; background-color: blue; color: #fff; } .pagination_inner { display: table-cell; width: 1%; } .pagination button { background-color: #eee; width: 100px; height: 50px; border: 1px solid #000; } </style> </head> <body> <div> <h2>Левая область</h2> </div> <div> <h2>Правая область</h2> <div> <div> <h2>Подвесная зона</h2> </div> </div> </div> </body> </html>
Мы можем увидеть шаги настройки следующим образом на примерах:
1. Установите position: fixed; bottom: 0; на div.pagination (плавающий блок в правом нижнем углу)
2. Установите display: table-cell; width: 1%;
Рисунок выглядит следующим образом:
Что касается совместимости, я провел соответствующие тесты, и поддержка Chrome и Firefox, то есть совместимость с 8, совместимость по-прежнему отличная ~~
Это удовлетворяет наши потребности. Это всего лишь идея. Я лично считаю, что этот макет может быть применен ко многим сценариям, таким как страница, плавающая внизу, панель навигации вверху и т. Д. ~ Просто поделитесь ею ~ Кстати, отметьте это самиХа-ха
Интеллектуальная рекомендация
Навыки использования Python (7): журнал инструментов журнала.
Модуль ведения журнала — это стандартный модуль, встроенный в Python. Он в основном используется для выходных журналов. Вы можете установить уровень выходных журналов, путей хранения журнала, проката …
Сбежать из лабиринта
Учитывая лабиринт m × n (строка m, столбец n), в лабиринте есть две позиции: Глория хочет перейти из одной позиции лабиринта в другую. Конечно, некоторые места в лабиринте пусты, и Глория может …
Узнание Python: Selenium не поддерживает текст непосредственно в XPath, ошибка: Selenium Message: неверный селектор: результат XPath E
Каталог статьи Демонстрация Решение Метод 1: анализ, использующий XPath в `из LXML Import Etree` Способ 2: Используйте метод селена до XPath’s Text` Демонстрация Отчет: Решение Метод 1: использованиеf…
Режим конструктора мод (режим генератора)
[b] Если ArrayList или HashMap определены как переменная-член класса, в методе должно быть вызвано действие clear (), чтобы предотвратить Данные сбивают с толку. Separate the construction of a complex…
Вторая глава заметок по изучению java: основные типы данных
[Поскольку каждая глава относительно длинная (более 10 страниц, в некоторых местах неизбежно будут допущены опечатки, пожалуйста, поправьте меня, если найдете, я очень благодарен)] Как представить три…
Вам также может понравиться
ESP32 обучения [1] — разработка экологического строительства (Aithinkeride_v1.
0)Сначала готова Среда разработки:AiThinkerIDE_V1.0 ESP_IDF:ESP_IDF Во-вторых, проект импорта 1. Щелкните правой кнопкой мыши → Импорт 2. Нажмите на C / C ++ ветви и выберитеExisting Code as…
Intellij Idea Console выводит китайские корпоративные решения
Во-первых, найдите установочный каталог Intellij Idese, введитеbinКаталог, позиционированиеidea.vmoptionsДокумент, как показано ниже: Дважды щелкните, чтобы открытьidea.vmoptionsДокумент, как показано…
Многопоточные тесты
…
Подробное графическое объяснение конфигурации кластерного режима распределенной системы обмена сообщениями Kafka_2.13 под Centos_7.2
«Конфигурация кластерного режима распределенной системы сообщений Kafka_2.13 под Centos_7.2» Введение завершено в предыдущем блоге «Конфигурация одноэлементного режима распределенной с…
100 обязательных песен для вождения в 2019 году
Рекомендуем скачать, получить путь: Нажмите здесь, чтобы скачать напрямую Когда новогодний колокол звучал снова и снова, я поехал играть и увидел, что на дороге все меньше и меньше машин, шаги пешеход. ..
CSS display:table-row не расширяется, когда ширина установлена на 100%
Вопрос задан
Изменено 10 лет, 1 месяц назад
Просмотрено 176k раз
У меня небольшая проблема. Я использую FireFox 3.6 и имею следующую структуру DOM:
ТипИмя
И следующий CSS:
.view-row { ширина:100%; дисплей: таблица-строка; } .view-имя { отображение: таблица-ячейка; поплавок: справа; } .вид-тип { отображение: таблица-ячейка; }
Если я сниму display:table-row
, он будет отображаться правильно, а view-row
будет показывать ширину 100%. Если я положу его обратно, он сожмется. Я поместил это в JS Bin:
Что происходит?
Если вы используете display:table-row
и т. д., то вам нужна правильная разметка, которая включает содержащую таблицу. Без него ваш первоначальный вопрос в основном дает эквивалентную плохую разметку:
Тип Имя
Где таблица выше? Вы не можете просто получить строку из ниоткуда (tr должен содержаться либо в таблице
, либо в thead
, либо в tbody
и т. д.)
Вместо этого добавьте внешний элемент с display:table
установите ширину 100% для содержащего элемента. Две внутренние ячейки автоматически перейдут на 50/50 и выровняют текст прямо во второй ячейке. Забудьте с плавающей запятой
с элементами таблицы. Это вызовет столько головной боли.
разметка:
<дел>ТипИмя
CSS:
.view-table { дисплей: таблица; ширина:100%; } .view-строка, { дисплей: таблица-строка; } .вид-строка> div { отображение: таблица-ячейка; } . view-имя { выравнивание текста: вправо; }
11
Проверенный ответ:
В css .view-row измените:
display:table-row;
до:
дисплей:таблица
и избавьтесь от «поплавка» . Все будет работать так, как ожидалось.
Как было предложено в комментариях, нет необходимости в оберточной таблице. CSS позволяет опускать неявные уровни древовидной структуры (в данном случае строки). Причина, по которой ваш код не работает, заключается в том, что «ширина» может интерпретироваться только на уровне таблицы, а не на уровне строки таблицы. Когда у вас есть «стол», а затем «ячейка таблицы» непосредственно под ним, они неявно интерпретируются как сидящие в ряд.
Рабочий пример:
ТипИмя
с CSS:
.view { ширина:100%; дисплей: таблица; } .представление > раздел { ширина: 50%; отображение: таблица-ячейка; }
5
Обратите внимание, что в соответствии со спецификацией CSS3 вам НЕ нужно оборачивать макет в элемент табличного стиля. Браузер сделает вывод о наличии содержащих элементов, если они не существуют.
1
дать на .view-type
class float:left;
или удалить float:right;
из .view-name
edit: Оберните свой div и установите следующий css: Для получения правильных результатов необходимо использовать структуру таблицы. 2 Вы можете вложить ячейку таблицы непосредственно в таблицу. У вас должен быть стол. Запуск любой строки таблицы не работает. Попробуйте это с этим HTML:
<голова>
<тип стиля="текст/CSS">
.стол {
дисплей: таблица;
ширина: 100%;
}
.тр {
отображение: таблица-строка;
ширина: 100%;
}
.тд {
отображение: таблица-ячейка;
}
<тело>
<дел>
<дел>
<дел>
Икс