shape-outside Özelliği

shape-outside özelliği, kayan elemanlar için standart olmayan akış şekilleri tanımlamaya olanak sağlar. Komşu elemanlar, dikdörtgen konteyner yerine belirlenen şeklin etrafında akacaktır.

Sözdizimi

cssseçici {
  shape-outside: değer;
}

Değerler

Değer Açıklama
circle() Dairesel akış şekli
ellipse() Elips akış şekli
polygon() Rastgele çokgen şekil
url() Görüntünün alfa kanalına dayalı şekil
margin-box Margin sınırlarını kullan (varsayılan değer)

Örnek

Kayan eleman için dairesel bir akış şekli oluşturalım. shape-outside ve clip-path özelliklerini kullanacağız:

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

Результат:

Örnek

shape-margin özelliği ile bir boşluk tanımlayalım:

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

Результат:

Örnek

clip-path özelliği olmadan metin dairenin etrafında akacak, ancak eleman dairesel bir şekle sahip olmayacaktır:

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

Результат:

Örnek

Elemanın farklı bir şekli:

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

Результат:

Örnek

Elemanın farklı bir şekli:

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

Результат:

Ayrıca Bakınız

  • elemanın görünür şeklini oluşturan clip-path özelliği
  • shape-outside için gerekli olan float özelliği
  • şeklin etrafına boşluk ekleyen shape-margin özelliği