Рамки и границы
С помощью CSS можно добавить рамку к элементу несколькими способами. В основном, конечно же, применяется свойство border , как наиболее универсальное, а также outline и, как ни удивительно, box-shadow , основная задача которого — создание тени. Далее рассмотрим эти методы и их различия между собой.
Свойство outline
Самое простое свойство для создания рамок. Имеет те же параметры, что и border , но существенно отличается от него некоторыми деталями:
- outline выводится вокруг элемента ( border внутри);
- outline не влияет на размеры элемента ( border добавляется к ширине и высоте элемента);
- outline можно установить только вокруг элемента целиком, но никак не на отдельных сторонах ( border можно использовать для любой стороны или всех сразу);
- на outline не действует радиус скругления, заданный свойством border-radius (на border действует).
Возникает вопрос — в каких случаях нужен outline , когда его роль, несмотря на перечисленные отличия, вполне берёт на себя border ? Ситуаций не так и много, но они встречаются:
- создание сложных разноцветных рамок;
- добавление рамки к элементу при наведении на него курсора мыши;
- сокрытие рамки, добавляемой браузером автоматически для некоторых элементов при получении фокуса;
- для outline можно задать расстояние от края элемента до рамки с помощью свойства outline-offset , для создания различных дизайнерских эффектов.
Разноцветные рамки
Надо понимать, что outline ни в коей мере не заменяет border и вполне может существовать вместе с ним, как показано в примере 1.
Пример 1. Создание рамки
border и outline
В данном примере вокруг элемента добавляется чёрная рамка, которая отделена от фона белой каймой (рис. 1).
Рис. 1. Рамка вокруг элемента
Рамка при использовании :hover
При добавлении рамки через border происходит увеличение ширины элемента, что довольно заметно при сочетании border и псевдокласса :hover . Есть два способа, как это «победить». Самое простое — заменить border на outline , которое, как мы знаем, не оказывает влияния на размеры элемента (пример 2).
Пример 2. Рамка при наведении
outline
outline не всегда годится, хотя бы потому, что на него скругление уголков не действует. Здесь подойдёт второй метод — добавляем невидимую рамку или рамку, совпадающую с цветом фона, а затем меняем её параметры при наведении (пример 3). Тогда никакого смещения элемента происходить не будет, поскольку рамка изначально уже есть. Но всегда помним, что ширина элемента при этом складывается из значений width , border слева и border справа. Аналогично обстоит и с высотой.
Пример 3. Рамка при наведении
border
Рамка вокруг полей формы
В некоторых браузерах (Chrome, Safari, последние версии Opera) вокруг полей формы при получении ими фокуса отображается небольшая цветная рамка (рис. 2). Чтобы её убрать, достаточно в стилях добавить к свойству outline значение none , как показано в примере 4.
![]()
Рис. 2. Рамка вокруг полей
Пример 4. Убираем рамку
input
Рамки через box-shadow
Хотя свойство box-shadow предназначено для добавления тени вокруг элемента, с его помощью можно и создавать рамки, причём такие, которые невозможно сделать через border или outline . Всё благодаря тому, что число теней может быть неограниченным, параметры которых перечисляются через запятую.
Чтобы получить рамку, первые три параметра следует задать нулевыми, они отвечают за положение тени и её размытие. Четвёртый параметр в данном случае отвечает за толщину границы, а пятый устанавливает цвет рамки. Для второй рамки четвёртый параметр равняется сумме толщин двух рамок.
В примере 4 показано добавление двух рамок и одной границы справа с помощью одного свойства box-shadow .
Пример 4. Использование box-shadow
box-shadow div
Результат данного примера показан на рис. 3.
Рис. 3. Рамки, созданные свойством box-shadow
Как убрать пунктирную рамку вокруг ссылок?
Убрать пунктирную рамку, которая появляется при получении ссылкой фокуса.
Решение
При активации ссылок некоторые браузеры добавляют вокруг них пунктирную рамку. Она предназначена для привлечения внимания и демонстрации текущего фокуса.
Вид пунктирной рамки при получении фокуса
Тем не менее, некоторые разработчики хотели бы убрать эту рамку, чтобы сделать сайт однообразным в различных браузерах. Для этого следует к селектору A добавить стилевое свойство outline со значением none (пример 1).
Пример 1. Убираем рамку
HTML5 CSS 2.1 IE Cr Op Sa Fx
Пунктирная рамка Google
В данном примере у всех ссылок на сайте прячется пунктирная рамка, отображаемая при активации ссылок.
HTML по теме
CSS по теме
Не выкладывайте свой код напрямую в комментариях, он отображается некорректно. Воспользуйтесь сервисом cssdeck.com или jsfiddle.net, сохраните код и в комментариях дайте на него ссылку. Так и результат сразу увидят.
Популярные рецепты
Как добавить картинку на веб-страницу?
Как добавить иконку сайта в адресную строку браузера?
Как добавить фоновый рисунок на веб-страницу?
Как сделать обтекание картинки текстом?
Как растянуть фон на всю ширину окна?
Как выровнять фотографию по центру веб-страницы?
Как разместить элементы списка горизонтально?
Как убрать подчеркивание у ссылок?
Как убрать маркеры в маркированном списке?
Как изменить расстояние между строками текста?
Как сделать, чтобы картинка менялась при наведении на нее курсора мыши?
Как открыть ссылку в новом окне?
Как убрать рамку вокруг контейнера html?

