@dqwe93

Как правильно сверстать блок с иконками?

Есть вот такой блок
5ca5da80be5cc141452612.png

как видно заголовок и название идет четко друг под другом. Я пытаюсь сверстать его вот так
<div class="advantages">
				<div class="advantages__item">
					<span class="advantages_icon-eye"></span>
					<div class="advantages_name clearfix">
						1. Lorem ipsum
					</div>
					<div class="advantages_description">Ut porttitor quam nec risus ultricies efficitur. Pellentesque sagittis sed magna scelerisque consectetur.</div>
				</div>
				<div class="advantages__item">
					<span class="advantages_icon-brush"></span>
					<div class="advantages_name clearfix">
						2. Lorem ipsum
					</div>
					<div class="advantages_description">Ut porttitor quam nec risus ultricies efficitur. Pellentesque sagittis sed magna scelerisque consectetur.</div>
				</div>
				<div class="advantages__item">
					<span class="advantages_icon-heart"></span>
					<div class="advantages_name clearfix">
						3. Lorem ipsum
					</div>
					<div class="advantages_description">Ut porttitor quam nec risus ultricies efficitur. Pellentesque sagittis sed magna scelerisque consectetur.</div>
				</div>
			</div>


.advantages{
	float:left;
	width:570px;
}

.advantages_icon-eye{
	display:block;
	float:left;
	width:31px;
	height:20px;
	background-color:red;
}

.advantages_icon-brush{
	display:block;
	float:left;
	width:31px;
	height:31px;
	background-color:green;
}

.advantages_icon-heart{
	display:block;
	float:left;
	width:31px;
	height:27px;
	background-color:blue;
}

.advantages_name{
	text-transform: uppercase;;
	color:#000;
	font-weight:bold;
}


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

P.S. Флексы не предлагать))) я пока что хочу флоаты постигнуть
  • Вопрос задан
  • 298 просмотров
Решения вопроса 1
@ParaBellum577
Какие флоаты? На дворе 2к19 год.
тут 2 минуты на флексах это все сделать. Как говорится: когда за тебя придумали велосипед, не нужно пытаться его изобрести, пользуйся уже готовыми решениями.
Вот тебе на вскидку, глядя на картинку набросал разметку +-

<div className='wrapper'>
          <div  className='line'>
            <img src="" alt=""/>
            <div>
              <h1></h1>
              <p></p>
            </div>
          </div>
          <div className='line'>
            <img src="" alt=""/>
            <div>
              <h1></h1>
              <p></p>
            </div>
          </div>
          <div className='line'>
            <img src="" alt=""/>
            <div>
              <h1></h1>
              <p></p>
            </div>
          </div>
        </div>

.wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    > .line {
        display: flex;
        > div {
            display: flex;
            flex-direction: column; 
        }
    }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@vardoLP
Ват ю сэй эбаут май мама?!
advantages__item делаете padding-left; на нужную ширину и position:relative;

span с иконками делайте position:absolute; и выравнивайте как вам нужно
Ответ написан
Комментировать


Возможно это вам поможет - display: grid

А свойство float лучше не использовать как по мне)
Ответ написан
Комментировать
@cssfish
Плохое знание основ - причина больших бед
флоаты, флэксы, grid, код без фидла, мде...
может, тогда уж сразу на канвасе нарисуем?

и никто не заметил что там вообще-то нумерованный список?
Его и верстаем обычными блоками
а про иконки Юпитер Макс выше вам дело говорит )
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы