mozilla
Your Search Results

    <basic-shape>

    Übersicht

    Der <basic-shape> CSS Datentyp kann durch Grundform Funktionen angegeben werden. Wenn diese Syntax zur Definition von Formen verwendet wird, wird die Referenzbox durch jede Eigenschaft definiert, die <basic-shape> Werte benutzt. Das Koordinatensystem für die Form hat seinen Ursprung in der linken oberen Ecke der Referenzbox, wobei die x-Achse nach rechts verläuft und die y-Achse nach unten. Alle Längen, die in Prozent ausgedrückt werden, werden durch die verwendeten Maße der Referenzbox bestimmt.

    Mögliche Formen

    Die folgenden Formen werden unterstützt. Alle <basic-shape> Werte verwenden die funktionale Schreibweise und werden durch die Wertdefinitionssyntax definiert.

    inset()
    inset( <shape-arg>{1,4} [round <border-radius>]? )

    Definiert ein eingefügtes Rechteck.

    Falls alle der ersten vier Argumente angegeben werden, repräsentieren sie den oberen, rechten, unteren und linken Versatz vom Referenzbox Inneren, der die Positionen der Ränder des eingefügten Rechtecks bestimmt. Diese Argumente folgen der Syntax der margin Kurzform, die es erlaubt, alle vier Einsätze mittels einem, zwei oder vier Werten zu setzen.

    Das optionale <border-radius> Argument definiert abgerundete Ecken für das eingefügte Rechteck und benutzt die border-radius Kurzform Syntax.

    Ein Paar von Einsätzen in beiden Dimensionen, die mehr als die verwendete Dimension hinzufügen (wie linke und rechte Einsätze von jeweils 75%) definieren eine Form, die keinen Bereich einschließt. Es ergibt sich somit ein leerer Bereich.

    polygon()
    polygon( [<fill-rule>,]? [<shape-arg> <shape-arg>]# )

    <fill-rule> repräsentiert die Füllregel, die verwendet wird, um den Innenbereich des Polygons zu bestimmen. Mögliche Werte sind nonzero und evenodd. Der Standardwert ist nonzero.

    Jedes Paar Argument der Liste repräsentiert xi und yi - die x- und y-Achsen-Koordinaten des i-ten Eckpunkts des Polygons.

    circle()
    circle( [<shape-radius>]? [at <position>]? )

    Das <shape-radius> Argument repräsentiert den Radius des Kreises. Negative Werte sind ungültig. Ein Prozentwert wird durch die verwendete Breite und Höhe der Referenzbox über die Formel sqrt(width^2+height^2)/sqrt(2) bestimmt.

    Das <position> Argument definiert den Mittelpunkt des Kreises. Falls nicht angegeben, wird center verwendet.

    ellipse()
    ellipse( [<shape-radius>{2}]? [at <position>]? )

    Das <shape-radius> Argument repräsentiert den x- und den y-Achsen Radius der Ellipse in dieser Reihenfolge. Negative Werte sind hierbei ungültig. Prozentwerte werden durch die verwendete Breite (für die x-Achse) und die verwendete Höhe (für die y-Achse) der Referenzbox bestimmt.

    Das <position> Argument definiert den Mittelpunkt des Kreises. Falls nicht angegeben, wird center verwendet.

    Die Argumente, die oben nicht definiert werden, werden folgendermaßen definiert:

    <shape-arg> = <length> | <percentage>
    <shape-radius> = <length> | <percentage> | closest-side | farthest-side

    Bestimmt einen Radius für einen Kreis oder eine Ellipse. Falls nicht angegeben, wird closest-side verwendet.

    closest-side verwendet die Länge vom Mittelpunkt der Form zur nähesten Seite der Referenzbox. Für Kreise ist dies die näheste Seite in beliebiger Richtung. Für Ellipsen ist dies die näheste Seite in Radiusrichtung.

    farthest-side verwendet die Länge vom Mittelpunkt der Form zur entferntesten Seite der Referenzbox. Für Kreise ist dies die entfernteste Seite in beliebiger Richtung. Für Ellipsen ist dies die entfernteste Seite in Radiusrichtung.

    Berechnete Werte von Grundformen

    Die Werte in einer <basic-shape> Funktion werden wie spezifiziert berechnet mit folgenden Ausnahmen:

    • Ausgelassene Werte werden einbezogen und deren Standardwerte verwendet.
    • Eine <position> Wert in circle() oder  ellipse() wird als ein Versatzpaar (horizontal, dann vertikal) vom oberen linken Ursprung berechnet, wobei jeder Versatz als Kombination einer absoluten Länge und einem Prozentwert angegeben wird.
    • Ein <border-radius> Wert in inset() wird als eine erweiterte Liste aller acht <length> oder Prozentwerte berechnet.

    Interpolation von Grundformen

    Zur Interpolation zwischen zwei Grundformen werden die folgenden Regeln angewandt. Die Werte der Formfunktionen werden als einfache Liste interpoliert. Die Listenwerte werden, soweit möglich, als <length>, <percentage> oder calc Ausdruck angegeben. Falls die Listenwerte nicht diesen Typen entsprechen, jedoch identisch sind (wie beispielsweise Zahlen ungleich null an der gleichen Position innerhalb beider Listen), werden diese Werte interpoliert.
     
    • Beide Formen müssen die gleiche Referenzbox verwenden.
    • Falls beide Formen vom gleichen Typ sind, d. h. vom Typ ellipse() oder circle(), und keiner der Radii die Schlüsselwörter closest-side oder farthest-side verwenden, wird zwischen jedem Wert der Formfunktionen interpoliert.
    • Falls beide Formen vom Typ inset() sind, wird zwischen jedem Wert der Formfunktionen interpoliert.
    • Falls beide Formen vom Typ polygon() sind, beide Polygone die gleiche Anzahl an Eckpunkten haben und die gleiche <fill-rule> verwenden, wird zwischen jedem Wert der Formfunktionen interpoliert.
    • In allen anderen Fällen ist keine Interpolation definiert.

    Beispiele

    TODO

    Spezifikationen

    Spezifikation Status Anmerkung
    CSS Shapes Module Level 1
    Die Definition von '<basic-shape>' in dieser Spezifikation.
    Anwärter Empfehlung Ursprüngliche Definition

    Browser Kompatibilität

    Merkmal Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Grundlegende Unterstützung (Ja) Nicht unterstützt Nicht unterstützt Nicht unterstützt (Ja)
    \xx (Ja) Nicht unterstützt Nicht unterstützt Nicht unterstützt (Ja)
    Merkmal Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Grundlegende Unterstützung (Ja) (Ja) Nicht unterstützt Nicht unterstützt Nicht unterstützt (Ja)
    \xx (Ja) (Ja) Nicht unterstützt Nicht unterstützt Nicht unterstützt (Ja)

    Siehe auch

    Document Tags and Contributors

    Contributors to this page: Sebastianz
    Last updated by: Sebastianz,