Svojstvo shape-outside

Svojstvo shape-outside omogućava zadavanje nestandardnih oblika obilaska za plutajuće elemente. Susedni elementi će obilaziti zadati oblik, a ne pravougaoni kontejner.

Sintaksa

cssselektor {
  shape-outside: vrednost;
}

Vrednosti

Vrednost Opis
circle() Kružni oblik obilaska
ellipse() Eliptični oblik obilaska
polygon() Proizvoljni poligonalni oblik
url() Oblik baziran na alfa-kanalu slike
margin-box Korišćenje granica margine (podrazumevana vrednost)

Primer

Napravićemo kružni oblik obilaska za plutajući element. Koristimo svojstva shape-outside i 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;
}

Результат:

Primer

Zadaćemo odstupanje kroz svojstvo 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;
}

Результат:

Primer

Bez svojstva clip-path tekst tekst će obilaziti krug, ali element neće imati oblik kruga:

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;
}

Результат:

Primer

Drugačiji oblik elementa:

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;
}

Результат:

Primer

Drugačiji oblik elementa:

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;
}

Результат:

Pogledajte takođe

  • svojstvo clip-path,
    koje kreira vidljivi oblik elementa
  • svojstvo float,
    neophodno za rad shape-outside
  • svojstvo shape-margin,
    koje dodaje odstupanje oko oblika