Я пытаюсь построить макет, подобный следующему:
+---+---+---+
| | | |
+---+---+---+
| |
+-----------+
где дно заполняет пространство верхнего ряда.
Если бы это была настоящая таблица, я мог бы легко сделать это с помощью <td colspan="3">
, но так как я просто создаю табличный макет , я не могу использовать <table>
теги. Возможно ли это с помощью CSS?
colspan
атрибутОтветы:
Там нет простого, элегантного аналога CSS для
colspan
.Поиски по этой самой проблеме вернут множество решений, которые включают множество альтернатив, в том числе абсолютное позиционирование, определение размера, а также аналогичное множество предостережений в зависимости от браузера и обстоятельств. Прочитайте и примите самое обоснованное решение, которое вы можете, основываясь на том, что вы найдете.
источник
colspan
это правильный инструмент для работы. Мой ответ был на 75% правильным, а ваш - на 100% правильным. Вы должны вернуться в ТАК.Насколько я знаю, в css нет colspan, но
column-span
в ближайшем будущем будет многоколоночная разметка, но, поскольку это всего лишь черновик в CSS3, вы можете проверить это здесь . В любом случае вы можете обойти это, используяdiv
иspan
с табличным отображением, как это.Это будет HTML:
И это будет CSS
Единственная причина использовать этот трюк состоит в том, чтобы получить выгоду от
table-layout
поведения, я использую его много, если только установка div и span span на определенный процент не выполнила наши требования к дизайну.Но если вам не нужно извлекать выгоду из этого
table-layout
поведения, то ответ Дурилай подойдет вам достаточно.источник
.span { ...
этого должно бытьspan { ...
.div
тегов для отображения табличных данных так же плохо, как использованиеtable
s для управления макетом страницыЕще одно предложение - использовать flexbox вместо таблиц. Это, конечно, «современный браузер», но это же 2016 год;)
По крайней мере, это может быть альтернативным решением для тех, кто ищет ответ на этот вопрос в наше время, так как оригинальный пост был с 2010 года.
Вот отличное руководство: https://css-tricks.com/snippets/css/a-guide-to-flexbox/
источник
источник
Это не входит в сферу CSS.
colspan
описывает структуру содержимого страницы или дает некоторый смысл данным в таблице, которая является работой HTML.источник
Чтобы предоставить актуальный ответ: лучший способ сделать это сегодня - это использовать компоновку сетки CSS следующим образом:
и HTML
источник
Вы можете попытаться использовать систему сетки, как http://960.gs/
Ваш код будет выглядеть примерно так, если вы используете макет «12 столбцов»:
источник
Попробуйте добавить
display: table-cell; width: 1%;
в свою ячейку таблицы элемент.Показать фрагмент кода
источник
У меня был некоторый успех, хотя он опирается на несколько свойств для работы:
table-layout: fixed
border-collapse: separate
и «ширины» ячеек, которые легко делятся / охватывают, то есть 4 ячейки шириной 25%:
https://jsfiddle.net/sfjw26rb/2/
Кроме того, применение display: table-header-group или table-footer-group - это удобный способ переместить элементы строки в верхнюю / нижнюю часть таблицы.
источник
если вы используете div и span, он будет занимать больший размер кода, когда строка таблицы данных больше по объему. Этот код ниже проверен во всех браузерах
HTML:
CSS:
источник
http://www.quackit.com/css/css3/properties/css_column-span.cfm
источник
table-cell
интервал в несколько столбцов таблицы.column-span
для управления макетом столбца. Что позволяет вам передавать текст по нескольким столбцам, как это делают газеты.Если вы пришли сюда, потому что вы должны включить или отключить
colspan
атрибут (скажем, для мобильного макета):Дублируйте
<td>
и покажите только те, которые имеют желаемоеcolspan
:источник
Свойства CSS «column-count», «column-gap» и «column-span» могут сделать это таким образом, чтобы все столбцы псевдотаблицы находились в одной оболочке (HTML остается красивым и аккуратным).
Единственное предостережение в том, что вы можете определить только 1 столбец или все столбцы, а span-span столбца еще не работает в Firefox, поэтому для обеспечения правильного отображения необходим дополнительный CSS. https://www.w3schools.com/css/css3_multiple_columns.asp
источник
Я пришел сюда, потому что в настоящее время блок таблицы WordPress не поддерживает параметр colspan, и я подумал, что заменю его с помощью CSS. Это было мое решение, предполагая, что столбцы имеют одинаковую ширину:
источник
Вы всегда можете
position:absolute;
вещи и указать ширину. Это не очень плавный способ сделать это, но это сработает.источник
Я создал эту скрипку:
http://jsfiddle.net/wo40ev18/3/
HTML
CSS
источник
Классы Media Query могут использоваться для достижения чего-то сносного с двойной разметкой. Вот мой подход с начальной загрузкой:
colspan 1 для мобильных устройств, colspan 5 для других, в которых CSS работает.
источник