kupuelel
@kupuelel

Почему при использовании технологии БЭМ не работает flex?

Использую технологию БЭМ, при верстке header не могу применить к элементу
display: flex
flex-direction: column
Элементы по прежнему располагаются в строку

HTML
<div class="promo">
        <div class="container">
            <header class="header">
                <a href="#" class="header__logo">
                    <img src="icons/logo.png" alt="logo">
                </a>
                <div class="header__official">
                    Официальный представитель
                    <span>Garmin, Polar, Suunto</span>
                </div>
                <div class="header__contacts">
                    <div class="header__phone">
                        <a href="tel:+74999228974">
                            +74999228974
                        </a>
                        <button class="button">заказать звонок</button>
                    </div>
                </div>
            </header>
        </div>
    </div>


Вот scss файл header
.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    &__logo{
        width: 250px;
        img{
            width: 100%;
        }
    }
   &__contacts {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }
    &__official {
        color: #fff;
        display: block;
        font-size: 12px;
        font-weight: 500;
        text-align: center;
        span {
            display: block;
            font-size: 18px;
        }
    }
    &__phone {
        display: block;
        color: #fff;
        font-size: 18px;
        font-weight: 700;
        &:hover {
            color: #fff;
            text-decoration: none;
        }
    }
    
}

Номер телефона должен располагаться над кнопкой
6243212b38acf096064667.png
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега HTML
frontend developer
Не понятно, причем здесь флекс и БЭМ
Обычные азы

<div class="header__phone">
   <a href="tel:+74999228974">
      +74999228974
   </a>
   <button class="button">заказать звонок</button>
</div>


Два строковых элемента всегда будут расположены в строку
Хотите вертикально - нужно это переопределить. Например, ссылку обернуть в блочный элемент (div) или стилями задать display:block ссылке и/или кнопке.
Ну или для .header__phone указывать флекс и вертикальное направление.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Потому что вы указали кнопку и телефон в классе header__phone, для которого не написали никаких правил.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы