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 Einsetzabständen von jeder Seite der Referenzbox. Es ist eine Basisform-Funktion, 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);
Werte
<length-percentage>{1,4}-
Wenn alle vier Argumente angegeben sind, repräsentieren sie die Abstände von oben, rechts, unten und links, die von der Referenzbox nach innen verschoben werden, um die Positionen der Kanten des Einsetz-Rechtecks zu definieren. Diese Argumente folgen der Syntax der margin-Kurzform, die es Ihnen ermöglicht, alle vier Einsetzabstände mit einem, zwei oder vier Werten festzulegen.
Wenn ein Paar von Einsetzabständen für eine Dimension mehr als 100% dieser Dimension ergibt, werden beide Werte proportional reduziert, so dass ihre Summe 100% beträgt. Zum Beispiel hat der Wert
inset(90% 10% 60% 10%)einen oberen Einsetzabstand von90%und einen unteren von60%. Diese Werte werden proportional zuinset(60% 10% 40% 10%)reduziert. Formen wie diese, die keinen Bereich einschließen und keinenshape-marginhaben, beeinflussen das Umfließen nicht. <border-radius>-
Das optionale
<border-radius>-Argument(e) definiert abgerundete Ecken für das Einsetz-Rechteck mithilfe der border-radius-Kurzform-Syntax.
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 Einsetz-Beispiel
Im folgenden Beispiel verwenden wir eine inset()-Form, um Inhalte über das schwebende Element zu ziehen. Ändern Sie die Einsetzwerte, 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:
clip-path,shape-outside - CSS-Formen-Modul
- Leitfaden zu Basisformen