Как задать фон больше чем ширина родительского блока?

232
17 августа 2017, 20:18

Есть блок с контентом обернутый в container. И у него есть фоновый цвет который должен идти на всю ширину body(т.е. больше чем ширина контейнера-родителя). Как можно это сделать?

Answer 1

Решил проблему. Родительскому блоку задал

  .container {  
    width: 100vw;
    margin-left: calc(-50vw + 50%);
  }
Answer 2

С помощью единиц вьюпорта и функции calc(). А именно, блоку, который необходимо растянуть, надо задать ширину 100vw и сдвинуть его влево по формуле (100vw - ширина_главного_контейнера) / -2

body { 
  margin: 0; 
} 
 
main { 
  width: 400px; 
  margin: auto; 
  background: #000; 
  height: 100vh; 
} 
 
header { 
  background: #ccc; 
  width: 100vw; 
  margin-left: calc((100vw - 400px) / -2); 
} 
 
.container { 
  padding: 1em; 
  margin: auto; 
  width: calc(400px - 2em); 
} 
 
.container p { 
  margin: 0; 
}
<main> 
  <header> 
    <div class=container> 
      <p>هناك حقيقة مثبتة منذ زمن طويل وهي أن المحتوى المقروء لصفحة ما سيلهي القارئ عن التركيز على الشكل الخارجي للنص أو شكل توضع الفقرات في الصفحة التي يقرأها. ولذلك يتم استخدام </p> 
    </div> 
  </header> 
</main>

READ ALSO
Эффект затемнения вокруг формы

Эффект затемнения вокруг формы

Подскажите какие сss надо использовать для затемнение при запуске окна формы Вот так

281
Как сделать чтобы количество select стало равно цифры введённой в input

Как сделать чтобы количество select стало равно цифры введённой в input

Добрый день! Подскажите пожалуйста как реализовать такую функцию Есть код

341
Не работает кодировка сайта на другом компьютере [требует правки]

Не работает кодировка сайта на другом компьютере [требует правки]

Сайт на другом компьютере открывается с кракозябрами, а на моём нормальноКодировку UTF-8 прописал

274
Как получить отсюда значение \d*?

Как получить отсюда значение \d*?

Как получить отсюда значение \d*?

227