как блок привязать к правому краю css
css правый край div1 прижать к правому краю div2
Есть div1, внутри него div2.
Как div2 правым краем с помощью css прижать правому краю div2.
Добавлено через 34 минуты
бррр.)))
text-align: right
в сво-вах css div1.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Прижать блок к правому краю
Начал изучать css и не получается сделать как хочу, помогите пожалуйста прижать синий блок к.
Прижать картинку к правому краю
Здравствуйте! В блоке содержится изображение и таблица. Таблица шире чем картинка и, соответственно.
Прижать кнопку к нижнему правому краю
Кнопка прижимается только к низу, но слева, в чем проблема? 11
Если я правильно понял суть, то нужно
Alorian’а первый вариант точно работает и точно правильный. а насчёт позиционирования флоатом никогда не слышал и не думал что работает.
З.Ы. модераторы, если что извините. потом удалите это сообщение)
xxxNEIxxx, У тебя мало постов недорос еще 🙂 Если я не ошибаюсь надо минимум 200 постов. Прочти в теме что админ создал там есть еще дискусия по поводу анимированных аватаров и т.д.
этот способ в резиновой вёрстке работает отлично! а насчёт флоата, по идеи ничего не должно произойти если в диве находиться только один див! если в диве находиться два дива то можно сделать один плавающим.
я в програмировании практически на нуле, но в вёрстке шарю достаточно хорошо
З.Ы. 200 постов это всмысле репутации? ты меня наверн не правельно понял, я говрил за эту цытату у тебя: Опыт — это имя, которое каждый дает своим ошибкам.
Почитайте документацию, или поставьте эксперимент если документации не верите. На самом деле сталкивался пару раз с тем что в документации не правильно пишут, но этот не тот случай.
Добавлено через 14 минут
ппц, я же говорю, насчёт первого способа я уверен что работает отлично, потому что сам так делаю!
а насчёт флоата я знаю как с ним обращаться! но если в диве будет только ОДИН див и для него float: right, то я не уверен что он просто станет с правой стороны, потому что его ничто не будет обтекать! но я в этом не уверен, поэтому и не говорю ничего прямо за флоат.
З.Ы. твоя цытата с htmlbook говорит за обтекание но ничего не говорит за один елемент!
2.4. CSS-позиционирование
CSS рассматривает макет html-документа как дерево элементов. Уникальный элемент, у которого нет родительского элемента, называется корневым элементом. Модуль CSS-позиционирование описывает, как любой из элементов может быть размещен независимо от порядка документа (т.е. извлечен из «потока»).
В CSS2 каждый элемент в дереве документа генерирует ноль или более блоков в соответствии с блочной моделью. Модуль CSS3 дополняет и расширяет схему позиционирования. Расположение этих блоков регулируется:
Схемы позиционирования
В CSS блок элемента может быть расположен в соответствии с тремя схемами позиционирования:
Нормальный поток
Обтекание
Абсолютное позиционирование
Элементом «вне потока» может быть плавающий, абсолютно позиционированный или корневой элемент.
1. Содержащий блок
2. Выбор схемы позиционирования: свойство position
Свойство position определяет, какой из алгоритмов позиционирования используется для вычисления положения блока.
Свойство не наследуется.
Относительно позиционированный блок сохраняет свои размеры, включая разрывы строк и пространство, первоначально зарезервированное для него.
Относительно позиционированный блок создает новый содержащий блок для абсолютно позиционированных потомков.
Отступы margin абсолютно позиционированных блоков не схлопываются.
Содержимое абсолютно позиционированного элемента не может обтекать другие блоки. Абсолютно позиционированный блок могут скрывать содержимое другого блока (или сами могут быть скрыты), в зависимости от значения z-index перекрывающихся блоков.
«Липкий» блок может перекрывать другие блоки, а также создавать полосы прокрутки в случае переполнения.
«Липкий» блок сохраняет свои размеры, включая разрывы строк и пространство, первоначально зарезервированное для него.
«Липкий» блок создает новый содержащий блок для абсолютно и относительно позиционированных потомков.
При печати фиксированные блоки повторяются на каждой странице, содержащим блоком для них устанавливается область страницы. Блоки с фиксированным положением, которые больше области страницы, обрезаются.
Рис. 1. Разница между статичным, относительным и абсолютным позиционированием
3. Смещение блока: свойства top, right, bottom, left
top | |
---|---|
Значение: | |
auto | Влияние значения зависит от типа элемента. Значение по умолчанию. |
длина | Смещение на фиксированном расстоянии от указанного края. Отрицательные значения допускаются. |
% | Процентные значения вычисляются относительно высоты содержащего блока. Для «липкого» блока — относительно высоты корневого элемента. Отрицательные значения допускаются. |
initial | Устанавливает значение свойства в значение по умолчанию. |
inherit | Наследует значение свойства от родительского элемента. |
Свойство top задает расстояние, на которое верхний край абсолютно позиционированного блока (с учетом его margin ) смещается ниже верхнего края содержащего блока. Для относительно позиционированных блоков определяет смещение относительно верхнего края самого блока (то есть блоку задается позиция в нормальном потоке, а затем смещение от этой позиции в соответствии с этим свойством).
right | |
---|---|
Значение: | |
auto | Влияние значения зависит от типа элемента. Значение по умолчанию. |
длина | Смещение на фиксированном расстоянии от указанного края. Отрицательные значения допускаются. |
% | Процентные значения вычисляются относительно ширины содержащего блока. Для «липкого» блока — относительно ширины корневого элемента. Отрицательные значения допускаются. |
initial | Устанавливает значение свойства в значение по умолчанию. |
inherit | Наследует значение свойства от родительского элемента. |
Свойство right указывает расстояние, на которое правый край абсолютно позиционированного блока (с учетом его margin ) смещен влево от правого края содержащего блока. Для относительно позиционированных блоков определяет смещение относительно правого края самого блока.
bottom | |
---|---|
Значение: | |
auto | Влияние значения зависит от типа элемента. Значение по умолчанию. |
длина | Смещение на фиксированном расстоянии от указанного края. Отрицательные значения допускаются. |
% | Процентные значения вычисляются относительно высоты содержащего блока. Для «липкого» блока — относительно высоты корневого элемента. Отрицательные значения допускаются. |
initial | Устанавливает значение свойства в значение по умолчанию. |
inherit | Наследует значение свойства от родительского элемента. |
Свойство bottom указывает расстояние, на которое нижний край блока смещен вверх относительно нижнего края содержащего блока. Для относительно позиционированных блоков определяет смещение относительно нижнего края самого блока.
left | |
---|---|
Значение: | |
auto | Влияние значения зависит от типа элемента. Значение по умолчанию. |
длина | Смещение на фиксированном расстоянии от указанного края. Отрицательные значения допускаются. |
% | Процентные значения вычисляются относительно ширины содержащего блока. Для «липкого» блока — относительно ширины корневого элемента. Отрицательные значения допускаются. |
initial | Устанавливает значение свойства в значение по умолчанию. |
inherit | Наследует значение свойства от родительского элемента. |
Свойство left указывает расстояние, на которое левый край смещен вправо от левого края содержащего блока. Для относительно позиционированных блоков определяет смещение относительно левого края самого блока.
Положительные значения смещают элемент внутрь содержащего блока, а отрицательные — за его пределы.
4. Обтекание: свойство float
Обтекание позволяет блокам смещаться влево или вправо на текущей строке. «Плавающий блок» смещается влево или вправо до тех пор, пока его внешний край не коснется края содержащего блока или внешнего края другого плавающего блока. Если имеется линейный блок, внешняя верхняя часть плавающего блока выравнивается с верхней частью текущего линейного блока.
При использовании свойства float для элементов рекомендуется задавать ширину. Тем самым браузер создаст место для другого содержимого. Если для плавающего элемента недостаточно места по горизонтали, он будет смещаться вниз до тех пор, пока не уместится. При этом остальные элементы уровня блока будут его игнорировать, а элементы уровня строки будут смещаться вправо или влево, освобождая для него пространство и обтекая его.
Свойство не наследуется.
float | |
---|---|
Значение: | |
none | Отсутствие обтекания. Значение по умолчанию. |
left | Элемент перемещается влево, содержимое обтекает плавающий блок по правому краю. |
right | Элемент перемещается вправо, содержимое обтекает плавающий блок по левому краю. |
inherit | Наследует значение свойства от родительского элемента. |
Плавающий блок принимает размеры своего содержимого с учетом внутренних отступов и рамок. Верхние и нижние отступы margin плавающих элементов не схлопываются.
Рис. 2. Обтекание элементов
5. Управление потоком рядом с плавающими элементами: свойство clear
Свойство clear указывает, какие стороны блока/блоков элемента не должны прилегать к плавающим блокам, находящемся выше в исходном документе. В CSS2 и CSS 2.1 свойство применяется только к неплавающим элементам уровня блока.
Свойство не наследуется.
clear | |
---|---|
Значение: | |
none | Означает отсутствие ограничений на положение элемента относительно плавающих блоков. Значение по умолчанию. |
left | Смещает элемент вниз относительно нижнего края любого плавающего слева элемента, находящемся выше в исходном документе. |
right | Смещает элемент вниз относительно нижнего края любого плавающего справа элемента, находящемся выше в исходном документе. |
both | Смещает элемент вниз относительно нижнего края любого плавающего слева и справа элемента, находящемся выше в исходном документе. |
inherit | Наследует значение свойства от родительского элемента. |
Для предотвращения отображение фона или границ под плавающими элементами используется правило
6. Определение контекста наложения: свойство z-index
В CSS каждый блок имеет позицию в трех измерениях. В дополнение к горизонтальному и вертикальному положению, блоки выкладываются вдоль оси Z друг над другом. Положение вдоль оси Z особенно важно, когда блоки визуально накладываются друг на друга.
Рис. 3. Положение элементов вдоль оси Z
Порядок, в котором дерево документа отрисовывается на экране, описывается с помощью контекста наложения. Каждый блок принадлежит одному контексту наложения. Каждый блок в данном контексте наложения имеет целочисленный уровень, который является его положением на оси Z относительно других блоков в том же контексте наложения.
Свойство z-index позволяет изменить порядок наложения позиционированных элементов в случае, когда они накладываются друг на друга.
Свойство не наследуется.
6.1. Контекст наложения
Если для элементов свойства z-index и position не заданы явно, контекст наложения равен порядку их расположения в исходном коде и браузер отображает элементы на странице в следующем порядке:
Методы позиционирования элементов в CSS
Базовый поток документа
Например, элементы, имеющее блочное отображение ( display: block ) отображаются в потоке как прямоугольные области, каждый из них на новой линии друг под другом сверху вниз.
Ширина элементов с блочным отображением по умолчанию равна доступной ширине родительского элемента, т.е. элемента, в который каждый из них непосредственно вложен. Высота их по умолчанию равна такой величине, которой будет достаточно, чтобы отобразить весь контент, который находится в каждом из них.
Элементы со строчным отображением ( display: inline ) выводятся иначе. Они в отличии от блочных элементов не размещаются каждый на новой строке, а следуют друг за другом слево направо. Если пространство справа закончилось, то они переносятся на следующую строку, а не на новую линию как элементы с блочным отображением.
В CSS есть свойства, с помощью которых элементы можно «вырвать» из основного потока документа и задать им другое положение вне базового потока элементов.
CSS-свойство position
CSS свойство position — это одно из свойств с помощью которого можно изменить базовое поведение элементов в потоке. Другими словами, данное свойство позволяет «выдернуть» любой элемент из потока документа и разместить его в другом месте относительно окна браузера или других элементов на веб-странице.
Свойство position имеет 5 значений:
static — это значение по умолчанию. Оно означает что элемент находится в базовом потоке.
Каждый элемент в потоке занимает определённую область. Но область элемента не всегда сохраняется за ним при его позиционировании.
Статичное позиционирование (static)
Явная установка элементу CSS-свойства position: static может понадобиться только в том случае, когда нужно переопределить другое значение position установленное элементу.
Пример выстраивания статично позиционированных элементов:
Относительное позиционирование (relative)
Например, для того чтобы элемент сдвинуть вверх или вниз относительного его исходного положения к нему нужно применить CSS свойство top или bottom :
Для сдвига элемента вправо или влево используется CSS свойство left или right :
Пример, в котором 2 элементу установим относительное позиционирование и сместим его на 20px вверх и влево относительно его исходного положения:
Абсолютное позиционирование (absolute)
Этот тип позиционирования позволяет разместить элемент именно там, где вы хотите.
Позиционирование выполняется относительно ближайшего позиционированного предка.
Если данный элемент не был бы позиционированным, то позиционирование #id-3 выполнялось бы относительно #id-1 :
При этом другие элементы его видеть не будут, и, следовательно, они будут расположены на странице, не обращая никакого внимание на него.
Установить ширину (высоту) абсолютно позиционированному можно с помощью установки ему двух координат top и bottom ( left и right ).
Абсолютное позиционирование применяется очень часто совместно с относительным позиционированием в дизайнерских целях, когда необходимо разместить различные элементы относительного друг друга, так же может применяться для создания выпадающих меню, разметки сайта и т.д.
Фиксированное позиционирование (fixed)
Фиксированное позиционирование похоже на абсолютное, но в отличии от него оно всегда привязывается к краям окна браузера (viewport), и остаётся в таком положении даже при скроллинге страницы.
Фиксированное позиционирование применяется для закрепления на странице навигационных меню, кнопки «вверх», панелей с социальными кнопками и многого другого.
Совместное использование относительного и абсолютного позиционирования
Относительное позиционирование очень часто используется вместе с абсолютным позиционированием.
Как поставить div справа, обтекание, пример
Свойство блока float со значением right. Свойство right со значением 0.
О позиционировании блока div справа.
Позиция блока справа свойство float со значением right
float:right;/* Положение справа */
background: #fd0; /* Цвет фона */
width: 300px; /* Ширина */
Смотрим, что мы получили:
Этот текст написан выше блока.
Далее текст, который будет написан, будет находиться ниже блока, как видим, только тот текст, что написан ниже блока див будет обтекать наш блок слева. Это дает возможность соответствующей декорации страницы, например расположение картинки, в виде превью!
И как только текст заполнит всю высоту, блока, который находится справа, то текст будет уже заполнять всю ширину родительского блока.
Div расположен справа свойство float без обтекания.
Самое простое, с моей точки зрения, поместить наш див с классом «sprava» в другой див, который будет иметь аналогичную высоту, что и класс sprava, т.е. 100px.
И добавим нашему наружному блоку «border: 1px solid;», чтобы мы его смогли увидеть!
Результат расположения блока справа:
Как видим, наш блок расположился справа, и текст, который написан ниже, и расположился ниже блока.
Div справа с помощью свойства margin-left
Создадим ещё раз новый див. С новым классом.
background: #fd0; /* Цвет фона */
width: 300px; /* Ширина */
Смотрим, что получилось:
Дело в том. что мы не учли точку отсчета по умолчанию, а она располагается в верхнем левом углу. Нашего блока.
Как видим, наш блок справа не зашел за края родительского блока.
Div справа в крайней правой точке монитора
Создадим новый блока и новый класс:
Данный блок будет находится по горизонтали на этих словах, но никак не будет влиять на него.!
Если вы уменьшите размер окна, до менее чем 740(ширина родительского блока), то блок наедет на текст.
Когда данный блок будет наезжать на основной блок с текстом?!
Сделаем скрин, когда размер экрана меньше 1080 и поставим родительскому блоку «border», чтобы мы могли его увидеть.
Если вы читали внимательно, то должны были заметить, что цифры не бьется.
Главный блок » div » = 740px.
Поэтому, как только ширина окна будет меньше 1080, наш блок будет наезжать на основной блок «main_text».
Div справа в крайней правой точке родительского блока
Когда мы рассматривали позицию блока справа с помощью «margin-left: 440px;», но если ваш родительский блок имеет резиновую ширину, то этот блок справа, будет уезжать вправо, при уменьшении основного и влево при увеличении.
И далее следующий вариант, блок будет находиться справа, в любой ситуации.
Div справа с помощью свойства right
Возьмем данные из предыдущего блока. и поместим его в другой блок и задаем ему свойства:
Как блок привязать к правому краю css
Язык CSS
Относительное позиционирование.
При относительном позиционировании блока надо задать свойство position:relative и свойства смещения.
Смещение в этом случае будет происходить не относительно «родительского» элемента (как при абсолютном позиционировании), а относительно самого блока в нормальном потоке.
Попробуем на практике. Откроем html-документ с тремя div-ами. Зададим в таблице стилей размеры и границы этих блоков: #menu, #content, #news < | border:1px solid red; width:250px; height:50px> Проверьте результат в браузере. | |
Результат в браузере:
Попробуем на практике.Теперь изменим положение блока контента, для этого добавим в страницу стилей правило: div#content < | position:relative; left:50px; top:10px> Проверьте результат в браузере. | |
Теперь второй блок сместился вниз и вправо относительно того места, где бы он находился в нормальном потоке. Остальные же блоки остались на своих местах.
Практически относительное позиционирование применяется достаточно редко.
Эти блоки нельзя позиционировать с точностью до пиксела, как в предыдущих схемах, но именно эта схема позиционирования очень распространенна. Без плавающих блоков обходится редкий сайт, а уж сделать «резиновую» верстку сайта без них и вовсе невозможно. Такие блоки могут свободно перемещаться по странице, подобным образом ведут себя картинки в HTML, выровненные с помоьщью параметра align.
Плавающие блоки определяются свойством float, который определяет будет ли блок плавающим и в какую сторону он будет перемещаться.
Возможны три варианта значений:
Попробуем на практике. Сделаем html-страницу со следующими элементами: блоки меню и новостей оставим, а контент будет без div, просто текстом (цвета фона и текста контента «перейдут» к body). Проверьте результат в браузере. |
Сейчас наша страница в браузере выглядит так:
Попробуем на практике. Давайте сделаем блок меню плавающим и прижмем его к левому краю: #menu < | float:left> Проверьте результат в браузере. | |
Теперь наша страница в браузере выглядит так:
Практическое задание: прижмем блок новостей к правому краю и поставим его в html-документе вместе с меню перед контентом; проверить, что будет, если у блоков будут одинаковые значения: прижать оба блока сначала к левому, потом к правому краю. Проверьте результат в браузере. |
Оба блока слева:
Оба блока справа:
А что делать, если мы хотим, чтобы блоки были прижаты к правому краю, но располагались бы один под другим.
Для этого существует свойство clear, которое определяет, какие стороны плавающего блока не могут соседствовать с другими плавающими блоками.
У этого свойства может быть задано одно из четырех значений:
Попробуем на практике. Зададим это свойство для блока новостей: #news < | float:right; clear:right> Проверьте результат в браузере. | |
Теперь наша страница в браузере выглядит так:
В предыдущем уроке, мы с вами с помощью абсолютного позиционирования делали страницу.
Практическое задание:сделать такую же страницу с помощью плавающих блоков. зададим сначала размеры и фон для наших блоков; сделаем блоки menu и content плавающими и левосторонними; блок news должен прижиматься к правому краю, т.е. его мы сделаем правосторонним плавающим блоком, так, чтобы блок новостей был справа, а текст обтекал бы его слева (не забудьте блок news в html-коде расположить выше текста, т.е. до слова «контент»). Проверьте результат в браузере. |
С помощью плавающих блоков верстать страницу проще: не надо рассчитывать пикселы, да и код короче. К тому же при «резиновой» верстке мы и не можем указать точное расположение блока на экране, а с помощью плавающих блоков нам это и не нужно, достаточно указать лишь ориентир (слева, справа, ниже или в той же линии).
Как вы помните при фиксированном позиционировании блок фиксируется относительно области просмотра. В некотором смысле фиксированные блоки похожи на фреймы. Только внутри фрейма доступна прокрутка, а внутри блока нет. У фиксированных блоков может быть один недостаток: они могут не поддерживаются старыми версиями Internet Explorer.
Попробуем на практике. Блок новостей зафиксируем справа так, чтобы при прокрутке страницы он оставался на месте. #news < | position:fixed; right:0px; top:50px> Проверьте результат в браузере. | |
Теперь наша страница в браузере при прокрутке выглядит так:
В следующем уроке мы познакомимся еще с некоторыми свойствами блоков и их видами.