Рамки и границы. Рамки и границы Примеры определения рамок

19.11.2023 Wi-Fi

CSS-рамка элемента представляет собой одну или несколько линий, окружающих содержимое элемента и его поля padding . Рамка задаётся с помощью краткого свойства border . Стиль рамки задается с помощью трех свойств: стиль , цвет и ширина .

Оформление рамок HTML-элементов с помощью CSS-свойств

1. Стиль рамки border-style

По умолчанию рамки всегда отрисовываются поверх фона элемента, фон распространяется до внешнего края элемента. Стиль рамки определяет ее отображение, без этого свойства рамки не будут видны вообще. Для элемента можно задавать рамку для всех сторон одновременно с помощью свойства border-style или для каждой стороны отдельно с помощью уточняющих свойств border-top-style и т.д. Не наследуется.

border-style
(border-top-style, border-right-style, border-bottom-style, border-left-style)
Значения:
none Значение по умолчанию, означает отсутствие рамки. Также убирает рамку элемента из группы элементов с установленным значением данного свойства.
hidden Эквивалентно none .
dotted
dotted
dashed
dashed
solid
solid
double
double
groove
groove
ridge
ridge
inset
inset
outset
outset
{1,4}
Одновременное перечисление четырех разных стилей для рамок элемента, только для свойства border-style:
{border-style: solid dotted none dotted;}
initial
inherit

Синтаксис

P {border-style: solid;} p {border-top-style: solid;}

2. Цвет рамки border-color

Свойство задаёт цвет рамок всех сторон одновременно. С помощью уточняющих свойств можно установить свой цвет для рамки каждой стороны элемента. Если для рамки цвет не задан, то он будет таким же, как и цвет текста элемента. Если в элементе нет текста, то цвет рамки будет таким же, как и цвет текста родительского элемента. Не наследуется.

