De eigenschap shape-outside
De eigenschap shape-outside maakt het mogelijk niet-standaard stroomvormen in te stellen voor drijvende elementen.
Aangrenzende elementen zullen om de opgegeven
vorm stromen, in plaats van om de rechthoekige container.
Syntaxis
selector {
shape-outside: waarde;
}
Waarden
| Waarde | Beschrijving |
|---|---|
circle() |
Ronde stroomvorm |
ellipse() |
Elliptische stroomvorm |
polygon() |
Willekeurige veelhoekvorm |
url() |
Vorm gebaseerd op het alfrakanaal van een afbeelding |
margin-box |
Gebruik de margin-grenzen (standaardwaarde) |
Voorbeeld
Laten we een ronde stroomvorm maken
voor een drijvend element.
We gebruiken de eigenschappen shape-outside en
clip-path:
<div class="shape"></div>
<p>
some long text
</p>
.shape {
width: 150px;
height: 150px;
float: left;
shape-outside: circle(50%);
clip-path: circle(50%);
background: #3498db;
}
p {
width: 500px;
text-align: justify;
}
:
Voorbeeld
Laten we een marge instellen via de eigenschap shape-margin:
<div class="shape"></div>
<p>
some long text
</p>
.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;
}
:
Voorbeeld
Zonder de eigenschap clip-path zal de tekst
om de cirkel stromen, maar het element
zal zelf geen cirkelvorm hebben:
<div class="shape"></div>
<p>
some long text
</p>
.shape {
width: 150px;
height: 150px;
float: left;
shape-outside: circle(50%);
background: #3498db;
}
p {
width: 500px;
text-align: justify;
}
:
Voorbeeld
Een andere vorm voor het element:
<div class="shape"></div>
<p>
some long text
</p>
.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;
}
:
Voorbeeld
Een andere vorm voor het element:
<div class="shape"></div>
<p>
some long text
</p>
.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;
}
:
Zie ook
-
de eigenschap
clip-path,
die de zichtbare vorm van een element creëert -
de eigenschap
float,
nodig voor de werking van shape-outside -
de eigenschap
shape-margin,
die een marge rond de vorm toevoegt