Css Grid и BEM (БЭМ) Позиционирование

205
04 апреля 2019, 15:10

При использовании CSS Grid необходимо в каждом блоке прописывать его позиционирование.

Что то типа такого:

.header 
{ 
  display: grid; 
  grid-template: 50px / 100px 1fr; 
} 
 
.logo 
{ 
  grid-area: 1 / 1 / span 1 / span 1; 
} 
 
.menu 
{ 
  grid-area: 1 / 2 / span 1 / span 1; 
}
<div class="header"> 
    
  <h1 class="logo"></h1> 
   
  <nav class="menu"></nav> 
   
</div>

А BEM (БЭМ) подразумевает, что блоки не знают о своем положении внутри родительского блока.

Каким способом лучше решить эту проблему?

В общем пока решаю это с помощью микса.

Вот так:

.header 
{ 
  display: grid; 
  grid-template: 50px / 100px 1fr; 
} 
 
.header_logo 
{ 
  grid-area: 1 / 1 / span 1 / span 1; 
} 
 
.logo 
{ 
     
} 
     
.header_menu 
{ 
  grid-area: 1 / 2 / span 1 / span 1; 
} 
 
.menu 
{ 
       
}
<div class="header"> 
        
   <h1 class="logo header_logo"></h1> 
       
   <nav class="menu header_menu"></nav> 
       
</div>

Так делать вообще правильно? Есть ли способы лучше?

READ ALSO
Убрать стиль после выбора значения js

Убрать стиль после выбора значения js

Подскажите пожалуйста, есть js скрипт который ищет по таблице значения и выводит их:

195
Как сделать ограничение на ввод в input пробелов? [закрыт]

Как сделать ограничение на ввод в input пробелов? [закрыт]

Нужно чтобы при вводе в инпут допускался только один пробелПредполагаю что для этого надо регулярное выражение

167
Верстка элемента (угол) [дубликат]

Верстка элемента (угол) [дубликат]

На данный вопрос уже ответили:

167