Я думаю, что этот вопрос в равной степени относится к CSS и WordPress. Я использую Bootstrap, но это не обязательно относится к проблеме.Помещение 100% ширины div внутри контейнера содержимого страницы в WordPress
У меня есть проект, который требует полного раздела ширины (изображение полной ширины с текстом) в середине страницы WordPress. Эта схема в основном описывает расположение:
http://postimg.org/image/xls5kg9yf/
верхние и нижние колонтитулы в сером цвете, полная ширина. Содержимое страницы (в желтом цвете) находится внутри контейнера Boostrap с максимальной шириной 1170 пикселей. Красная секция представляет полный div с изображением и текстом, которые необходимо вставить в середине содержимого страницы.
Каков наилучший способ сделать это? По понятным причинам содержимое страницы должно находиться внутри класса контейнера. Клиент хочет, чтобы секция полной ширины находилась в середине содержимого страницы, так как текст выше и ниже должен быть доступен для редактирования через панель инструментов. Поэтому я не могу просто отредактировать шаблон страницы и поместить изображение полной ширины после контейнера, который охватывает содержимое страницы.
position: absolute;
не будет работать, потому что изображение должно оставаться в потоке страницы. Кроме того, столбцы Boostrap используют position: relative
, поэтому он просто позиционирует себя относительно родительского столбца, который находится внутри контейнера, и, следовательно, не будет на 100% ширины.
я мог бы использовать margin-left: -9999px
& margin-right: -9999px
(или любой другой номер), чтобы сделать его ширина 100%, но если эти поля не точно равна ширине окна - ширина контейнера, то фоновое изображение будет растягиваться далеко за 100%.
Единственное возможное решение, которое я могу придумать, это использовать jQuery для получения ширины окна, а затем установить ширину раздела так же, как и окно, с отрицательным левым полем, равным (ширина окна - ширина контейнера)/2 ,
Так, например, если окно было 1400px в ширину и контейнер 1170px то полная ширина секции будет установить с помощью сценария для:
.full-width-section {
width: 1400px;
margin-left: -115px;
}
Конечно сценарий нужно будет работать, когда окно также изменен. В целом это кажется очень сложным решением. Любое простое решение с использованием только CSS было бы потрясающим.
Вот соответствующий CSS и HTML для справки:
HTML:
<div class="container">
<div class="row">
<div class="col-xs-12">
[page content, <?php the_content(); ?> is here on the page template]
<div class="full-width-section"></div>
[more page content]
</div>
</div>
CSS:
.container {
width: 1170px;
}
.col-xs-12 {
width: 100%;
position: relative;
}
Что именно вы подразумеваете при использовании margin-left: -100%? Я действительно думал о закрытии класса контейнера перед этим. Включая некоторые другие div, которые я исключил из HTML, поскольку они неактуальны, это означало бы закрытие 5 div и последующее их повторное открытие, что казалось бы очень плохой практикой и проблематичным, но в конечном итоге это может быть способ сделать это, я думаю. –