Свойства CSS, связанные с украшением моделью коробки
В этой статье объясняются свойства CSS, связанные с украшением моделью коробки.
Вы можете узнать, как задавать такие свойства, как рамки и тени.
YouTube Video
HTML для предварительного просмотра
css-decoration.html
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>CSS Properties Example</title>
7 <link rel="stylesheet" href="css-base.css">
8 <link rel="stylesheet" href="css-decoration.css">
9</head>
10<body>
11 <!-- Header -->
12 <header>
13 <h1>Box Decoration Related CSS Properties Example</h1>
14 </header>
15
16 <!-- Main content -->
17 <main>
18 <header>
19 <h2>Box Decoration</h2>
20 </header>
21 <article>
22 <h3>border</h3>
23 <section>
24 <header><h4>border: 3px solid #333</h4></header>
25 <section class="sample-view">
26 <div class="border-solid">Solid Border</div>
27 </section>
28 <header><h4>border: 3px dashed #666</h4></header>
29 <section class="sample-view">
30 <div class="border-dashed">Dashed Border</div>
31 </section>
32 <header><h4>border: 5px double #999</h4></header>
33 <section class="sample-view">
34 <div class="border-double">Double Border</div>
35 </section>
36 <header><h4>border: 2px solid #000; border-radius: 15px;</h4></header>
37 <section class="sample-view">
38 <div class="border-rounded">Rounded Border</div>
39 </section>
40 </section>
41 </article>
42
43 <article>
44 <h3>border-radius</h3>
45 <section>
46 <header><h4>border-radius: 20px</h4></header>
47 <section class="sample-view">
48 <div class="border-radius-all-rounded">All corners rounded</div>
49 </section>
50 <header><h4>border-top-left-radius: 20px</h4></header>
51 <section class="sample-view">
52 <div class="border-radius-top-left-rounded">Top-left rounded</div>
53 </section>
54 <header><h4>border-radius: 50px / 25px</h4></header>
55 <section class="sample-view">
56 <div class="border-radius-ellipse-corners">Ellipse corners</div>
57 </section>
58 </section>
59 </article>
60
61 <article>
62 <h3>outline</h3>
63 <section>
64 <h4>Outline Examples</h4>
65 <header><h4>outline: 2px solid red</h4></header>
66 <section class="sample-view">
67 <div class="outline-solid">Solid Red Outline</div>
68 </section>
69 <header><h4>outline: 3px dashed blue</h4></header>
70 <section class="sample-view">
71 <div class="outline-dashed">Dashed Blue Outline</div>
72 </section>
73 <header><h4>outline: 4px double green</h4></header>
74 <section class="sample-view">
75 <div class="outline-double">Double Green Outline</div>
76 </section>
77 <header><h4>outline: 2px solid purple; outline-offset: 10px;</h4></header>
78 <section class="sample-view">
79 <div class="outline-offset">Outline with Offset</div>
80 </section>
81 </section>
82 </article>
83
84 <article>
85 <h3>box-shadow</h3>
86 <section>
87 <h4>Box Shadow Examples</h4>
88 <header><h4>box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.5)</h4></header>
89 <section class="sample-view">
90 <div class="box-shadow-basic-shadow">Basic Shadow</div>
91 </section>
92 <header><h4>box-shadow: inset 5px 5px 10px rgba(0, 0, 0, 0.3)</h4></header>
93 <section class="sample-view">
94 <div class="box-shadow-inset-shadow">Inset Shadow</div>
95 </section>
96 <header><h4>box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5), -5px -5px 10px rgba(255, 0, 0, 0.5);</h4></header>
97 <section class="sample-view">
98 <div class="box-shadow-multiple-shadow">Multiple Shadows</div>
99 </section>
100 </section>
101 </article>
102 </main>
103</body>
104</html>
Украшение
Свойство border
1.border-solid, .border-dashed, .border-double, .border-rounded {
2 background-color: lightsteelblue;
3}
4
5.border-solid {
6 border: 3px solid #333;
7}
8
9.border-dashed {
10 border: 3px dashed #666;
11}
12
13.border-double {
14 border: 5px double #999;
15}
16
17.border-rounded {
18 border: 2px solid #000;
19 border-radius: 15px;
20}
Свойство border
используется в CSS для задания рамки элемента. border
состоит из трех элементов: ширина, стиль и цвет, которые объединяются для задания рамки элемента.
Основная структура свойства border
1/* Shorthand syntax */
2border: [border-width] [border-style] [border-color];
3
4/* Example of border property */
5border: 5px solid white;
6
7/* Example of individual properties */
8border-width: 5px;
9border-style: solid;
10border-color: black;
-
Используйте
border-width
для указания толщины рамки. Единицы измерения указываются вpx
,em
,%
и т.д. -
Укажите тип рамки с помощью свойства
border-style
. Вы можете указать следующие значения.- Значения стилей:
none
(без рамки)solid
(сплошная линия)dotted
(пунктирная линия)dashed
(штриховая линия)double
(двойная линия)groove
(рельефная линия)ridge
(выпуклая линия)inset
(вставленная тень линии)outset
(выдвинутая тень линии)
- Значения стилей:
Укажите цвет рамки с помощью свойства border-color
. Цвет можно указать, используя названия цветов, rgb()
, rgba()
, hex
и т.д.
Индивидуальные настройки для каждой стороны
1.box {
2 border-top: 3px solid red; /* Top border: 3px solid red */
3 border-right: 5px dashed blue; /* Right border: 5px dashed blue */
4 border-bottom: 2px double green; /* Bottom border: 2px double green */
5 border-left: 1px dotted black; /* Left border: 1px dotted black */
6}
Вы также можете установить разные стили для каждой стороны, как показано здесь.
Индивидуальные настройки для ширины, стиля и цвета
1.box {
2 /* Specify border width for top, right, bottom, and left */
3 border-width: 2px 4px 6px 8px;
4
5 /* Specify border style for top, right, bottom, and left */
6 border-style: solid dotted dashed double;
7
8 /* Specify border color for top, right, bottom, and left */
9 border-color: red green blue yellow;
10}
Вы также можете указать каждый аспект отдельно, используя border-width
, border-style
и border-color
.
Сочетание с border-radius
1.box-rounded {
2 border: 2px solid #000;
3 border-radius: 10px; /* Round corners by 10px */
4}
С использованием свойства border-radius
вы можете скруглять углы границы.
Свойство border-radius
1.border-radius-all-rounded, .border-radius-top-left-rounded, .border-radius-ellipse-corners {
2 background-color: lightsteelblue;
3}
4
5/* Round all corners */
6.border-radius-all-rounded {
7 border-radius: 20px;
8}
9
10/* Round only the top-left corner */
11.border-radius-top-left-rounded {
12 border-top-left-radius: 20px;
13}
14
15/* Elliptical corners */
16.border-radius-ellipse-corners {
17 border-radius: 50px / 25px;
18}
Свойство border-radius
используется для скругления углов элемента. Вы можете плавно скруглить четыре угла HTML-элемента, преобразуя прямоугольники или квадраты в округленный дизайн.
Объяснение:
- Класс
border-radius-all-rounded
делает все углы округлыми с радиусом 20 пикселей, создавая плавно округленную рамку. - Класс
border-radius-top-left-rounded
скругляет только верхний левый угол с радиусом 20 пикселей, оставляя остальные углы прямыми. - Класс
border-radius-ellipse-corners
создает эллиптические углы, придавая рамке горизонтально растянутую округлую форму.
Формат свойства border-radius
1border-radius: value;
2border-radius: top-left-and-bottom-right top-right-and-bottom-left;
3border-radius: top-left top-right bottom-right bottom-left;
4border-top-left-radius: value;
5border-top-right-radius: value;
6border-bottom-right-radius: value;
7border-bottom-left-radius: value;
- Значение свойства
border-radius
обычно указывается в пикселях или процентах. Также вы можете задать от 1 до 4 значений.- Задание одного значения делает все углы равномерно округленными.
- Указание двух значений применяет первое значение к верхнему левому и нижнему правому углам, а второе значение — к верхнему правому и нижнему левому углам.
- Указав четыре значения, вы можете задать разные радиусы для каждого угла. Значения применяются по часовой стрелке, начиная с верхнего левого угла.
- Вы также можете указать значения отдельно, например, используя
border-top-left-radius
.
1border-radius: 50px / 25px;
- Свойство
border-radius
также позволяет задавать отдельные вертикальные и горизонтальные радиусы, чтобы сделать углы эллиптическими. В этом случае значения разделяются с помощью/
.- Например, указание
50px / 25px
задает горизонтальный радиус 50 пикселей и вертикальный радиус 25 пикселей.
- Например, указание
Резюме
border-radius
— это свойство для скругления углов элемента.- Вы можете задавать округлость углов в пикселях или процентах, применять её ко всем углам, к конкретным углам или сделать их эллиптическими.
- Это полезно для гибких дизайнов и настройки пользовательских интерфейсов.
Свойство outline
1.outline-solid, .outline-dashed, .outline-double, .outline-offset {
2 background-color: lightsteelblue;
3}
4
5.outline-solid {
6 outline: 2px solid red;
7}
8
9.outline-dashed {
10 outline: 3px dashed blue;
11}
12
13.outline-double {
14 outline: 4px double green;
15}
16
17.outline-offset {
18 outline: 2px solid purple;
19 outline-offset: 10px;
20}
Свойство outline
— это CSS-свойство, позволяющее задать линию, нарисованную вокруг элемента.
outline
схож с border
, но отличается в следующих аспектах:.
outline
не влияет на модель коробки элемента, поэтому он не затрагивает его расположение.- Поскольку
outline
рисуется за пределами элемента, он отображается внеborder
. border
рисуется внутри элемента, поэтому он может влиять на его размер и размещение.
В этом примере свойство outline
задано следующим образом:.
- Класс
outline-solid
задает сплошной красный контур толщиной 2px. - Класс
outline-dashed
задает синий пунктирный контур толщиной 3px. - Класс
outline-double
задает зеленый двойной контур толщиной 4px. - Класс
outline-offset
задает расстояние в 10px между контуром и элементом.
Базовый синтаксис
1element {
2 outline: outline-width outline-style outline-color;
3 outline-offset: 10px;
4}
outline-width
outline-width
задает толщину контура.- Вы можете указать конкретные значения, такие как
thin
,medium
,thick
, или использовать единицы измерения, такие какpx
,em
.
outline-style
outline-style
задает стиль контура.- Вы можете задать такие стили, как
solid
,dotted
,dashed
,double
,groove
,ridge
,inset
,outset
,none
и другие.
outline-color
outline-color
задает цвет контура.- Вы можете указать любой цвет с помощью названий, HEX, RGB и т. д.
outline-offset
outline-offset
задает расстояние между контуром и элементом.- Вы можете указать точные значения в таких единицах, как
px
,em
и т. д.
Свойство box-shadow
1.box-shadow-basic-shadow, .box-shadow-inset-shadow, .box-shadow-multiple-shadow {
2 background-color: lightsteelblue;
3}
4
5/* Basic shadow */
6.box-shadow-basic-shadow {
7 box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.5);
8}
9
10/* Inner shadow */
11.box-shadow-inset-shadow {
12 box-shadow: inset 5px 5px 10px rgba(0, 0, 0, 0.3);
13}
14
15/* Multiple shadows */
16.box-shadow-multiple-shadow {
17 box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5),
18 -5px -5px 10px rgba(255, 0, 0, 0.5);
19}
Свойство box-shadow
используется для добавления теней к элементам. Используя это свойство, вы можете создавать тени вокруг элементов, чтобы передать ощущение объема и глубины.
Объяснение:
-
В классе
box-shadow-basic-shadow
размытая черная тень отображается внизу справа от элемента. -
В классе
box-shadow-inset-shadow
размытая тень отображается внутри элемента. С помощью внутренней тени можно создать утопленный дизайн. -
В классе
box-shadow-multiple-shadow
к элементу применяются две тени: черная и красная. Так как тени отображаются в разных положениях, достигается трехмерный эффект.
Формат свойства box-shadow
1box-shadow: [1:horizontal offset] [2:vertical offset] [3:blur radius] [4:spread radius] [5:color];
2box-shadow: inset [1:horizontal offset] [2:vertical offset] [3:blur radius] [4:spread radius] [5:color];
Значение каждого параметра
Первый параметр горизонтальное смещение
указывает значение горизонтального смещения, определяющего положение тени относительно левой стороны элемента. Указание положительного значения размещает тень направо, а отрицательного — налево.
Второй параметр вертикальное смещение
указывает значение вертикального смещения, определяющего положение тени относительно верхней стороны элемента. Указание положительного значения размещает тень снизу, а отрицательного — сверху.
Третий параметр радиус размытия
определяет степень размытия тени. Чем больше значение, тем более размытой и широкой становится тень. Указание положительного значения размещает тень снизу, а отрицательного — сверху. Этот параметр необязателен, по умолчанию его значение — 0
, что означает отсутствие размытия.
Четвертый параметр радиус растяжения
определяет, насколько сильно распространяется тень. Положительное значение увеличивает тень, а отрицательное уменьшает её. Этот параметр также необязателен.
Пятый параметр цвет
задает цвет тени. Цвета можно задавать с использованием цветовых названий, RGB, HEX, HSL и других цветовых моделей, доступных в CSS. Если параметр не указан, применяется цвет текста элемента (значение свойства color
).
Также можно сначала указать ключевое слово inset
. Указание ключевого слова inset
позволяет отображать тень внутри элемента, а не снаружи. Можно также задать несколько теней, разделенных запятыми.
Пример использования box-shadow
Пример базовой тени
1div {
2 box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.5);
3}
- Горизонтальное смещение равно
10px
, создавая тень на 10 пикселей вправо. - Вертикальное смещение равно
10px
, создавая тень на 10 пикселей вниз. - Радиус размытия равен
5px
, создавая размытость тени на 5 пикселей. - Цвет равен
rgba(0, 0, 0, 0.5)
, создавая полупрозрачный черный цвет.
Пример внутренней тени
1div {
2 box-shadow: inset 5px 5px 10px rgba(0, 0, 0, 0.3);
3}
- Использование
inset
создает тень внутри элемента.
Пример нескольких теней
1div {
2 box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5), -5px -5px 10px rgba(255, 0, 0, 0.5);
3}
- Вы можете также задать несколько теней, разделяя их запятыми. В этом примере применены две тени: черная и красная.
Резюме
box-shadow
— это свойство, которое используется для добавления теней к элементам, создавая ощущение глубины.- Комбинируя горизонтальное и вертикальное смещение, размытие, радиус распространения и цвет, можно добиться разнообразных эффектов.
- Вы можете создавать тени внутри элемента с помощью
inset
, а также задавать сразу несколько теней.
Вы можете следовать этой статье, используя Visual Studio Code на нашем YouTube-канале. Пожалуйста, также посмотрите наш YouTube-канал.