Я разрабатываю что-то похожее на доску Канбан, где я раскладываю карты (представленные в виде div) в столбцах (также представленных в виде div). Рисунок 1 иллюстрирует текущее состояние моего приложения:
Каждая карта - это div. Карты сгруппированы в столбцы (красные пунктирные линии), которые представляют собой элементы div, расположенные в макете flexbox. Раскраска показывает, к какому выпуску привязана карта.
Код:
index.html:
<!doctype html>
<html>
<head>
<title>Some code to copy & paste into your project</title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<div class="map">
<div class="column">
<div class="card release-1"></div>
<div class="card release-2"></div>
<div class="card release-3"></div>
</div>
<div class="column">
<div class="card release-1"></div>
<div class="card release-1"></div>
<div class="card release-3"></div>
<div class="card release-3"></div>
</div>
<div class="column">
<div class="card release-2"></div>
<div class="card release-2"></div>
<div class="card release-3"></div>
<div class="card release-3"></div>
</div>
</div>
</body>
</html>
styles.css:
.map {
display: flex;
flex-direction: row;
}
.column {
display: flex;
flex-direction: column;
}
.card {
width: 100px;
height: 80px;
border: 1px solid black;
margin: 10px;
}
.release-1 {
background-color: #f90;
}
.release-2 {
background-color: #0a0;
}
.release-3 {
background-color: #0af;
}
Теперь я бы хотел добавить дорожки для релизов. Результат должен выглядеть так:
Я не нашел способа поместить что-то вроде «точек останова» в гибкие колонны, чтобы переместить карты на следующую дорожку.
Сетка будет работать, но мне нужно знать, сколько у меня будет колонн и дорожек. Поскольку карта визуализируется динамически, мне также потребуется динамически отображать CSS. Не похоже на лучший подход для меня: -P
Совершенно очевидно, что это можно сделать с помощью html-таблиц, но есть две причины, которые мешают мне их использовать:
- В те времена, когда плавающие макеты на основе div и css заменяли макеты таблиц, я узнал, что таблицы следует использовать только для данных, а не для макетов
- Весь мой макет уже основан на div. Переход на таблицы потребует больших усилий, которых я бы хотел избежать
Что говорит в пользу таблиц, так это тот факт, что было бы очень легко добиться такого расположения с помощью таблиц. Я также не ожидаю каких-либо негативных побочных эффектов, так как этот макет не предназначен для плавания или поломки в любом случае. Это всего два фиксированных размера, и все, что находится вне области просмотра, будет прокручиваться.
В любом случае: прежде чем переписать все, я хотел бы знать, может ли это быть достигнуто с помощью макета flex / flexbox или любым другим способом, о котором я еще не слышал.
Прямо сейчас я не использую фронтальный фреймворк, просто обычный html & css. Я бы хотел
так держать, если возможно.
У вас есть предложения?
Заранее спасибо!
Фред