Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Revenue
Plattformen und Marktplätze
Geldmanagement
Entwickler-Tools
Jetzt starten
Zahlungen
Revenue
Jetzt starten
Zahlungen
Revenue
Plattformen und Marktplätze
Geldmanagement
Übersicht
Versionierung
Änderungsprotokoll
Aktualisieren Sie Ihre API-Version
Ihre SDK-Version aktualisieren
Entwickler-Tools
SDKs
API
Tests
Workbench
Ereignisziele
Arbeitsabläufe
Stripe-CLI
Stripe Shell
Entwickler-Dashboard
Agent-Toolkit
Mit LLMs entwickelnStripe für Visual Studio CodeStripe-StatuswarnungenHochgeladene Dateien
Sicherheit und Datenschutz
Sicherheit
Datenschutz
Extend Stripe
Stripe-Apps
    Übersicht
    Jetzt starten
    Eine App erstellen
    Funktionsweise von Stripe-Apps
    Beispiel-Apps
    App erstellen
    Shop-Geheimnisse
    API-Authentifizierungsmethoden
    Autorisierungsabläufe
    Serverseitige Logik
    Ereignisse überwachen
    Umgang mit verschiedenen Modi
    Sandbox-Unterstützung aktivieren
    App-Einstellungsseite
    Erstellen Sie eine Nutzeroberfläche
      Funktionsweise der Erweiterungen der Nutzeroberfläche
      Benutzeroberflächen-Tests
      Entwickler-Tools
      Richten Sie Ihre App ein
      Gestalten Sie Ihre App
      Upgrade des Erweiterungs-SDK der Nutzeroberfläche von Stripe
    Onboarding
    Ihre App verbreiten
    Vertriebsmöglichkeiten
    App hochladen
    Versionen und Releases
    Ihre App testen
    Ihre App veröffentlichen
    Ihre App bewerben
    Deep-Links hinzufügen
    Installationslinks erstellen
    Rollen in Erweiterungen der Nutzeroberfläche zuweisen
    Aktionen nach der Installation
    App-Analytik
    Eingebettete Komponenten für Apps
    Stripe-Apps von Drittanbietern einbetten
    Umstellung auf Stripe Apps
    Migrieren oder Erweiterung erstellen
    Ein Plugin zu Stripe Apps oder Stripe Connect migrieren
    Verwendungszweck
    App-Manifest
    CLI
    Erweiterungs-SDK
    Berechtigungen
    Darstellungsfelder
    Entwurfsmuster
    Komponenten
Stripe Connectors
Partner
Partner-Ecosystem
Partner-Zertifizierung
StartseiteEntwickler-ToolsStripe AppsBuild a UI

Gestalten Sie Ihre App

Finden Sie heraus, wie Sie UI-Komponenten in Ihrer App formatieren.

Seite kopieren

Sie können eine Stripe-App mit en von uns bereitgestellten Design-Token gestalten. So können Sie das Dashboard optisch anpassen, für Konsistenz sorgen und eine qualitativ hochwertige Leiste beibehalten.

  • Die Komponenten Box und Inline unterstützen individuelle Stile.
  • Andere Komponenten haben voreingestellte Stile, die Sie manchmal anpassen können.

Nutzerdefinierte Stile

Die Komponenten Box und Inline unterstützen individuelle Stile. Box und Inline sind gestaltbare Container wie HTML div und span. Um sie zu gestalten, verwenden Sie ihre css-Eigenschaft. Sie verwenden CSS-Syntax, mit einigen Unterschieden zu Vanilla CSS.

Beispiel wird geladen ...
<Box css={{ padding: 'xxlarge', color: 'secondary', backgroundColor: 'container', borderRadius: 'small', }} > This is a box. </Box>

Anders als bei Vanilla CSS können Sie nicht beliebige Schriftarten und -stile auswählen. Verwenden Sie die Eigenschaften font und fontWeight. Für weitere Informationen, siehe Typographie.

Beispiel wird geladen ...
<Inline css={{font: 'body', color: 'primary', fontWeight: 'semibold'}}> This text is emphasized </Inline>

Auch das Layout funktioniert anders als in Vanilla CSS. Stattdessen verwenden Stripe Apps das gleiche Layout-System, das Stripe intern verwendet. Für weitere Informationen, siehe Layout.

<Box css={{ stack: 'x', gap: 'medium', }} > <Box css={{width: '1/4', padding: 'medium', keyline: 'neutral'}} /> <Box css={{width: '3/4', padding: 'medium', keyline: 'neutral'}} /> </Box>

Alle Designtoken werden über TypeScript verfügbar gemacht. Das heißt, Sie erhalten ein Dropdown-Menü im Editor für die automatische Vervollständigung aus den verfügbaren Werten.

