Savybė shape-outside

Savybė shape-outside leidžia nustatyti nestandartines aptekėjimo formas plūduriuojantiems elementams. Kaimyniniai elementai tekės aplink nurodytą formą, o ne stačiakampį konteinerį.

Sintaksė

cssselektorius {
  shape-outside: reikšmė;
}

Reikšmės

Reikšmė Aprašas
circle() Apvali aptekėjimo forma
ellipse() Eliptinė aptekėjimo forma
polygon() Savavališka daugiakampė forma
url() Forma, pagrįsta vaizdo alfa kanalu
margin-box Naudoti margin paraštes (numatytoji reikšmė)

Pavyzdys

Sukurkime apvalią aptekėjimo formą plūduriuojančiam elementui. Naudokime savybes shape-outside ir 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;
}

Результат:

Pavyzdys

Nustatykime atstumą naudodami savybę 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;
}

Результат:

Pavyzdys

Be savybės clip-path tekstas tekės aplink apskritimą, bet elementas neturs apskritimo formos:

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

Результат:

Pavyzdys

Kita elemento forma:

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

Результат:

Pavyzdys

Kita elemento forma:

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

Результат:

Taip pat žiūrėkite

  • savybė clip-path,
    kuri sukuria matomą elemento formą
  • savybė float,
    būtina shape-outside veikimui
  • savybė shape-margin,
    kuri prideda atstumą aplink formą