Shape-outside-ominaisuus

Ominaisuus shape-outside mahdollistaa epätyypillisten kiertomuotojen asettamisen liukuville elementeille. Viereiset elementit kiertävät asetettua muotoa eivätkä suorakaiteen muotoista säilöä.

Syntaksi

cssvalitsija {
  shape-outside: arvo;
}

Arvot

Arvo Kuvaus
circle() Pyöreä kiertomuoto
ellipse() Elliptinen kiertomuoto
polygon() Mielivaltainen monikulmainen muoto
url() Kuvan alfakanavaan perustuva muoto
margin-box Käytä margin-rajoja (oletusarvo)

Esimerkki

Tehdään pyöreä kiertomuoto liukuvalle elementille. Käytetään ominaisuuksia shape-outside ja 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;
}

Результат:

Esimerkki

Asetetaan sisennys ominaisuuden shape-margin avulla:

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

Результат:

Esimerkki

Ilman clip-path-ominaisuutta teksti kiertää ympyrän ympäri, mutta elementillä ei ole ympyrän muotoa:

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

Результат:

Esimerkki

Toinen elementin muoto:

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

Результат:

Esimerkki

Toinen elementin muoto:

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

Результат:

Katso myös

  • ominaisuus clip-path,
    joka luo elementin näkyvän muodon
  • ominaisuus float,
    joka on välttämätön shape-outsiden toimimiseksi
  • ominaisuus shape-margin,
    joka lisää sisennystä muodon ympärille