Farbe

Legen Sie Farben in Ihren nutzerdefinierten Stilen mit den folgenden Werten fest.

Hintergründe

Um die Hintergrundfarbe einer Box oder Inline-Komponente einzustellen, verwenden Sie die CSS-Eigenschaft backgroundColor:

<Box css={{ backgroundColor: 'container' }}> Box with a darker background. </Box>

Verwenden Sie die folgenden Token als Werte für backgroundColor:

Example
Token
Usage
surface
Used for the background of apps
container
Used for cards and sections within an app

Ränder

Um einer Box oder Inline Komponente einen Rand hinzuzufügen, verwenden Sie die CSS-Eigenschaft keyline:

<Box css={{ keyline: 'neutral' }}> Box with a neutral border. </Box>

Verwenden Sie die folgenden Token als Werte für keyline:

Example
Token
Usage
neutral
The default color for all borders and dividers
critical
Used for content which is critically urgent to the user

Text und Symbole

Um eine Farbe für alle Texte oder Symbole in einer Box oder Inline Komponente festzulegen, verwenden Sie die CSS-Eigenschaft color:

<Box css={{ color: 'success' }}> Box with green text. </Box>

Für ein Symbol, das sich von den anderen untergeordneten Elementen seines Containers abhebt, verwenden Sie fill. Andernfalls passen die Symbole zu dem sie umgebenden Text.

<Box css={{ color: 'primary' }}> <Icon css={{ fill: 'success' }}/> Box with normal text and a green icon. </Box>

Verwenden Sie die folgenden Token als Werte für color und fill:

Example
Token
Usage
primary
The default color for text and icons
secondary
Used to for text and icons which are less prominent
disabled
Used for elements which are disabled
info
Used for content that is neutral and informational
success
Used for content which indicates the success of some action
attention
Used for content which is should grab the user’s attention
critical
Used for content which is critically urgent to the user. Should be used sparingly.

Typografie

Um den Stil von Text in einer Box oder Inline Komponente zu ändern, verwenden Sie die benutzerdefinierte Eigenschaft font:

<Inline css={{font: 'heading'}}>Heading</Inline>

Folgende Stile sind verfügbar:

Token
Usage
Example
heading
Used for labeling a section of your app
The quick brown fox jumps over the lazy dog.
subheading
Used for labeling content within a section of your app
The quick brown fox jumps over the lazy dog.
body
Primary body text of the app
The quick brown fox jumps over the lazy dog.
caption
Used for text that should be less prominent than body text
The quick brown fox jumps over the lazy dog.

Textüberlauf und -umbruch

Um zu ändern, wie Überlauftext in einer Box Komponente behandelt wird, verwenden Sie die Eigenschaften textOverflow, overflow, whiteSpace und overflowWrap:

<Box css={{textOverflow: 'ellipsis', overflow: 'hidden', overflowWrap: 'normal'}}> Box where long text is cut off with an ellipsis </Box>
CSS
Usage
Example
{textOverflow: 'ellipsis', overflow: 'hidden', overflowWrap: 'normal'}
Used for adding an ellipsis (...) to text that overflows the available space
SupercalifragilisticexpialidociousSupercalifragilisticexpialidociousSupercalifragilisticexpialidocious
{overflowWrap: 'break-word'}
Used for breaking up long words
SupercalifragilisticexpialidociousSupercalifragilisticexpialidocious
{whiteSpace: 'nowrap'}
Used to prevent lines from wrapping
This text is too long for the container.

Weitere Szenarien für Überlauf und Textumbruch finden Sie unter Textumbruch und -umbruch.

Textumwandlung

Sie können Text in einer Box oder Inline Komponente mit der Eigenschaft textTransform umwandeln:

<Box css={{textTransform: 'uppercase'}}> Box where all text appears uppercase </Box>

Hier sind einige übliche Werte, die für die Eigenschaft textTransform verwendet werden können:

Token
Usage
Before
After
capitalize
Used to convert the first letter of each word to uppercase
Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet
uppercase
Used to convert all letters to uppercase
Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet
lowercase
Used to convert all letters to lowercase
Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet
none
Used to prevent the case of letters from being changed
loREM iPSUm DOLor SIt AMet
loREM iPSUm DOLor SIt AMet

Die vollständige Liste finden Sie unter text-transform.

Textausrichtung

Sie können die Ausrichtung von Text in einer Box-Komponente mit der Eigenschaft textAlign ändern:

<Box css={{textAlign: 'center'}}> Box where text is centered </Box>

Verwenden Sie die folgenden Token als Werte für textAlign:

Token
Usage
Example
left
Used to algin text to the left
This text is left aligned
right
Used to align text to the right
This text is right aligned
start
Used align text to the start direction
This text is start aligned
end
Used to align text to the end direction
This text is end aligned
center
Used to center text
This text is centered
justify
Used to justify text
This is some text that is justified

