Я пытаюсь создать следующий компонент с CSS, но я не могу заставить первую и последнюю точку сидеть на одном уровне с концами линии.Позиционирование точек вдоль линии
Он должен быть в состоянии поддерживать произвольное количество точек (от 1 и 4), и я не могу полагаться на Flexbox быть там.
У меня есть Реагировать компонент, который генерации HTML, который выглядит следующим образом:
<div class="row">
<div class="col first" style="width:33%">
<div class="marker complete"></div>
<label>Feedback</label>
</div>
<div class="col" style="width:33%">
<div class="marker partial"></div>
<label>Observation</label>
</div>
<div class="col last" style="width:33%">
<div class="marker review"></div>
<label>Documentation</label>
</div>
</div>
JavaScript вычисляет размеры столбцов перед визуализацией и in my codepen implementation, я просто центрирование все содержимое в каждом столбце.
Я могу сортировать решение с помощью классов first
и last
для относительно позиционирования конечных элементов, но неизменно при изменении размера экрана я начинаю получать края линии, выскакивающие из-за точек.
Кто-нибудь знает более разумную схему, чтобы начать строить это с помощью?
Предполагая, что вы не можете полагаться Flexbox, что это значит, вы не можете использовать 'calc' либо? А как насчет псевдоэлементов? Может быть, проще: в каких браузерах вам нужна поддержка? –
IE9 - самый низкий, который мне нужно покрыть. Хотя я тоже не могу использовать псевдоэлементы, но это [другое ограничение] (https://github.com/Khan/aphrodite). –
Я не знаком с Афродитой, но уверены ли вы, что элементы псевэ не возможны? Стили Hover, похоже, есть, и они, как правило, также не встроены. –