inset() CSS-Funktion
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.
Die inset() CSS Funktion definiert ein Rechteck mit den angegebenen Abständen von jedem Rand der Referenzbox nach innen. Es handelt sich um eine grundlegende Formfunktion, die verwendet wird, um einen der <basic-shape> Datentypen zu definieren.
Probieren Sie es aus
clip-path: inset(30px);
clip-path: inset(1rem 2rem 3rem 4rem);
clip-path: inset(20% 30% round 20px);
clip-path: inset(4rem 20% round 1rem 2rem 3rem 4rem);
<section class="default-example" id="default-example">
<div class="transition-all" id="example-element"></div>
</section>
#default-example {
background: #ffee99;
}
#example-element {
background: linear-gradient(to bottom right, #ff5522, #0055ff);
width: 100%;
height: 100%;
}
Syntax
shape-outside: inset(20px 50px 10px 0 round 50px);
border-shape: inset(10px 20px 10px 20px round 20px);
Werte
<length-percentage>{1,4}-
Wenn alle vier Argumente angegeben sind, stellen sie die Abstände oben, rechts, unten und links von der Referenzbox nach innen dar, die die Positionen der Kanten des eingefügten Rechtecks definieren. Diese Argumente folgen der Syntax der
margin-Kurzschreibweise, mit der man alle vier Einsätze mit einem, zwei oder vier Werten festlegen kann.Wenn ein Paar von Einsätzen für eine Dimension zusammen mehr als 100% dieser Dimension ergibt, werden beide Werte proportional reduziert, sodass ihre Summe 100% erreicht. Zum Beispiel hat der Wert
inset(90% 10% 60% 10%)einen oberen Einsatz von90%und einen unteren Einsatz von60%. Diese Werte werden proportional aufinset(60% 10% 40% 10%)reduziert. Solche Formen, die keinen Bereich einschließen und keinenshape-marginhaben, beeinflussen das Umfließen nicht. <border-radius>-
Das optionale
<border-radius>Argument definiert abgerundete Ecken für das eingefügte Rechteck mittels derborder-radius-Kurzschreibweise.
Formale Syntax
<inset()> =
inset( <length-percentage>{1,4} [ round <'border-radius'> ]? )
<length-percentage> =
<length> |
<percentage>
<border-radius> =
<length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?
Beispiele
>Einfaches inset-Beispiel
Im folgenden Beispiel haben wir eine inset()-Form, die verwendet wird, um Inhalte über das schwebende Element zu ziehen. Ändern Sie die Eintragswerte, um zu sehen, wie sich die Form verändert.
<div class="box">
<div class="shape"></div>
<p>
One November night in the year 1782, so the story runs, two brothers sat
over their winter fire in the little French town of Annonay, watching the
grey smoke-wreaths from the hearth curl up the wide chimney. Their names
were Stephen and Joseph Montgolfier, they were papermakers by trade, and
were noted as possessing thoughtful minds and a deep interest in all
scientific knowledge and new discovery. Before that night—a memorable night,
as it was to prove—hundreds of millions of people had watched the rising
smoke-wreaths of their fires without drawing any special inspiration from
the fact.
</p>
</div>
.box {
width: 400px;
margin: 0 auto;
}
.shape {
float: left;
width: 150px;
height: 100px;
clip-path: inset(45px 50px 15px 0 round 50px);
shape-outside: inset(40px 40px 10px 0 round 50px);
background-color: coral;
border-radius: 20px;
margin: 0;
padding: 20px;
}
Spezifikationen
| Spezifikation |
|---|
| CSS Shapes Module Level 1> # funcdef-basic-shape-inset> |
Browser-Kompatibilität
Siehe auch
- Eigenschaften, die diesen Datentyp verwenden:
border-shape,clip-path,shape-outside - CSS-Formen Modul
- Leitfaden zu grundlegenden Formen