Layout

Mit den APIs von Stripe Apps zur Gestaltung des Layouts können Sie Stile schreiben, die unsere Designtoken nutzen können. Außerdem sind sie gegenüber Vanilla-CSS weiter optimiert. Verwenden Sie diese Token in einer Box-Komponente, um das Layout für ihre untergeordneten Elemente zu steuern. Andere Container, wie List, handhaben das Layout automatisch.

Wir konzeptualisieren Layouts als „Stacks“.

Horizontale Stacks

Elemente horizontal stapeln und Breiten anpassen:

<Box css={{ stack: 'x', gap: 'medium', alignX: 'stretch', // This is the default and can be omitted }} >

So stapeln Sie Elemente horizontal mit gebrochenen Breiten:

<Box css={{ stack: 'x', gap: 'medium', }} > <Box css={{width: '1/4', padding: 'medium', keyline: 'neutral'}} /> <Box css={{width: '3/4', padding: 'medium', keyline: 'neutral'}} /> </Box>

So stapeln Sie Elemente horizontal mit einer gebrochenen Breite für ein Element bei Streckung der verbleibenden Elemente:

<Box css={{ stack: 'x', gap: 'medium', }} > <Box css={{padding: 'medium', keyline: 'neutral'}} /> <Box css={{width: '1/4', padding: 'medium', keyline: 'neutral'}} /> <Box css={{padding: 'medium', keyline: 'neutral'}} /> </Box>

So richten Sie Elemente so ein, dass sie mit einem Abstand beginnen:

<Box css={{ stack: 'x', gap: 'medium', alignX: 'start', }} >

So verteilen Sie Elemente:

<Box css={{ stack: 'x', distribute: 'space-between', }} >

So richten Sie Elemente so ein, dass sie mit einem Abstand enden:

<Box css={{ stack: 'x', gap: 'medium', alignX: 'end', }} >

So richten Sie Elemente vertikal nach unten aus:

<Box css={{ stack: 'x', gap: 'medium', alignX: 'start', alignY: 'bottom', }} >

So fügen Sie Trennlinien zwischen den Elementen ein:

<Box css={{ stack: 'x', gap: 'small', alignX: 'start', }} > <Box css={{padding: 'medium', keyline: 'neutral'}} /> <Divider /> <Box css={{padding: 'medium', keyline: 'neutral'}} /> <Divider /> <Box css={{padding: 'medium', keyline: 'neutral'}} /> </Box>

So brechen Sie Elemente in Zeilen um:

<Box css={{ stack: 'x', gap: 'medium', wrap: 'wrap', alignX: 'start', }} >

So richten Sie unterschiedliche horizontale und vertikale Abstände ein:

<Box css={{ stack: 'x', gapX: 'small', gapY: 'large', wrap: 'wrap', alignX: 'start', }} >

So zentrieren Sie Elemente beim Umbruch horizontal:

<Box css={{ stack: 'x', gap: 'medium', wrap: 'wrap', alignX: 'center', }} >

So zentrieren Sie Elemente beim Umbruch vertikal:

<Box css={{ stack: 'x', gap: 'medium', wrap: 'wrap', alignX: 'start', alignY: 'center', }} >

Vertikale Stacks

Elemente vertikal stapeln und Breiten anpassen:

<Box css={{ stack: 'y', gap: 'medium', }} >

So stapeln Sie Elemente vertikal und zentrieren sie horizontal:

<Box css={{ stack: 'y', gap: 'medium', alignX: 'center', }} > <Box css={{width: '1/4', padding: 'medium', keyline: 'neutral'}} /> <Box css={{width: '2/3', padding: 'medium', keyline: 'neutral'}} /> <Box css={{width: '1/3', padding: 'medium', keyline: 'neutral'}} /> </Box>

Geschichtete Stacks

So zeigen Sie Elemente übereinander an:

<Box css={{ stack: 'z', alignX: 'center', alignY: 'center', }} > <Box css={{padding: 'xxlarge', keyline: 'neutral'}} /> <Box css={{padding: 'large', keyline: 'neutral'}} /> <Box css={{padding: 'small', keyline: 'neutral'}} /> </Box>

Layouteigenschaften

EigenschaftWerte
alignX'start' | 'center' | 'end' | 'stretch'
alignY'top' | 'center' | 'baseline' | 'bottom' | 'stretch'
distribute'space-between' | 'packed'
gapSiehe Abstand
overflowX | overflowY'visible' | 'hidden' | 'scroll' | 'auto'
stack'x' | 'y' | 'z'
wrap'wrap'

Abstände

Sie können Ränder, Füllzeichen und Layoutabstände mithilfe der unten aufgeführten Werte angeben.

<Box css={{margin: 'small'}} />
TokenWert
00 Pixel
xxsmall2 Pixel
xsmall4 Pixel
small8 Pixel
medium16 Pixel
large24 Pixel
xlarge32 Pixel
xxlarge48 Pixel

Größenbestimmung

Sie können die Breite und Höhe mithilfe von Brüchen oder inhaltsbasierten Größentoken angeben.

<Box css={{width: '1/2'}} />

Fraktionale Größenbestimmung

Die verfügbaren Brüche umfassen Hälften, Drittel, Viertel, Fünftel, Sechstel und Zwölftel. Das fill-Token ermöglicht es einer Komponente, die Größe ihres Containers anzupassen.

TokenWert
00 Pixel
1/250 %
1/3, 2/333,333333 %, 66,666667 %
1/4, 2/4, 3/4,25 %, 50 %, 75 %
1/5, 2/5, 3/5, 4/520 %, 40 %, 60 %, 80 %
1/6, 2/6, 3/6, 4/6, 5/616,666667 %, 33,333333 %, 50 %, 66,666667 %, 83,333333 %
1/12, 2/12, 3/12, 4/12, 5/12, 6/12, 7/12, 8/12, 9/12, 10/12, 11/128,333333 %, 16.,666667 %, 25 %, 33,333333 %, 41,666667 %, 50%, 58,333333 %, 66,666667 %, 75 %, 83,333333 %, 91,666667 %
fill100 %

Inhaltsbasierte Größenbestimmung

Sie können die Größe einer Box relativ zu ihrem Inhalt bestimmen.

TokenNutzung
minDer Inhalt innerhalb der Komponente nutzt alle Umbruchmöglichkeiten und wird so klein wie die längsten Inhalte.
maxStellt die maximal mögliche Breite des Inhalts dar. Bei Anwendung auf Text findet kein Zeilenumbruch statt, selbst wenn der Text dadurch über die Grenzen seines Containers hinausgeht.
fitFüllt den verfügbaren Platz aus, aber nur bis zur maximalen Größe des Inhalts.

Voreingestellte Stile

Andere Komponenten als Box und Inline haben voreingestellte Stile, wodurch die Konsistenz erhalten bleibt. Manchmal können Sie die Voreinstellungen auf eine bestimmte Weise steuern oder außer Kraft setzen.

Automatisches Design

Einige Komponenten gestalten sich automatisch. Zum Beispiel ändern Chips automatisch ihr Aussehen, je nachdem, welche Callbacks sie implementieren. Dies hilft Nutzer/innen, ihr Verhalten zu verstehen. Um Verwirrung zu vermeiden, können Sie diese Details nicht überschreiben.

Beispiel wird geladen ...
<Box css={{ backgroundColor: 'surface', padding: 'medium', borderRadius: 'medium', }} > <ChipList> <Chip label="Currency" value="USD" onDropdown={() => { console.log('Dropdown function triggered'); }} onClose={() => { console.log('Close function triggered'); }} /> <Chip label="Status" value="Succeeded" onDropdown={() => { console.log('Dropdown function triggered'); }} onClose={() => { console.log('Close function triggered'); }} /> <Chip label="Amount" onAddSuggestion={() => { console.log('Add Amount suggestion'); }} /> <Chip label="Date" onAddSuggestion={() => { console.log('Add Date suggestion'); }} /> </ChipList> </Box>

Mehrere Voreinstellungen

Einige Komponenten, wie z. B. Schaltflächen, verfügen über einige Stile, die Sie über eine Eigenschaft auswählen können. Einzelheiten finden Sie in der Dokumentation der jeweiligen Komponente.

Beispiel wird geladen ...
<Button type="primary">Primary</Button> <Button>Secondary</Button> <Button type="destructive">Destructive</Button>

Beschränktes CSS

Einige Komponenten unterstützen bestimmte CSS-Eigenschaften. Zum Beispiel unterstützen Symbole die Farbe mit der Eigenschaft fill. Einzelheiten finden Sie in der Dokumentation der jeweiligen Komponente.

Beispiel wird geladen ...
<Icon name="cancelCircle" css={{fill: 'critical'}} />

Siehe auch

  • Dokumentation zur Extension SDK API
  • Bestandteile der Stripe-Apps-Nutzeroberfläche
  • Nutzeroberfläche erstellen
War diese Seite hilfreich?
JaNein
Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
Nehmen Sie an unserem Programm für frühzeitigen Zugriff teil.
Schauen Sie sich unser Änderungsprotokoll an.
Fragen? Sales-Team kontaktieren.
LLM? Lesen Sie llms.txt.
Unterstützt von Markdoc