📘Style-Konflikte vermeiden: Unser Formular wurde umfassend getestet, dennoch kann es vorkommen, dass CSS-Styles eurer Webseite das Formular-Design überschreiben. Dieser Style Guide dient der schnellen Identifizierung von Klassen und IDs bei Styling-Problemen. Alle Soulclick-Klassen nutzen das Präfix soulclick- – prüft bei Darstellungsfehlern zuerst, ob eure CSS-Regeln diese Klassen überschreiben. Bei Konflikten empfehlen wir die Verwendung von spezifischeren CSS-Selektoren oder !important für kritische Styles.
Dieser Styleguide dokumentiert alle CSS-Klassen und IDs des Soulclick Spendenformulars. Das Formular ist als Javascript-Integration konzipiert und verwendet ein konsistentes Namensschema mit dem Präfix soulclick-.
| Klasse/ID | Typ | Beschreibung |
|---|
.soulclick-iframe | Klasse | Haupt-Container für das gesamte iFrame-Formular |
.soulclick-donation-iframe | Klasse | Container für die Donation-Sektion |
.soulclick-container | Klasse | Content-Container mit optionalem Background |
.soulclick-donation-iframe__form | Klasse | Formular-Container |
#soulclick-iframe-form-submit | ID | Form-Element für Submit-Handling |
| Klasse | Beschreibung |
|---|
.soulclick-row | Flexbox-Row Container |
.soulclick-row--align-center | Row mit zentrierten Elementen |
.soulclick-col | Grid-Spalte (Basis) |
.soulclick-сol-sm-12 | 12 Spalten auf Small Screens |
.soulclick-col-md-8 | 8 Spalten auf Medium Screens |
.soulclick-col-md-offset-2 | Offset von 2 Spalten (Medium) |
.soulclick-col-lg-6 | 6 Spalten auf Large Screens |
.soulclick-col-lg-offset-3 | Offset von 3 Spalten (Large) |
| Klasse/ID | Beschreibung |
|---|
.soulclick-donation-iframe__form__step | Container für einzelnen Form-Step |
#iframe-step-2 | Step 1: Spendenauswahl |
#iframe-step-3 | Step 2: Zahlungsart |
#iframe-step-4 | Step 3: Kontaktangaben |
#iframe-step-5 | Step 4: Geschenk-Empfänger (optional) |
| Klasse | Beschreibung |
|---|
.soulclick-donation-iframe__form__step__heading | Header-Container für Steps |
.soulclick-donation-iframe__form__step__number | Nummerierung des Steps (1, 2, 3, 4) |
.soulclick-donation-iframe__form__step__title | Titel des Steps (h3) |
| Klasse | Beschreibung |
|---|
.soulclick-input__group | Container für Input-Feld mit Label |
.soulclick-input__group--no-margin | Input-Gruppe ohne unteren Margin |
.soulclick-input__group__dropdown | Spezielle Gruppe für Dropdown-Felder |
| Klasse/ID | Beschreibung |
|---|
.soulclick-input | Standard-Input-Feld Styling |
.soulclick-input__label | Floating-Label für Input-Felder |
#iframe-company | Firmenname (Business-Kontakt) |
#iframe-personal-name | Vorname |
#iframe-personal-surname | Nachname |
#iframe-personal-email | E-Mail-Adresse |
#iframe-personal-street | Strasse/Nr. |
#iframe-personal-place | PLZ/Ort |
| Klasse | Beschreibung |
|---|
.soulclick-input__error | Error-Message Container |
.soulclick-input__error-sign | Error-Icon (SVG) |
.soulclick-input__error-sign__path | SVG-Pfad für Error-Icon |
.soulclick-input__error-btn | Error unterhalb von Buttons |
#soulclick-requests-error | Error bei Zahlungslimit |
| Klasse | Beschreibung |
|---|
.soulclick-btn | Basis-Button-Styling |
.soulclick-btn--middle | Button mittlerer Größe |
.soulclick-btn--type-1 | Primary Button Style |
.soulclick-btn--type-2 | Secondary Button Style |
.soulclick-btn__donate | Submit-Button "Jetzt spenden" |
.soulclick-donation-iframe__btn | Button für Donation-Optionen |
| Klasse/ID | Beschreibung |
|---|
.soulclick-donation-iframe__form__radio | Hidden Radio-Input |
.soulclick-radio__input | Standard Radio-Input |
.soulclick-radio__label | Label für Radio-Button |
#iframe-single | Einmalige Spende |
#iframe-regular | Regelmässige Spende |
#iframe-private | Privat-Kontakt |
#iframe-business | Business-Kontakt |
| Klasse | Beschreibung |
|---|
.soulclick-donation-iframe__donation-options | Container für Betrags-Optionen |
.soulclick-donation-iframe__donation-option | Einzelne Betrags-Option |
.soulclick-donation-iframe__donation-option__input | Hidden Radio für Betrag |
.soulclick-donation-iframe__donation-option__label | Label für Betrags-Button |
.soulclick-donation-iframe__donation-option__label--is-custom | Custom-Betrag-Feld |
.soulclick-donation-iframe__donation-option__label__currency | Währungs-Anzeige (CHF) |
.soulclick-donation-iframe__donation-option__label__amount | Betrags-Anzeige |
.soulclick-donation-iframe__donation-option__label--edit-icon | Edit-Icon für Custom-Betrag |
.soulclick-donation-iframe__donation-option__custom-field | Input für Custom-Betrag |
| Klasse | Beschreibung |
|---|
.soulclick-donation-iframe__donation-options__errors | Error-Container |
.price-options-error | Fehler: Kein Betrag gewählt |
.price-options-min-price-error | Fehler: Betrag zu niedrig |
.price-options-max-price-error | Fehler: Betrag zu hoch |
.soulclick-donation-option__error--min-price-val | Min-Betrag Platzhalter |
.soulclick-donation-option__error--max-price-val | Max-Betrag Platzhalter |
| Klasse/ID | Beschreibung |
|---|
#iframe-interval | Container für Intervall-Auswahl |
#iframe-donation-interval | Hidden Select für Intervall |
.select__interval | Custom Select Styling |
.soulclick-select__current-item | Aktuell gewähltes Intervall |
.soulclick-select__list | Dropdown-Liste |
.soulclick-select__list__item | Einzelnes Intervall-Item |
.soulclick-select__overlay | Overlay zum Schließen |
.soulclick-select--is-hidden | Verstecktes Original-Select |
| Klasse/ID | Beschreibung |
|---|
.soulclick-donation-iframe__payment-option | Container für Payment-Option |
.soulclick-donation-iframe__payment-option__input | Hidden Radio für Payment |
.soulclick-donation-iframe__payment-option__label | Label für Payment-Button |
.soulclick-donation-iframe__payment-option__label__text | Payment-Name |
.soulclick-donation-iframe__payment-option__img | Payment-Icon |
#VIS | VISA |
#ECA | Mastercard |
#TWI | Twint |
#PFC | Postfinance Card |
#PEF | Postfinance E-Finance |
#PAP | PayPal |
#INV | QR-Rechnung |
| Klasse | Beschreibung |
|---|
.soulclick-donation-iframe__container | Standard Container |
.soulclick-donation-iframe__container__grid | Grid-Layout für Payments |
| Klasse/ID | Beschreibung |
|---|
.soulclick-donation-iframe__gender__group | Container für Gender-Optionen |
.soulclick-donation-iframe__gender__group--row | Row für Gender-Buttons |
.soulclick-donation-iframe__gender__label | Label für Gender-Radio |
#personal-gender-female | Frau |
#personal-gender-male | Herr |
#personal-no-gender | Keine Angabe |
| Klasse/ID | Beschreibung |
|---|
#countries-select | Original Select-Element (versteckt) |
.selectize-control | Selectize.js Container |
.selectize-input | Selectize Input-Feld |
.selectize-dropdown | Selectize Dropdown |
.selectize-dropdown-content | Dropdown-Content |
| Klasse/ID | Beschreibung |
|---|
.soulclick-donation-iframe__agreements | Container für Agreements |
.soulclick-donation-iframe__agreement | Einzelnes Agreement |
.soulclick-donation-iframe__agreement--recurring | Recurring-Agreement |
.soulclick-donation-iframe__agreement__checkbox | Hidden Checkbox |
.soulclick-donation-iframe__agreement__label | Label für Checkbox |
.soulclick-donation-iframe__agreement__label--fees | Label für Gebühren |
.soulclick-donation-iframe__agreement__label--error | Error-State Label |
.soulclick-donation-iframe__agreement--recurring-link | Link zu Konditionen |
#iframe-recurring-agreement | Recurring-Konditionen Checkbox |
#iframe-fee-agreement | Gebühren-Übernahme Checkbox |
#take-fees-agreement | Container für Gebühren-Agreement |
#iframe-fees-amount | Anzeige Gebühren-Betrag |
| Klasse/ID | Beschreibung |
|---|
#recipient-contact-data | Container für Empfänger-Daten |
#recipient-email | E-Mail Versand Radio |
#recipient-print | Print Versand Radio |
#recipient-gender-female | Empfänger: Frau |
#recipient-gender-male | Empfänger: Herr |
#recipient-no-gender | Empfänger: Keine Angabe |
#iframe-recipient-name | Empfänger Name |
#iframe-recipient-email | Empfänger E-Mail |
#iframe-recipient-street | Empfänger Strasse |
#iframe-recipient-place | Empfänger PLZ/Ort |
#recipient-street | Container Strasse |
#recipient-place | Container PLZ/Ort |
| Klasse/ID | Beschreibung |
|---|
.soulclick-donation-iframe__popup | Popup-Container |
.soulclick-donation-iframe__popup__overlay | Dunkler Hintergrund-Overlay |
.soulclick-donation-iframe__popup__content | Popup-Content-Container |
.soulclick-donation-iframe__popup__close | Schließen-Button |
.close-popup-action | JS-Hook zum Schließen |
| ID | Beschreibung |
|---|
#soulclick-cheque-confirmation | QR-Rechnung Bestätigung |
#soulclick-newsletter-success-popup | Newsletter-Erfolg |
#soulclick-newsletter-error-popup | Newsletter-Fehler |
#iframe-privacy-recurring-popup | Dauerspenden-Konditionen |
#iframe-privacy-popup | Datenschutz & Konditionen |
| Klasse | Beschreibung |
|---|
.soulclick-donation-iframe__popup__confirmation | Confirmation-Content |
.soulclick-donation-iframe__popup__confirmation__title | Popup-Titel (h2) |
.soulclick-donation-iframe__popup__confirmation__description | Popup-Text |
.soulclick-donation-iframe__popup__buttons | Button-Container |
.soulclick-donation-iframe__popup__buttons--align-left | Linksbündige Buttons |
.soulclick-donation-iframe__popup__btn | Popup-Button |
.soulclick-donation-iframe__popup__btn--type-1 | Primary Popup-Button |
.soulclick-donation-iframe__popup__btn--type-2 | Secondary Popup-Button |
#soulclick-iframe-qr-confirm | QR-Rechnung: Ja |
#soulclick-iframe-qr-cancel | QR-Rechnung: Nein |
| Klasse | Beschreibung |
|---|
.soulclick-donation-iframe__popup--privacy-policy | Privacy-Popup Modifier |
.soulclick-donation-iframe__popup__privacy | Privacy-Content |
.soulclick-donation-iframe__popup__privacy__title | Privacy-Titel |
.soulclick-donation-iframe__popup__privacy__text | Privacy-Text-Container |
.soulclick-donation-iframe__popup__privacy__text__paragraph | Absatz |
| Klasse | Beschreibung |
|---|
.soulclick-donation-iframe__text | Standard-Text |
.soulclick-donation-iframe__text--bold | Fett-Text |
| Klasse | Beschreibung |
|---|
.soulclick-donation-iframe__privacy | Privacy-Info Container |
.soulclick-donation-iframe__privacy__text-regular | Standard Privacy-Text |
.soulclick-donation-iframe__privacy__link | Privacy-Link |
.lock-icon | Schloss-Icon |
.lock-icon__path | SVG-Pfad für Schloss |
| Klasse | Beschreibung |
|---|
.soulclick-donation-iframe__display-none | Display: none (JS-Toggle) |
.soulclick-donation-iframe__wrapper | Wrapper für Agreements/Submit |
.soulclick-donation-iframe__group | Gruppierung von Elementen |
.soulclick-donation-iframe__align--left | Linksbündige Ausrichtung |
| Klasse | Beschreibung |
|---|
.cross-icon | Kreuz-Icon (Close) |
.soulclick-input__error-sign--option | Error-Icon für Optionen |
| Attribut | Beschreibung |
|---|
data-currency | Währung (CHF) |
data-websiteurl | Website-URL für Redirect |
data-cancel-url | Cancel-Redirect-URL |
data-error-url | Error-Redirect-URL |
data-success-url | Success-Redirect-URL |
data-auto-settle | Auto-Settlement aktiv |
iframe-id | ID des iFrames |
language | Sprache (de/fr/it/en) |
origin | Origin-URL |
data-value | Wert für Select-Items |
purpose-id | ID für Spendenzweck |
interval | Intervall-Wert (1,3,6,12) |
value-name | Display-Name für Werte |
Das Formular folgt der BEM-Methodik (Block-Element-Modifier):
.soulclick-donation-iframe → Block
.soulclick-donation-iframe__form → Element
.soulclick-donation-iframe__form__step → Element (nested)
.soulclick-donation-iframe--popup → Modifier
- Block:
.soulclick-donation-iframe
- Element:
__ (double underscore)
- Modifier:
-- (double dash)
Wichtige Klassen/IDs für JavaScript-Interaktionen:
| Selector | Verwendung |
|---|
.close-popup-action | Popup schließen |
#soulclick-iframe-form-submit | Form-Submit-Handler |
.soulclick-donation-option__custom-field | Custom-Betrag Input |
.soulclick-select__current-item | Select-Display aktualisieren |
.soulclick-select__list__item | Select-Option Click |
.soulclick-donation-iframe__form__radio | Radio-Button Change |
- Flexbox: Vollständig genutzt für Layout
- CSS Grid: Verwendet im responsiven Grid-System
- Custom Properties: Inline-Styles für Farben
- SVG: Für alle Icons
- Inline-Styles: Farben werden als Inline-Styles gesetzt (z.B.
style="color: rgb(89, 2, 9);")
- Font-Family: Wird über
style="font-family: Heebo;" gesetzt
- Hidden Elements: Nutzen
hidden="" Attribut + .soulclick-donation-iframe__display-none
- Selectize.js: Wird für Country-Select verwendet
- Datatrans: Payment-Gateway-Integration über
datatrans-2.0.0.js
| Breakpoint | Klassen-Präfix | Beschreibung |
|---|
| Small | soulclick-col-sm- | Mobile (< 768px) |
| Medium | soulclick-col-md- | Tablet (≥ 768px) |
| Large | soulclick-col-lg- | Desktop (≥ 1024px) |