border-color
(border-top-color, border-right-color, border-bottom-color, border-left-color)
Значения:
transparent Устанавливает прозрачный цвет для рамки. При этом ширина рамки остается. Можно использовать для смены цвета рамки при наведении курсора мыши на элемент, чтобы избежать смещение элемента.
цвет Цвет рамок задается при помощи значений свойства .
{border-color: #cacd58;}
{1,4}
Одновременное перечисление четырех разных цветов для рамок элемента, только для свойства border-color:
{border-color: #cacd58 #5faf8a #b9cea5 #aab238;}
initial Устанавливает значение свойства в значение по умолчанию.
inherit Наследует значение свойства от родительского элемента.

Синтаксис

P {border-color: #cacd58;}

3. Ширина рамки border-width

Ширина рамки задается с помощью единиц измерения длины или ключевых слов. Если для свойства border-style задано значение none , и для рамки элемента установлена какая-то ширина, то в данном случае ширина рамки приравнивается к нулю. Не наследуется.

Синтаксис

P {border-width: 2px;}

4. Задание рамки одним свойством

Свойство border позволяет объединить в себе следующие свойства: border-width , border-style , border-color , например:

Div { width: 100px; height: 100px; border: 2px solid grey; }

При этом заданные свойства будут применяться ко всем границам элемента одновременно. Если какое-то из значений не указано, его место займет значение по умолчанию.

5. Задание рамки для одной границы элемента

В случае, когда необходимо задать разный стиль границ элемента, можно воспользоваться краткой записью для соответствующей границы.
Перечисленные ниже свойства объединяют в одно объявление следующие свойства: border-width , border-style и border-color . Перечень свойств указывается в заданном порядке, при этом одно или два значения могут быть пропущены, в этом случае их значения примут значения по умолчанию.

Стиль верхней границы задается с помощью свойства border-top , нижней — border-bottom , левой — border-left , правой — border-right .

Синтаксис

P {border-top: 2px solid grey;}

Рамки имеют многообразное применение, например, как декоративный элемент или для отделения двух объектов. CSS предоставляет бесчисленное множество вариантов использования рамок.

Толщина рамки

Толщина рамки определяется свойством border-width , которое может иметь значения thin, medium и thick, или числовое значение в пикселах. На рисунке показана эта система:

Цвет рамки

Свойство border-color определяет цвет рамки. Значения - нормальные значения цвета, например: "#123456", "rgb(123,123,123)" или "yellow" .

Типы рамок

Существуют различные типы рамок. Ниже показаны восемь типов рамки и их интерпретация в Internet Explorer 5.5. Все примеры показаны цветом "gold" и толщиной "thick", но могут, естественно, выводиться другим цветом и толщиной.

Значения none или hidden могут использоваться, если вы не хотите отображать рамку.

Примеры определения рамок

Три рассмотренных выше свойства можно объединить в каждом элементе и, соответственно, устанавливать разные рамки. Для иллюстрации взглянем на документ, где определены разные рамки для

,

,
    и

    Результат, может быть, не столь впечатляющ, но он демонстрирует некоторые возможности:

    H1 { border-width: thick; border-style: dotted; border-color: gold; } h2 { border-width: 20px; border-style: outset; border-color: red; } p { border-width: 1px; border-style: dashed; border-color: blue; } ul { border-width: thin; border-style: solid; border-color: orange; }

    Можно также установить специальные свойства для верхнего, нижнего, правого и левого края рамки. Вот как это делается:

    H1 { border-top-width: thick; border-top-style: solid; border-top-color: red; border-bottom-width: thick; border-bottom-style: solid; border-bottom-color: blue; border-right-width: thick; border-right-style: solid; border-right-color: green; border-left-width: thick; border-left-style: solid; border-left-color: orange; }

    Сокращённая запись

    Как и для многих других свойств, вы можете объединить несколько свойств в одно, используя слово border. Пример:

    P { border-width: 1px; border-style: solid; border-color: blue; }

    можно объединить в:

    P { border: 1px solid blue; }

    Резюме

    В этом уроке вы познакомились с безграничными возможностями CSS при использовании рамок.

    В следующем уроке мы рассмотрим, как определять размеры в боксовой модели - height и width.

    К созданию различных красивостей вокруг него, и первой такой красивостью будет рамка.

    Для начала рассмотрим, самые простые рамки. Для их создания, в CSS используется свойство border , которому можно задать следующие значения:

    solid – сплошная рамка;

    dashed – пунктирная рамка;

    dotted – точечная рамка;

    double – рамка двойной линией;

    groove – рамка с тенью;

    ridge — с рельефом;

    Ещё два свойства необходимые для создания простых рамок — это

    widht – толщина рамки;

    color – цвет рамки;

    Согласно техники сокращения, записываются значения, одной строкой, через пробел.

    p {
    border : 2px solid #ffff00 ;
    }

    padding – внутренний (отступ рамки от содержания);

    margin — внешний (отступ рамки от внешних объектов);

    Ещё для отступов задаются направления (с какой стороны на сколько отступить). Эти свойства применяются, когда возникает необходимость разместить содержимое не по центру рамки, или саму рамку с каким либо смещением.

    top – отступ сверху;

    righnt – отступ cправа;

    bottom – отступ снизу;

    left – отступ слева

    Записываются значения этих свойств в сокращённом варианте друг за другом (padding: 10px 30px 15px 20px ), и первым ставится значение top , а дальше по часовой стрелке остальные.

    Если поставить только одно значение, то это будет значить, что отступ со всех сторон будет одинаковый.

    p {
    border : 2px solid #ffff00 ;

    margin : 20px ;
    }

    Если нужно разместить текст, или изображение по центру рамки, то в селектор «p» можно добавить свойство text-align: center ;

    Далее рассмотрим, как задаются высота и ширина рамки . Высота рамки задаётся браузером автоматически, и выбирается таким образом, чтобы в нем уместилось содержание, с учётом заданных отступов. А вот ширину мы с вами будем задавать самостоятельно.

    Задаётся она свойством width, и в значении его указывается желаемый размер в пикселях, или других мерах длины, принятых в веб.

    p {
    border : 2px solid #ffff00 ;
    padding : 10px 20px 10px 20px ;
    margin : 20px ;
    width : 400px ;
    }

    Кстати, запомните, что при задании ширины, браузер это значение понимает, как ширину только содержимого. Затем к этому значению он добавляет заданные отступы и толщину рамки, и окончательный размер отображает на странице.

    И последнее, что необходимо сделать — это расположить рамку на странице. Делается это при помощи, уже имеющегося, свойства margin.

    А если нужно просто расположить блок рамки по центру страницы, то в свойство margin добавляется значение auto.

    p {
    border : 2px solid #ffff00 ;
    padding : 10px 20px 10px 20px ;
    margin : 20px auto ;
    width : 400px ;
    }

    Для первого примера создадим html документ, и создадим рамки solid для блока body (тело документа), и одному абзацу.

    В следующих примерах будет изменяться только CSS (то, что заключено в тег style ).





    Документ без названия



    Здравствуйте уважаемые будущие веб-мастера!
    Мне 55 лет и я рад приветствовать Вас на своём сайте.



    Результат:

    Следующая рамка dashed (пунктир).

    p{
    text-indent : 30px ;
    border : 2px dashed #ff4f00 ;
    padding : 10px 20px 10px 20px ;
    margin : 20px auto ;
    width : 400px ;
    }

    Результат:

    Рамка dotted :

    p {
    text-indent : 30px ;
    border : 3px dotted #ff4f00 ;
    padding : 10px 20px 10px 20px ;
    margin : 20px auto ;
    width : 400px ;
    }

    Рамка double :

    p {
    text-indent : 30px ;
    border : 5px double #ff4f00 ;
    padding : 10px 20px 10px 20px ;
    margin : 20px auto ;
    width : 400px ;
    }

    Рамка groove :

    p {
    text-indent : 30px ;
    border : 7px groove #ff4f00 ;
    padding : 10px 20px 10px 20px ;
    margin : 20px auto ;
    width : 400px ;
    }

    Рамка ridge :

    p {
    text-indent : 30px ;
    border : 10px ridge #ff4f00 ;
    padding : 10px 20px 10px 20px ;
    margin : 20px auto ;
    width : 400px ;
    }

    Для этого уберём border , и добавим border-radius и box-shadow .

    p {
    border-radius : 10px ;
    box-shadow : 0 0 0 3px #ff4f00 ;
    text-indent : 30px ;
    padding : 10px 20px 10px 20px ;
    margin : 20px auto ;
    width : 400px ;
    }

    Размоем внешний край рамки. Для этого в свойстве box-shadow , увеличим третью цифру.

    p {
    border-radius : 10px ;
    box-shadow : 0 0 7px 3px #ff4f00 ;
    text-indent : 30px ;
    padding : 10px 20px 10px 20px ;
    margin : 20px auto ;
    width : 400px ;
    }

    Сделаем разноцветную рамку. Для этого в свойство box-shadow , через запятую, добавим ещё несколько комплектов значений с разными цветами.

    p {
    border-radius : 10px ;

    0 0 0 7px #ffdb00 ,
    0 0 0 10px #00ffa2 ;
    text-indent : 30px ;
    padding : 10px 20px 10px 20px ;
    margin : 20px auto ;
    width : 400px ;
    }

    Можно сделать круг в рамке. Для этого зададим абзацу одинаковую высоту и ширину, то есть сделаем квадрат, изменим значение border-radius

    p {
    border-radius : 50%/50% ;
    box-shadow : 0 0 0 3px #ff4f00 ,
    0 0 0 7px #ffdb00 ,
    0 0 0 10px #00ffa2 ;
    padding : 40px ;
    margin : 20px auto ;
    width : 130px ;
    height : 130px ;
    text-align : center;
    }

    Описание

    Устанавливает стиль границы вокруг элемента. Допустимо задавать индивидуальные стили для разных сторон элемента.

    Синтаксис

    border-style: {1,4} | inherit

    Значения

    Для управления видом границы предоставляется несколько значений свойства border-style . Вид зависит от используемого браузера и заданной толщины границы. В табл. 1 приведены названия стилей и получаемая рамка при разных значениях толщины — 1, 3, 5 и 7 пикселов.

    Кроме перечисленных в таблице значений используются следующие ключевые слова.

    None Не отображает границу и ее толщина (border-width ) задается нулевой. hidden Имеет тот же эффект, что и none за исключением применения border-style к ячейкам таблицы, у которой значение свойства border-collapse установлено как collapse . В этом случае вокруг ячейки граница не будет отображаться вообще. inherit Наследует значение родителя.

    Разрешается использовать одно, два, три или четыре значения, разделяя их между собой пробелом. Эффект зависит от количества и указан в табл. 2.

    HTML5 CSS2.1 IE Cr Op Sa Fx

    border-style

    Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.

    Результат данного примера показан на рис. 1.

    Рис. 1. Применение свойства border-style

    Объектная модель

    document.getElementById("elementID ").style.borderStyle

    Браузеры

    Браузер Internet Explorer до шестой версии включительно при толщине границы 1px отображает dotted как dashed . При толщине 2px и выше значение dotted работает корректно. Эта ошибка исправлена в IE7, но только для всех границ толщиной 1px. Если одна из границ блока имеет толщину 2px и выше, то в IE7 значение dotted превращается в dashed .

    Internet Explorer до версии 7.0 включительно не поддерживает значения hidden и inherit .

    Стиль границы в разных браузерах может несколько различаться при использовании значений groove , ridge , inset или outset .

    Свойство для оформления текста и шрифта мы изучили, теперь пришла очередь переходить к другим элементам. В этом уроке мы рассмотрим, создание рамок средствами CSS . Данное свойство используется достаточно часто, поэтому ему стоит уделить немного больше внимания.

    И так, давайте предположим, что вокруг какого-то элемента нужно сделать рамку. Например, создадим заголовок и вокруг него сделаем рамку.

    Параметры характеризующие рамку: 1) Толщина рамки, 2) Стиль рамки и 3) Цвет рамки. И давайте по порядку:

    • 1. Толщина рамки: border-width:2px ;
    • 2. Стиль рамки: border-style:solid ;
    • 3. Цвет рамки: border-color:#ff0000 ;

    Какие бывают стили рамок в CSS ? Ниже приведены все доступные стили рамок:

    • dotted - Это точечная рамка.
    • dashed - Это пунктирная рамка
    • solid - Это сплошная рамка
    • double - Это двойная рамка
    • groove - Объемный вид
    • ridge - Объемный вид
    • inset - Объемный вид
    • outset - Объемный вид

    Теперь у нас есть все, чтобы создать рамку вокруг заголовка.

    HTML

    HTML страница

    Создание рамки вокруг заголовка.

    И сам стиль для рамки.

    H2{ border-width: 2px; border-style: solid; border-color: #FF0000; }

    В результате вокруг созданного заголовка появилась сплошная рамка красного цвета толщиной в 2px.

    Рамка формируется из четырех сторон: Верхней , Правой , Нижней и Левой и, так как у нас указанно свойство border , то браузер по умолчанию рисует все четыре стороны рамки. Таким образом, если требуется задать рамку только с какой-то одной стороны, то используются приставки указывающие сторону, где создать рамку.

    • top - Верх.
    • right - Право
    • bottom - Низ
    • left - Лево

    Таким образом если мы хотим рамку сделать только снизу абзаца то есть подчеркнуть его то к каждому свойству border добавляем приставку bottom . В результате получится следующая структура кода.

    H2{ border-bottom-width: 2px; border-bottom-style: double; border-bottom-color: #FF0000; }

    Использование данных стилей для браузера будет означать, что нужно создать рамку только с нижней части, т.е. подчеркивающую заголовок. Точно так же можно и продублировать данный код, задав рамку уже с другой стороны, например верхней.

    H2{ border-bottom-width: 2px; border-bottom-style: double; border-bottom-color: #FF0000; border-top-width: 2px; border-top-style: double; border-top-color: #FF0000; }

    Теперь заголовок будет обводится красной рамкой сверху и снизу. Аналогично можно сделать и для других сторон.

    Как Вы уже наверное заметили, запись получилась достаточно большая, поэтому существует сокращенный вид записи который за частую на практике и используется.

    На картинке выше представлена структура сокращённой записи, где указывается свойство border и в качестве значений, через пробел, указывается ширина рамки - border-width , стиль рамки - border-style и цвет рамки - #ff0000 .

    То есть браузер, увидев такую, сокращенную запись border:2px solid #ff0000 ; , так же создаст рамку со всех четырех сторон заголовка. Вот такая короткая запись эквивалентна той записи, что мы использовали выше (где применялось три свойства).

    Если с помощью короткой записи нужно указать рамку только с одной стороны, то к свойству добавляем простаку указывающую сторону с которой создать рамку.

    H2{ border-top:2px solid #ff0000; }

    Вот так, с помощью короткой записи делается рамка с верху, где так же указаны толщина, стиль, и цвет рамки.

    Вот таким образом с помощью свойства border делается рамка вокруг любого элемента. Так же с помощью рамки создается подчеркивание ссылок, когда нужен другой цвет подчеркивающей линии. Ну а на этом с рамками все, переходим к следующему важному уроку, где будем рассматривать