html — Как «приклеить» блок к правому краю, если он внутри .col (Bootstrap)?
Как приклеить блок .test4 к правому краю? Я пробовал его помещать в родительский блок с position: relative, а самому ему давать position: absolute и right:0, но получается как на картинке:
Тут видно что стандартный Bootstrap отступ по краям мешает прижать блок к правому краю.
.container, .row { height: 100vh; } .test1 { background: #ccc; } .test2 { background: #aaa; } .test3 { background: #999; } .test4 { background: gold; height: 50px; width: 50px; }
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> <div> <div> <div> test1 </div> <div> test2 </div> <div> test3 <div>test4</div> </div> </div> </div>
- html
- css
- bootstrap
Если элемент не относится к bootstrap контейнеру, правильно его будет вынести с класса . container
HTML
<div> <div> <div> <div> test1 </div> <div> test2 </div> <div> test3 </div> </div> </div> <div>test4</div> </div>
CSS
.test4 { position: absolute; top: 0; right: 0; background: gold; height: 50px; width: 50px; }
2
Зарегистрируйтесь или войдите
Регистрация через GoogleРегистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
html — Выравнивание по краю экрана в Bootstrap
Вопрос задан
Изменён 5 лет 9 месяцев назад
Просмотрен 2k раза
Здравствуйте!
Недавно начал знакомство с Bootstrap и столкнулся с ситуацией, где в div’е размещается 2 блока: один с текстом, другой с изображением. Но загвоздка в том, что изображение должно прилипать не к краю контейнера, а к краю экрана. На просторах сети такого решения найти не смог, к сожалению.
Как это можно логичнее реализовать?
Макет:
Я делал это как-то так:
.collections-grey { background-color: #f6f6f6; } .collections-text-left { float: left; } .collections-text-right { float: right; } .collections-image-right { float: right; } .collections-image-left { float: left; } .collections-image-right img { width: 100%; } .collections-white { background-color: #fff; }
<section> <div> <div> <div> <div> <div> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </div> <!--collections-text-left--> <div> <img src="images/clips.png"> </div> <!--collections-image-right--> <div></div> </div> <!--col-md-12--> </div> <!--row--> </div> <!--container--> </div> <!--collections-grey--> </section>
Сразу прошу извинить за, вероятно, кривое сообщение, чукча только учится)
- html
- css
- вёрстка
- bootstrap
- адаптивная-верстка
2
Решение по вашему вопросу:
.section-with-image { min-height: 150px; position: relative; } @media (max-width: 479px) { .section-with-image > img { height: auto; width: 100%; } } @media (min-width: 480px) { . section-with-image > img { height: 100%; position: absolute; top: 0; width: auto; } .section-with-image > .img-left { left: 0; } .section-with-image > .img-right { right: 0; } } .section-with-image h3, .section-with-image p { text-transform: uppercase; } .section-with-image a { margin: 40px 0; } .section-grey { background-color: #f6f6f6; } .section-white { background-color: #fff; }
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> <section> <img src="http://i.gyazo.com/650a46387fa5db34470afd0a8984bd0b.png" alt="Clips"/> <div> <div> <div> <h3>Clips</h3> <p>Коллекция весна-лето 2016</p> <a href="#">Смотреть</a> </div> </div> </div> </section> <section> <img src="http://i.gyazo.com/4395a87eccc44866a1d4667e68735cba.png" alt="Brunella"/> <div> <div> <div> <h3>Brunella</h3> <p>Коллекция весна 2016</p> <a href="#">Смотреть</a> </div> </div> </div> </section> <section> <img src="http://i.gyazo.com/650a46387fa5db34470afd0a8984bd0b.png" alt="Clips"/> <div> <div> <div> <h3>Clips</h3> <p>Коллекция весна-лето 2016</p> <a href="#">Смотреть</a> </div> </div> </div> </section>
Или посмотреть код на jsfiddle
Судя по вашим скриншотам — текст должен был прилеплен к краям контейнера. Это важное условие, так как в таком случае использовать . container-fluid
уже не удастся. Однако можно использовать .container
для контента, и абсолютное позиционирование по секции для изображения.
@media (min-width: 480px) { .section-with-image > img { height: 100%; position: absolute; top: 0; width: auto; } .section-with-image > .img-left { left: 0; } .section-with-image > .img-right { right: 0; } }
Обратите внимание на @media запрос — на узких экранах, чтобы контент не наслаивался на изображение — мы располагаем изображение над контентом:
@media (max-width: 479px) { .section-with-image > img { height: auto; width: 100%; } }
В некоторых ситуациях решается так:
.slideInRight{ position: absolute; width: N%; right: 0; }
дальше уже с учетом занчения width
можно изменить размер внутри контейнера, марджинами изменить высоту если надо.
Бутстрап предлагает иерархию Контейнер > Ряды > Столбцы. Можно взять её за основу и сделать, например, так:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> <style> .collections-grey { background-color: #f6f6f6; } .collections-white { background-color: #fff; } .collections-image-left, .collections-image-right, .collections-text-left, .collections-text-right { padding: 0; } .collections-image-right, .collections-text-right { text-align: right; } .collections img { height: auto; max-width: 100%; } </style> <section> <div> <div> <div> <h3>CLIPS</h3> </div><!--col--> <div> <img src="https://i. gyazo.com/650a46387fa5db34470afd0a8984bd0b.png" alt="CLIPS"> </div><!--col--> </div><!--row--> <div> <div> <img src="https://i.gyazo.com/4395a87eccc44866a1d4667e68735cba.png" alt="BRUNELLA"> </div><!--col--> <div> <h3>BRUNELLA</h3> </div><!--col--> </div><!--row--> </div><!--container-fluid--> </section>
используйте не
.container
класс, а.container-fluid
.добавьте css свойство:
.collections-grey .container-fluid { margin: 0 -15px 0 0; }
1
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Пользовательский интерфейс— выравнивание по левому краю и выравнивание по правому краю внутри div в Bootstrap
спросил
Изменено 1 год, 2 месяца назад
Просмотрено 1,2 млн раз
Каковы некоторые из распространенных способов выравнивания по левому краю некоторого текста и выравнивания по правому краю другого текста в контейнере div в начальной загрузке?
напр.
Общая стоимость $42
Суммарная стоимость должна быть выровнена по левому краю, а $42 — по правому краю. 0
2021 Update…
Bootstrap 5 (beta)
Для выравнивания внутри div flexbox или row
…
-
мл-авто
теперьмс-авто
-
г-авто
теперья-авто
Для выравнивания текста или поплавков..
-
text-left
теперьtext-start
-
text-right
теперьtext-end
-
float-left
теперьfloat-start
-
float-right
теперьfloat-end
Bootstrap 4+
-
тянуть вправо
теперьплавать вправо
-
text-right
такой же, как 3.x, и работает для встроенных элементов - оба
float-*
иtext-*
реагируют на различное выравнивание при разной ширине (например:float-sm-right
)
Утилита flexbox (например: justify-content-between
) также может использоваться для выравнивания:
<дел> оставил<дел> правильно