Сайт о телевидении

Сайт о телевидении

» » Примеры border css. Синтаксис CSS border. Примеры с различными границами рамок CSS border

Примеры border css. Синтаксис CSS border. Примеры с различными границами рамок CSS border

letter-spacing line-height list-style margin max-height max-width min-height min-width outline overflow padding position right text-align text-decoration text-indent text-transform top vertical-align white-space width word-spacing z-index
  • Справочник HTML Уроки HTML Видеокурсы по созданию сайта
  • С войство BORDER

    Свойство Значения Пр* Нc*
    border + -
    border-width [ thin, medium, thick, ШИРИНА ]{1,4}, inherit + -
    border-style [ none, hidden, dotted, dashed, solid, double, groove, ridge, inset, outset ]{1,4}, inherit + -
    border-color [ ЦВЕТ, transparent ]{1,4}, inherit + -
    border-bottom
    border-left
    border-right
    border-top
    [ border-width; border-style; border-color ], inherit + -
    border-bottom-width
    border-left-width
    border-right-width
    border-top-width
    thin, medium , thick, ШИРИНА, inherit + -
    border-bottom-style
    border-left-style
    border-right-style
    border-top-style
    none , hidden, dotted, dashed, solid, double, groove, ridge, inset, outset, inherit + -
    border-bottom-color
    border-left-color
    border-right-color
    border-top-color
    ЦВЕТ , transparent, inherit + -

    Сокращенная форма задания отдельных свойств для определения ширины, стиля и цвета рамки элементов. При том, что значения этих свойств не являются обязательными, рамка будет отсутствовать, если не задано значение стиля рамки (оно по умолчанию: none ).

    Применение:

    p { border: 5px groove #00ff00;} — для абзаца задана рамка: шириной 5px, стиль groove , цвета лайм:

    Border-width

    Свойство задает ширину рамки элемента или отдельно для каждой её стороны, если стиль рамки отличен от none .

    Значения:

    Ширину можно указывать в разных единицах, удобнее в px. Одно значение задает ширину всей рамки. Два значения: 1-ое — для верхней и нижней рамок, 2-ое — для левой и правой. Три значения: 1-ое — для верхней, 2-ое — для левой и правой, 3-е — для нижней. Четыре значения установят ширину рамок в следующем порядке: верхняя, правая, нижняя, левая. Это — стандартный порядок в CSS.

    thin — узкая.
    medium — средняя.
    thick — широкая.
    inherit

    Border-style

    Свойство задает стиль рамки элемента или отдельно для каждой её стороны, его значение должно отличаться от none .

    Значения:

    none — нет, а ширина равна 0.
    hidden — аналогично none , кроме применения к таблицам, где значение свойства Border-collapse равно collapse .
    inherit — наследование от родительского элемента.

    Допустимо использовать 1-4 значения — порядок применения, как для Border-width . Остальные значения лучше видны на картинке:

    Border-color

    Свойство задает цвет рамки элемента, либо различные цвета для её четырех сторон. Значение стиля должно отличаться от none и hidden .

    Значения:


    transparent — задает прозрачный цвет рамки.
    inherit — наследование от родительского элемента.
    Можно использовать 1-4 значения — порядок применения, как для Border-width .

    Border-

    Свойства задают ширину, стиль и цвет рамки элементов для определенной стороны.
    Значения : как для свойства Border .

    Border--width

    Свойства задают ширину рамки элемента для определенной стороны.
    Значения : как для свойства Border-width .

    Border--style

    Свойства задают стиль рамки элемента для определенной стороны.
    Значения : как для свойства Border-style .

    Border--color

    Свойства задают цвет рамки элемента для определенной стороны.
    Значения : как для свойства Border-color .

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

    Граница располагается между полем и отступом. Это значит, что margin находится за границей. Границу можно задавать как со всех четырех сторон (как бы заключая блок в рамку), так и с одной, двух или трех сторон. В CSS можно управлять толщиной, цветом и стилем границ. Изучим это подробнее.

    Border-width: ширина границы

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

    /* все 4 границы имеют ширину 2px: */ border-width: 2px; /* верхняя и нижняя границы имеют ширину 2px, левая и правая - 4px: */ border-width: 2px 4px; /* верхняя граница - 2px, левая и правая - 6px, нижняя - 3px: */ border-width: 2px 6px 3px; /* верхняя граница - 2px, правая - 3px, нижняя - 4px, левая - 5px: */ border-width: 2px 3px 4px 5px;

    Кроме этого, существуют ключевые слова для обозначения ширины границы:

    • thin - граница шириной 2px;
    • medium - граница шириной 4px;
    • thick - граница шириной 6px.

    Border-color: цвет границы

    Свойство border-color задает цвет для границ. Цвета можно указывать в любом формате CSS: ключевыми словами, в шестнадцатеричном виде либо в RGB - зависит от того, как вам удобнее. По аналогии с предыдущим свойством, можно устанавливать как один цвет для всех границ, так и выбирать разные цвета для каждой границы.

    Border-color: #FFFF00;

    Также можно задать прозрачный цвет, записав:

    Border-color: transparent;

    Border-style: стиль границы

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

    • solid - сплошная граница;
    • dotted - граница из точек;
    • dashed - пунктирная граница;
    • double - двойная граница;
    • groove - объемная граница-выемка;
    • ridge - объемная граница с толстой кромкой (по сути, инверсия предыдущего стиля);
    • outset - выдавленная граница;
    • inset - вдавленная граница (по сути, инверсия предыдущего стиля).

    Как и в случае со свойствами border-width и border-color , для каждой границы блока можно задавать отдельный стиль - например, вы можете сделать верхнюю и нижнюю границы пунктирными, а правую и левую - двойными. Здесь уже все зависит лишь от фантазии.

    Border-style: double dotted;

    Обратите внимание: в разных браузерах внешний вид границ может немного отличаться.

    Общее CSS-свойство border: 3 в 1

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

    Border: 2px dotted #FF0000;

    Границы для отдельных сторон

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

    • border-top - стиль для верхней границы;
    • border-right - для правой границы;
    • border-bottom - для нижней границы;
    • border-left - для левой границы.
    border-top: 2px solid #0000FF; border-bottom: 7px double #000080;

    Итоги

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

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

    Div { border-right: 8px double #FF0000; border-left: 8px double #FF0000; border-bottom: 8px double #FF0000; border-top: 4px dotted #FDD201; }

    Но это слишком длинная запись. Всё это можно записать короче:

    Div { border: 8px double #FF0000; border-top: 4px dotted #FDD201; }

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

    Мини-задание

    Попробуйте создать рамку для блока div с размерами 200×200 пикселей. Стили для рамки должны быть такими:

    • Верхнюю и нижнюю границы сделайте сплошнымиsolid , задайте им одинаковый цвет на выбор и ширину 5 пикселей.
    • Левую границу сделайте пунктирнойdashed , шириной 3 пикселя, цвет выберите отличный от предыдущего.
    • Правую границу сделайте двойнойdouble , шириной 7 пикселей, цвет отличный от двух предыдущих.

    В конечном итоге ваша работа должна выглядеть так (за исключением цвета, который вы выбираете сами):

    Результат задания (вид в Chrome)

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

    Закруглённые углы и рамки-изображения

    1. Закругление углов с помощью border-radius

    Поддержка браузерами

    IE: 9.0
    Firefox: 4.0
    Chrome: 4.0
    Safari: 5.0, 3.1 -webkit-
    Opera: 10.5
    iOS Safari: 7.1
    Opera Mini:
    Android Browser: 4.1
    Chrome for Android: 44

    Свойство позволяет закруглить углы строчных и блочных элементов. Кривая для каждого угла определяется с помощью одного или двух радиусов, определяющих его форму — круга или эллипса . Радиус распространяется на весь фон, даже если элемент не имеет границ, точное положение секущей определяется с помощью свойства background-clip .

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

    Если задать два значения для свойства border-radius , то первое значение закруглит верхний левый и нижний правый угол , а второе — верхний правый и нижний левый .

    Значения, заданные через / , определяют горизонтальные и вертикальные радиусы . Свойство не наследуется.

    Варианты

    Div {width: 100px; height: 100px; border: 5px solid;} .r1 {border-radius: 0 0 20px 20px;} .r2 {border-radius: 0 10px 20px;} .r3 {border-radius: 10px 20px;} .r4 {border-radius: 10px/20px;} .r5 {border-radius: 5px 10px 15px 30px/30px 15px 10px 5px;} .r6 {border-radius: 10px 20px 30px 40px/30px;} .r7 {border-radius: 50%;} .r8 {border-top: none; border-bottom: none; border-radius: 30px/90px;} .r9 {border-bottom-left-radius: 100px;} .r10 {border-radius: 0 100%;} .r11 {border-radius: 0 50% 50% 50%;} .r12 {border-top-left-radius: 100% 20px; border-bottom-right-radius: 100% 20px;}
    Рис. 1. Примеры различных вариантов закругления углов блока

    2. Рамки-изображения border-image

    Поддержка браузерами

    IE: 11.0
    Firefox: 15.0, 3.5 -moz-
    Chrome: 16.0, 7.0 -webkit-
    Safari: 6.0, 3.0 -webkit-
    Opera: 15.0, 11.0 -o-
    iOS Safari: 7.1
    Opera Mini: 8 -o-
    Android Browser: 4.4, 4.1 -webkit-
    Chrome for Android: 42

    Свойство позволяет устанавливать изображение в качестве рамки элемента. Основное требование, предъявляемое к изображению — оно должно быть симметричным. Свойство включает в себя следующие значения: {border-image: width source slice repeat outset;} .

    При помощи такого простого изображения можно получить вот такие рамки для элемента.

    /* Пример 1 */ div { width: 260px; height: 100px; border-style: solid; border-image-width: 15px; border-image-source: url(border_round.png); border-image-slice: 30; border-image-repeat: stretch; } /* Пример 2 */ div { width: 260px; height: 100px; border-style: solid; border-image-width: 15px; border-image-source: url(border_round.png); border-image-slice: 30; border-image-repeat: round; }
    Рис. 2. Пример оформления границ блока с помощью изображения

    Cрезы A — B — C — D образуют углы рамки, а часть рисунка, расположенная между ними, заполняет оставшееся пространство рамки в соответствии с заданным значением свойства border-image-repeat . Размер угловой части (в данном примере это число 30), задается с помощью значения свойства border-image-slice .

    2.1. Ширина рамки-изображения border-image-width

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

    border-image-width
    Значения:
    длина Устанавливает ширину рамки в единицах длины — px / em . Можно задавать от одной до четырех значений одновременно. Если задано одно значение, то ширина всех сторон рамки одинакова, два значения задают ширину верхней-нижней и правой-левой и т.д.
    число Числовое значение, на которое умножается значение border-width .
    % Ширина рамки элемента вычисляется относительно размера изображения. Горизонтальные относительно ширины, вертикальные - относительно высоты.
    auto Соответствует значению border-image-slice .
    initial
    inherit

    Синтаксис

    Div {border-image-width: 30px;} Рис. 3. Пример задания ширины рамки-изображения с помощью различных типов значений

    2.2. Ресурс рамки-изображения border-image-source

    Свойство задаёт путь к изображению, которое будет использоваться для оформления границ блока.

    Синтаксис

    Div {border-image-source: url(border.png);}

    2.3. Элементы рамки-изображения border-image-slice

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

    Значения:
    число Размер частей рамки можно задавать с помощь одного, двух, трех или четырех значений.
    Одно значение устанавливает границы одинакового размера для каждой стороны элемента.
    Два значения: первое определяет размер верхней и нижней границы, второе - правой и левой.
    Три значения: первое определяет размер верхней границы, второе - правой и левой, а третье - нижней границы.
    Четыре значения: определяет размеры верхней, правой, нижней и левой границы.
    Числовое значение представляет количество px .
    % Размеры границ рассчитываются относительно размера изображения. Горизонтальные относительно ширины, вертикальные - относительно высоты.
    fill Значение указывается вместе с числом или процентным значением. Если оно задано, изображение не обрезается внутренним краем рамки, а заполняет также область внутри рамки.
    initial Устанавливает это свойство в значение по умолчанию.
    inherit Наследует значение этого свойства от родительского элемента.

    Синтаксис

    Div {border-image-slice: 50 20;}
    Рис. 4. Пример задания срезов рамки-изображения

    2.4. Повтор рамки-изображения border-image-repeat

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

    Синтаксис

    Div {border-image-repeat: repeat;} Рис. 5. Пример повтора центральной части рамки-изображения с помощью различных типов значений

    2.5. Смещение рамки-изображения border-image-outset

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

    Синтаксис

    Div {border-image-outset: 10px;}
    Рис. 6. Пример смещения рамки-изображения с помощью различных типов значений

    3. Смещение внешней рамки outline-offset

    Свойство задаёт расстояние между границей элемента border и внешней границей, созданной с помощью свойства outline .

    /*Рисунок 1:*/ img { border: 1px solid pink; outline: 1px dashed grey; outline-offset: 3px; } /*Рисунок 2:*/ img { border-width: 1px 10px; border-style: solid; border-color: pink; outline: 1px dashed grey; outline-offset: 3px; } /*Рисунок 3:*/ img { border: 3px inset pink; outline: 1px dashed grey; outline-offset: 1px; }
    Рис. 7. Пример оформления изображения внешней рамкой

    4. Градиентная рамка

    Значением border-image может выступать не только изображение, но и градиентная заливка.

    Полупрозрачная рамка

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

    * {box-sizing:border-box;} .wrap { height: 200px; padding: 25px; background: #00E4F6; } .gradient { height: 150px; width: 50%; margin: 0 auto; border: 10px solid transparent; border-image: linear-gradient(to right, transparent 0%, #ADF2F7 100%); border-image-slice: 1; }

    Почтовый конверт

    * {box-sizing:border-box;} .wrap { height: 200px; padding: 25px; } .gradient { height: 150px; width: 50%; margin: 0 auto; border: 10px solid transparent; border-image: 10 repeating-linear-gradient(45deg, #A7CECC, #A7CECC 10px, transparent 10px, transparent 20px, #F8463F 20px, #F8463F 30px,transparent 30px, transparent 40px); }