Het uiterlijk van uw formulieren aanpassen
Deze functie is beschikbaar via het programma voor vroege toegang. Om toegang te verzoeken, verzend een e-mail met uw GitHub organisatienaam en bewaarplaatsnaam van uw officieel adres aan aem-forms-ea@adobe.com. Bijvoorbeeld, als de bewaarplaats URL https://github.com/adobe/abc is, is de organisatienaam adobe en de bewaarplaatsnaam abc.
Forms is van cruciaal belang voor gebruikersinteractie op websites, zodat deze gegevens kunnen invoeren. Met CSS (Cascading Style Sheets) kunt u velden van een formulier opmaken, de visuele presentatie van formulieren verbeteren en de gebruikerservaring verbeteren.
Het Adaptive Forms Block produceert een consistente structuur voor alle formuliervelden. De consistente structuur maakt het gemakkelijker om CSS-kiezers te ontwikkelen om formuliervelden te selecteren en op te maken op basis van veldtype- en veldnamen.
In dit document wordt de HTML-structuur voor verschillende formuliercomponenten beschreven. Op deze manier krijgt u inzicht in de manier waarop u CSS-kiezers voor verschillende formuliervelden kunt maken om formuliervelden van een adaptief Forms-blok op te maken.
Aan het einde van het artikel:
- U krijgt inzicht in de structuur van het standaard CSS-bestand dat wordt opgenomen in Adaptive Forms Block.
- U maakt inzicht in de HTML-structuur van de formuliercomponenten die worden geleverd door het Adaptief Forms-blok, inclusief algemene componenten en specifieke componenten zoals downloads, groepen keuzerondjes en groepen selectievakjes.
- U leert hoe u formuliervelden kunt opmaken op basis van veldtype- en veldnamen met CSS-kiezers, zodat u consistent of uniek kunt opmaken op basis van vereisten.
Werken met formulierveldtypen
Alvorens in het stileren te duiken, herzien de gemeenschappelijke vorm gebiedstypesdie door het AanpassingsBlok van Forms worden gesteund:
- Invoervelden: dit zijn tekstinvoer, e-mailinvoer, wachtwoordinvoer en meer.
- Selectievakjesgroepen: wordt gebruikt voor het selecteren van meerdere opties.
- Keuzerondjes: wordt gebruikt voor het selecteren van slechts één optie in een groep.
- Vervolgkeuzelijsten: ook wel selectiekaders genoemd. Deze worden gebruikt voor het selecteren van een optie in een lijst.
- Deelvensters/containers: gebruikt om gerelateerde formulierelementen samen te groeperen.
Basisbeginselen voor stijlen
Het begrip van fundamentele CSS conceptenis essentieel alvorens specifieke vormgebieden te stileren:
- Kiezers: CSS de Kiezers staan u toe om specifieke elementen van HTML voor het stileren te richten. U kunt elementkiezers, klassekiezers of id-kiezers gebruiken.
- Eigenschappen: CSS de eigenschappen bepalen de visuele verschijning van elementen. Veelvoorkomende eigenschappen voor het opmaken van formuliervelden zijn kleur, achtergrondkleur, rand, opvulling, marge en meer.
- Model van de Doos: Het CSS kadermodel beschrijft de structuur van de elementen van HTML als inhoudsgebied dat door het opvullen, grenzen, en marges wordt omringd.
- Flexbox/Net: CSS Flexboxen lay-outs van het Netzijn krachtige hulpmiddelen om ontvankelijke en flexibele ontwerpen tot stand te brengen.
Een formulier opmaken voor Adaptief Forms-blok
Het Adaptive Forms Block biedt een gestandaardiseerde HTML-structuur waarmee het selecteren en opmaken van formulieronderdelen wordt vereenvoudigd:
-
Update standaardstijlen: U kunt de standaardstijlen van een vorm wijzigen door
/blocks/form/form.css file
uit te geven. Dit bestand biedt uitgebreide opmaak voor een formulier, met ondersteuning voor uit meerdere stappen bestaande wizardformulieren. Het benadrukt het gebruiken van douaneCSS variabelen voor gemakkelijke aanpassing, onderhoud, en het eenvormige formatteren over vormen. -
CSS het Stijlen voor Forms: Om ervoor te zorgen dat uw stijlen correct worden toegepast, verpak uw vorm-specifieke CSS binnen de
main .form form
selecteur. Zo voorkomt u dat er conflicten ontstaan met andere delen van de website en dat uw stijlen alleen zijn bedoeld voor de formulierelementen binnen het hoofdinhoudsgebied.
Voorbeeld:code language-css main .form form input { /* Add styles specific to input fields inside the form */ } main .form form button { /* Add styles specific to buttons inside the form */ } main .form form label { /* Add styles specific to labels inside the form */ }
Componentstructuur
Het Adaptive Forms Block biedt een consistente HTML-structuur voor verschillende formulierelementen, waardoor de opmaak en het beheer worden vereenvoudigd. U kunt de componenten manipuleren met CSS voor opmaakdoeleinden.
Algemene componenten (behalve dropdowns, radiegroepen, en checkbox groepen):
Alle formuliervelden, met uitzondering van vervolgkeuzelijsten, groepen keuzerondjes en groepen selectievakjes, hebben de volgende HTML-structuur:
code language-html |
---|
|
- Klassen: het div-element heeft verschillende klassen voor het aanwijzen van specifieke elementen en opmaak. U hebt de klassen
{Type}-wrapper
offield-{Name}
nodig om een CSS-kiezer te ontwikkelen waarmee u een formulierveld kunt opmaken: - {Type}: identificeert de component op veldtype. Bijvoorbeeld tekst (tekstomloop), getal (nummeromloop), datum (datumomloop).
- {Name}: identificeert de component op naam. De naam van het veld mag alleen alfanumerieke tekens bevatten, de opeenvolgende streepjes in de naam worden vervangen door één streepje
(-)
en de begin- en eindstreepjes in een veldnaam worden verwijderd. Voornaam (veld-voornaam veld-wrapper). - {FieldId}: het is een unieke id voor het veld, die automatisch wordt gegenereerd.
- {Required}: een Booleaanse waarde die aangeeft of het veld verplicht is.
- Label: het element
label
verschaft een beschrijvende tekst voor het veld en koppelt deze aan het invoerelement met behulp van het kenmerkfor
. - Invoer: het element
input
definieert het type gegevens dat moet worden ingevoerd. Bijvoorbeeld tekst, nummer, e-mail. - Beschrijving (optioneel): De
div
with classfield-description
biedt extra informatie of instructies voor de gebruiker.
Voorbeeld van de Structuur van HTML
code language-html |
---|
|
code language-css |
---|
|
.{Type}-wrapper
: richt het buitenstediv
-element op basis van het veldtype..text-wrapper
richt bijvoorbeeld alle tekst op velden..field-{Name}
: hiermee selecteert u het element verder op basis van de specifieke veldnaam..field-first-name
verwijst bijvoorbeeld naar het tekstveld Voornaam. Terwijl deze selecteur voor het richten van elementen met de gebied {Name} klasse kan worden gebruikt, is het belangrijk om voorzichtig te zijn. In dit specifieke geval zou het niet nuttig zijn voor het opmaken van invoervelden omdat het niet alleen de invoer zelf, maar ook de label- en beschrijvingselementen betreft. Het is raadzaam specifiekere kiezers te gebruiken, zoals de kiezers die u hebt voor tekstinvoervelden (.text-wrapper input).
CSS van het Voorbeeld Selectors voor Algemene Componenten
code language-css |
---|
|
Onderdeeltje
Voor vervolgkeuzemenu's wordt het element select
gebruikt in plaats van het element input
:
code language-html |
---|
|
de Structuur van HTML van het Voorbeeld
code language-html |
---|
|
In de volgende CSS-code worden enkele voorbeelden van CSS-kiezers voor vervolgkeuzecomponenten weergegeven.
code language-css |
---|
|
- Richt op Wrapper: De eerste selecteur (
.drop-down-wrapper
) richt het buitenomslagelement, die ervoor zorgt dat de stijlen op de volledige dropdown component van toepassing zijn. - Flexbox Layout: in Flexbox worden het label, de vervolgkeuzelijst en de beschrijving verticaal gerangschikt voor een zuivere lay-out.
- Labelstijlen: het label wordt weergegeven met een grotere tekendikte en een kleine marge.
- Vervolgkeuzestijl: het element
select
ontvangt een rand, opvulling en afgeronde hoeken voor een gepolijst uiterlijk. - Achtergrondkleur: er is een consistente achtergrondkleur ingesteld voor visuele harmonie.
- Pijl-aanpassing: optionele stijlen verbergen de standaardvervolgkeuzepijl en maken een aangepaste pijl met een Unicode-teken en -positie.
Keuzerondjes
Keuzerondjes hebben een eigen HTML-structuur en CSS-structuur, net als vervolgkeuzecomponenten:
code language-html |
---|
|
de Structuur van HTML van het Voorbeeld
code language-html |
---|
|
- Doelstelling van de veldset
code language-css |
---|
|
Deze kiezer richt zich op elk veld dat met de klasse Radio-group-wrapper is ingesteld. Dit is handig als u algemene stijlen wilt toepassen op de hele groep keuzerondjes.
- Labels voor keuzerondjes als doel instellen
code language-css |
---|
|
- Alle keuzerondjes in een specifieke veldset op basis van de naam ervan als doel instellen
code language-css |
---|
|
Selectievakjesgroepen
code language-html |
---|
|
de Structuur van HTML van het Voorbeeld
code language-html |
---|
|
- De buitenomloop instellen: deze kiezers richten zich op de buitenste containers van groepen keuzerondjes en selectievakjes, zodat u algemene stijlen kunt toepassen op de volledige groepsstructuur. Dit is handig voor het instellen van spatiëring, uitlijning of andere aan de layout gerelateerde eigenschappen.
code language-css |
---|
|
- Doelgroeplabels: deze kiezer richt zich op het
.field-label
-element binnen zowel de groepsomvattende items voor keuzerondjes als voor selectievakjes. Hierdoor kunt u de labels specifiek voor deze groepen opmaken, waardoor deze beter opvallen.
code language-css |
---|
|
- Afzonderlijke invoer en labels als doel instellen: deze kiezers bieden meer korrelige controle over afzonderlijke keuzerondjes, selectievakjes en de bijbehorende labels. U kunt deze stijlen gebruiken om het formaat, de spatiëring of de verschillende visuele stijlen aan te passen.
code language-css |
---|
|
- De weergave van keuzerondjes en selectievakjes aanpassen: hiermee wordt de standaardinvoer verborgen en worden
:before
en:after
pseudo-elementen gebruikt om aangepaste visuele elementen te maken die de weergave wijzigen op basis van de status 'checked'.
code language-css |
---|
|
Deelvenster/Containercomponenten
code language-html |
---|
|
de Structuur van HTML van het Voorbeeld
code language-html |
---|
|
-
Het veldsetelement fungeert als de deelvenstercontainer met de klassepaneel-wrapper en aanvullende klassen voor opmaak op basis van de naam van het deelvenster (veldaanmelding).
-
Het element legenda (
) fungeert als de titel van het deelvenster met de tekst "Aanmeldingsgegevens" en de veldlabel voor de klasse. Het attribuut data-visible="false" kan met JavaScript worden gebruikt om de zichtbaarheid van de titel te regelen.
-
Binnen de veldset, meerdere.{Type} -wrapper-elementen (.text-wrapper en .password-wrapper in dit geval) vertegenwoordigen afzonderlijke formuliervelden in het deelvenster.
-
Elke omslag bevat een etiket, een inputgebied, en een beschrijving, gelijkend op de vorige voorbeelden.
- Doelstelling voor deelvenster:
code language-css |
---|
|
- De kiezer van
.panel-wrapper
maakt alle elementen met de omloop van het klassepaneel, zodat alle deelvensters er consistent uitzien.
- Richting geven aan de titel van het deelvenster:
code language-css |
---|
|
- De kiezer van
.panel-wrapper legend
maakt een stijl van het legenda-element in het deelvenster, zodat de titel visueel opvalt.
- Afzonderlijke velden aanwijzen in het deelvenster:
code language-css |
---|
|
- De
.panel-wrapper .{Type}-wrapper
-kiezer richt zich op alle omslagen met de.{Type}-wrapper
-klasse in het deelvenster, zodat u de ruimte tussen formuliervelden kunt opmaken.
- Specifieke velden instellen (optioneel):
code language-css |
---|
|
- Met deze optionele kiezers kunt u specifieke veldwrappers in het deelvenster gebruiken voor unieke opmaak, zoals het markeren van het veld gebruikersnaam.
Herhalbaar deelvenster
code language-html |
---|
|
de Structuur van HTML van het Voorbeeld
code language-html |
---|
|
Elk deelvenster heeft dezelfde structuur als het voorbeeld van één deelvenster, met extra kenmerken:
-
data-herhaalable="true": dit kenmerk geeft aan dat het deelvenster dynamisch kan worden herhaald met JavaScript of een framework.
-
Unieke IDs en namen: Elk element binnen het paneel heeft een unieke identiteitskaart (bijvoorbeeld, naam-1, e-mail-1) en naamattributen die op de index van het paneel (bijvoorbeeld, name= "contacten [ 0 ].name") worden gebaseerd. Op deze manier kunnen de gegevens correct worden verzameld wanneer meerdere deelvensters worden verzonden.
- Alle herhalende deelvensters als doel instellen:
code language-css |
---|
|
De kiezer maakt stijlen van alle deelvensters die kunnen worden herhaald, zodat de vormgeving consistent blijft.
- Afzonderlijke velden in een deelvenster aanwijzen:
code language-css |
---|
|
Met deze kiezer worden alle veldomlooptekens binnen een herhaalbaar deelvenster geplaatst, waarbij een consistente afstand tussen velden behouden blijft.
- Specifieke velden activeren (binnen een deelvenster):
code language-css |
---|
|
Bestandsbijlage
code language-html |
---|
|
de Structuur van HTML van het Voorbeeld
code language-html |
---|
|
- Het klassenkenmerk gebruikt de opgegeven naam voor de bestandsbijlage (claim_form).
- De id- en naamkenmerken van het invoerelement komen overeen met de naam van de bestandsbijlage (claim_form).
- De sectie voor de bestandenlijst is aanvankelijk leeg. Deze wordt dynamisch gevuld met JavaScript wanneer bestanden worden geüpload.
- De volledige component Bestandsbijlage als doel instellen:
code language-css |
---|
|
Met deze kiezer wordt de gehele bestandsbijlage geschaald, inclusief de legenda, het sleepgebied, het invoerveld en de lijst.
- Specifieke elementen:
code language-css |
---|
|
Met deze kiezers kunt u verschillende onderdelen van de bestandsbijlage afzonderlijk opmaken. U kunt de stijlen aanpassen aan uw ontwerpvoorkeuren.
Stijlcomponenten
U kunt formuliervelden opmaken op basis van het specifieke type ({Type}-wrapper
) of de afzonderlijke namen (field-{Name}
). Hierdoor kunt u de weergave van het formulier korter beheren en aanpassen.
Stijlen op basis van veldtype
U kunt CSS-kiezers gebruiken om specifieke veldtypen als doel in te stellen en stijlen consistent toe te passen.
code language-html |
---|
|
de Structuur van HTML van het Voorbeeld
code language-html |
---|
|
-
Elk veld wordt opgenomen in een element
div
met verschillende klassen:{Type}-wrapper
- Hiermee wordt het type veld aangegeven. Bijvoorbeeldform-text-wrapper
,form-number-wrapper
,form-email-wrapper
.field-{Name}
- Identificeert het veld met de naam. Bijvoorbeeldform-name
,form-age
,form-email
.field-wrapper
: Een algemene klasse voor alle veldwrappers.
-
Het kenmerk
data-required
geeft aan of het veld verplicht of optioneel is. -
Elk veld heeft een overeenkomstig label, invoerelement en mogelijke aanvullende elementen, zoals plaatsaanduidingen en beschrijvingen.
code language-css |
---|
|
Stijlen op basis van veldnaam
U kunt afzonderlijke velden ook op naam als doel instellen om unieke stijlen toe te passen.
code language-html |
---|
|
de Structuur van HTML van het Voorbeeld
code language-html |
---|
|
code language-css |
---|
|
Deze CSS richt zich op alle inputelementen die binnen een element worden gevestigd dat de klasse field-otp
heeft. De HTML-structuur van uw formulier volgt de conventies van het Adaptive Forms Block. Dit houdt in dat er een container is gemarkeerd met de klasse "field-otp" die het veld bevat met de naam "otp".
Zie ook
{{universal-editor-see-also}}