Flip-Card. Info

What does the component do?

Hides content (text and links) behind a title and an image. The corresponding content can be shown or hidden by clicking on the flip card.

When should the component be used?

  • To structure content.
  • To ensure/provide clarity.

Rules.

  • Title and image are mandatory
  • If possible, the detailed text should not be too long, or only long enough so that the flip card does not have to be enlarged after the details are displayed.
Accordion
Anatomy

Anatomy der Komponente


Number Type Description Optional Info
1 Component sbb-flip-card-summary No
1a Component sbb-title No
1b Component sbb-image No
1c Component sbb-secondary-button No Open-Action
2 Component sbb-flip-card-details No
2a Text Slot No
2b Component sbb-link Yes
2c Component sbb-secondary-button No Close-Action
Demo Image After.
Image Below.
With Chip On Image.
No Image.
Long Content.
Long Title.
Grid.
Copy HTML to clipboard.
Implementation

sbb-flip-card.

The <sbb-flip-card> component displays an informative card that reveals more information when clicked or toggled programmatically.

<sbb-flip-card>
  <sbb-flip-card-summary>
    <sbb-title> Card Title </sbb-title>
    <sbb-image slot="image" image-src="..." alt="..."></sbb-image>
  </sbb-flip-card-summary>
  <sbb-flip-card-details> Some additional text. </sbb-flip-card-details>
</sbb-flip-card>

With the <sbb-flip-card-summary> you can optionally add an overlapping <sbb-chip-label> by wrapping the
<sbb-image> in a figure tag (see sbb-image doc).

<sbb-flip-card>
  <sbb-flip-card-summary>
    ...
    <figure class="sbb-figure" slot="image">
      <sbb-image
        image-src="https://cdn.img.sbb.ch/content/dam/internet/externe-assets/lyne/Bahnhof-Luzern.jpg"
        alt="Station of Lucerne from outside"
      ></sbb-image>
      <sbb-chip-label class="sbb-figure-overlap-start-start">...</sbb-chip-label>
    </figure>
  </sbb-flip-card-summary>
</sbb-flip-card>

Style.

The <sbb-flip-card> component has a predefined minimum height that can be customized by specifying the min-height property directly in the style of the host element with a custom height. Alternatively, when used within a CSS grid layout alongside other cards, the height can be adjusted using the grid-template-rows property. For consistent behavior and flexibility, it is recommended to use the minmax() function, for example: grid-template-rows: minmax(320px, 1fr).

<div
  style="display: grid; grid-template-rows: minmax(320px, 1fr); grid-template-columns: repeat(2, 1fr);"
>
  <sbb-flip-card>
    <sbb-flip-card-summary>
      <sbb-title> Card Title </sbb-title>
      <sbb-image slot="image" image-src="..." alt="..."></sbb-image>
    </sbb-flip-card-summary>
    <sbb-flip-card-details> Some additional text. </sbb-flip-card-details>
  </sbb-flip-card>

  <sbb-flip-card>
    <sbb-flip-card-summary>
      <sbb-title> Card Title </sbb-title>
      <sbb-image slot="image" image-src="..." alt="..."></sbb-image>
    </sbb-flip-card-summary>
    <sbb-flip-card-details> Some additional text. </sbb-flip-card-details>
  </sbb-flip-card>
</div>

Slots.

The component will display the content slotted in the summary slot in the main view, and the content slotted inside the details slot after the card has been flipped.

States.

The <sbb-flip-card> will switch to the flipped state after the user clicks on it or after the toggle method is called.

API Documentation.

class: SbbFlipCardDetailsElement, sbb-flip-card-details.

Slots.

Name Description
Use the unnamed slot to provide any kind of content.

class: SbbFlipCardElement, sbb-flip-card.

Properties.

Name Attribute Privacy Type Default Description
accessibilityLabel accessibility-label public string '' This will be forwarded as aria-label to the action in the non flipped state. If not set, the textContent of the sbb-flip-card-summary is taken.
details - public SbbFlipCardDetailsElement | null Returns the slotted sbb-flip-card-details.
isFlipped - public boolean Whether the flip card is flipped.
summary - public SbbFlipCardSummaryElement | null Returns the slotted sbb-flip-card-summary.

Methods.

Name Privacy Description Parameters Return Inherited From
toggle public Toggles the state of the sbb-flip-card. void

Events.

Name Type Description Inherited From
flip Event Emits whenever the component is flipped.

Slots.

Name Description
Use the unnamed slot to add a sbb-flip-card-summary and a sbb-flip-card-details element.

class: SbbFlipCardSummaryElement, sbb-flip-card-summary.

Properties.

Name Attribute Privacy Type Default Description
imageAlignment image-alignment public 'after' | 'below' 'after' The position where to render the image.

Slots.

Name Description
Use the unnamed slot to provide a title for the sbb-flip-card-summary.
image Use this slot to provide an image for the sbb-flip-card-summary.