Всем привет, мне нужно убрать рамку из фона вокруг контейнера в html, поможете?
- Вопрос задан более трёх лет назад
- 520 просмотров
1 комментарий
Простой 1 комментарий
FrelFrloich @FrelFrloich
padding: 0;
margin: 0;
Вы код покажите, где это блок с рамкой, что он из себя представляет.
Решения вопроса 1
Ankhena @Ankhena Куратор тега CSS
Нежно люблю верстку
body <
margin: 0
>
Ответ написан более трёх лет назад
Нравится 1 5 комментариев
Ярослав Опалинский @Restel Автор вопроса

левая и верхняя часть как надо, спасибо, а с правой частью что делать?
Ankhena @Ankhena Куратор тега CSS
Ярослав Опалинский, на вашей картинке — закрасить в фотошопе, как вы понимаете.
А чтобы узнать что с кодом, нужен ваш код в песочнице jsfiddle.net
Ярослав Опалинский @Restel Автор вопроса
Ankhena @Ankhena Куратор тега CSS
Ярослав Опалинский, вы задали блоку ширину 500px и отступы, слева 40px и справа 925px.
Итого 1465px.
Значит, если ширина окна меньше 1465, будет горизонтальная полоса прокрутки.
Если больше, то будет отступ.
Обычно таким блокам либо не задают ширину вообще, если они в потоке и тогда они растягиваются на вс ширину родителя. Либо задают 100%, если они не в потоке (absolute, fixed, sticky).
Еще почитайте про box-sizing, будет проще.
Как убрать рамку у кнопок?
По умолчанию, браузер добавляет к кнопкам рамку, которая меняет свой стиль при изменении цвета фона кнопки. Вот как выглядит такая кнопка.
Сама рамка устанавливается через универсальное свойство border, оно одновременно определяет толщину рамки, её стиль и цвет. Соответственно, чтобы у кнопки убрать рамку есть три способа:
- задать нулевую толщину рамки;
- указать стиль рамки как none или hidden ;
- установить прозрачный цвет рамки.
Толщина рамки
Используем свойство border-width с нулевым значением или универсальное border (пример 1).
Пример 1. Нулевая толщина рамки
Стиль рамки
За стиль рамки отвечает свойство border-style или, опять же, универсальное border . В качестве значения указываем none или hidden (пример 2).
Пример 2. Меняем стиль рамки
Значения none и hidden дают одинаковый результат, но имеют небольшие отличия, которые проявляются только при создании линий в таблицах. Для кнопок эти значения равнозначны.
Прозрачный цвет
В CSS для прозрачного цвета зарезервировано ключевое слово transparent . Так что для рамки пишем свойство border-color или border с этим значением.
Прозрачный цвет рамки удобно задавать в ситуациях, когда рамка меняет свой цвет при наведении на кнопку курсора мыши или при щелчке по кнопке (пример 3).
Пример 3. Цвет рамки
В данном примере сперва задаём параметры рамки, но делаем её прозрачной через transparent . Затем в псевдоклассе :hover устанавливаем желаемый цвет рамки, который будет проявляться при наведении на кнопку.
См. также
- border-bottom-color
- border-color
- border-left-color
- border-right-color
- border-top-color
- Атрибуты
- Граница в CSS
- Кнопки
- Кнопки
- Кнопки в Bootstrap 4
- Создание кнопок