Свойство shape-outside
Свойството shape-outside позволява задаването на нестандартни форми на обтичане за плаващи елементи.
Съседните елементи ще обтичат зададената
форма, а не правоъгълния контейнер.
Синтаксис
селектор {
shape-outside: стойност;
}
Стойности
| Стойност | Описание |
|---|---|
circle() |
Кръгла форма на обтичане |
ellipse() |
Елиптична форма на обтичане |
polygon() |
Произволна многоъгълна форма |
url() |
Форма на базата на алфа канал на изображение |
margin-box |
Използване на границите на margin (стойност по подразбиране) |
Пример
Ще направим кръгла форма на обтичане
за плаващ елемент.
Използваме свойствата shape-outside и
clip-path:
<div class="shape"></div>
<p>
some long text
</p>
.shape {
width: 150px;
height: 150px;
float: left;
shape-outside: circle(50%);
clip-path: circle(50%);
background: #3498db;
}
p {
width: 500px;
text-align: justify;
}
:
Пример
Задаваме отстъп чрез свойството shape-margin:
<div class="shape"></div>
<p>
some long text
</p>
.shape {
width: 150px;
height: 150px;
float: left;
shape-outside: circle(50%);
shape-margin: 10px;
clip-path: circle(50%);
background: #3498db;
}
p {
width: 500px;
text-align: justify;
}
:
Пример
Без свойството clip-path текстът
ще обтича кръга, но елементът
няма да има кръгла форма:
<div class="shape"></div>
<p>
some long text
</p>
.shape {
width: 150px;
height: 150px;
float: left;
shape-outside: circle(50%);
background: #3498db;
}
p {
width: 500px;
text-align: justify;
}
:
Пример
Друга форма на елемента:
<div class="shape"></div>
<p>
some long text
</p>
.shape {
width: 200px;
height: 200px;
background-color: #4CAF50;
float: left;
shape-outside: polygon(0% 0%, 100% 50%, 0% 100%);
clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
margin-right: 20px;
margin-bottom: 20px;
}
p {
width: 500px;
text-align: justify;
}
:
Пример
Друга форма на елемента:
<div class="shape"></div>
<p>
some long text
</p>
.shape {
width: 200px;
height: 200px;
background-color: #4CAF50;
float: left;
shape-outside: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
margin-right: 20px;
margin-bottom: 20px;
}
p {
width: 500px;
text-align: justify;
}
:
Вижте също
-
свойството
clip-path,
което създава видима форма на елемента -
свойството
float,
необходимо за работата на shape-outside -
свойството
shape-margin,
което добавя отстъп около формата