Својството shape-outside

Својството shape-outside овозможува да се зададат нестандардни форми на обвиткување за пловечките елементи. Соседните елементи ќе се обвиткуваат околу зададената форма, а не околу правоаголниот контејнер.

Синтакса

cssселектор {
  shape-outside: вредност;
}

Вредности

Вредност Опис
circle() Кружна форма на обвиткување
ellipse() Елиптична форма на обвиткување
polygon() Произволна многуаголна форма
url() Форма базирана на алфа-каналот на сликата
margin-box Користи ги границите на margin (стандардна вредност)

Пример

Ќе направиме кружна форма на обвиткување за пловечки елемент. Користиме ги својствата shape-outside и clip-path:

html<div class="shape"></div>
<p>
  some long text
</p>
css.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:

html<div class="shape"></div>
<p>
  some long text
</p>
css.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 текстот ќе се обвиткува околу кругот, но елементот нема да има кружна форма:

html<div class="shape"></div>
<p>
  some long text
</p>
css.shape {
  width: 150px;
  height: 150px;
  float: left;
  shape-outside: circle(50%);
  background: #3498db;
}

p {
  width: 500px;
  text-align: justify;
}

Результат:

Пример

Друга форма на елементот:

html<div class="shape"></div>
<p>
  some long text
</p>
css.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;
}

Результат:

Пример

Друга форма на елементот:

html<div class="shape"></div>
<p>
  some long text
</p>
css.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,
    кое додава одстојување околу формата