What is a form-inline class?

Skab Responsive Formularer med CSS: Din Ultimative Guide

24/01/2026

Rating: 4.94 (5878 votes)

I dagens digitale verden, hvor brugere tilgår websites fra et utal af enheder – lige fra store desktop-skærme til små smartphones – er det afgørende, at din hjemmesides elementer tilpasser sig dynamisk. Formularer er ofte det primære interaktionspunkt mellem brugeren og din hjemmeside, hvad enten det er en kontaktformular, et login-felt eller en tilmeldingsformular. At have en responsiv formular er ikke længere et 'nice-to-have', men et absolut 'must-have' for at sikre en optimal brugeroplevelse og undgå frustrerede besøgende. Denne artikel vil guide dig igennem processen med at skabe responsive formularer udelukkende med CSS, samt introducere populære frameworks som Bootstrap, der kan accelerere processen.

How to create a responsive form with CSS?
Learn how to create a responsive form with CSS. Resize the browser window to see the effect (the labels and inputs will stack on top of each other instead of next to each other on smaller screens): Try it Yourself » Use a element to process the input. You can learn more about this in our PHP tutorial.
Indholdsfortegnelse

Hvad er en Responsiv Formular?

En responsiv formular er en webformular, der automatisk justerer sit layout og sin præsentation baseret på den skærmstørrelse og enhed, den vises på. Målet er at sikre, at formularen altid ser god ud og er nem at bruge, uanset om den ses på en stor computerskærm, en tablet i liggende tilstand eller en smartphone i stående tilstand. For eksempel vil etiketter og inputfelter, der ligger side om side på en bred skærm, stable sig oven på hinanden på mindre skærme for at forbedre læsbarheden og brugervenligheden.

Grundlæggende CSS for Responsive Formularer

Lad os dykke ned i, hvordan du kan opbygge en responsiv formular med standard CSS. Kernen i denne tilgang ligger i brugen af float-egenskaben og især medieforespørgsler til at ændre layoutet ved specifikke skærmstørrelser.

Styling af Inputfelter, Vælgere og Tekstområder

For at sikre, at dine inputfelter, vælgere (dropdowns) og tekstområder udfylder den tilgængelige bredde og har en ensartet stil, kan du anvende følgende CSS:

input[type=text], select, textarea {
width: 100%; /* Sørger for, at elementerne fylder 100% af deres forælder-bredde */
padding: 12px; /* Tilføjer indre afstand for bedre læsbarhed */
border: 1px solid #ccc; /* En tynd, lysegrå kant */
border-radius: 4px; /* Afrundede hjørner for et blødere udseende */
box-sizing: border-box; /* Sikrer, at padding og border inkluderes i elementets samlede bredde */
resize: vertical; /* Tillader lodret ændring af størrelse for tekstområder */
}

Denne generelle styling giver en god basis for alle dine tekstbaserede inputfelter og sikrer, at de tilpasser sig deres container.

Styling af Etiketter (Labels)

Etiketter er vigtige for at give brugeren kontekst til inputfelterne. For at få etiketterne til at vises ved siden af inputfelterne på større skærme, kan du style dem således:

label {
padding: 12px 12px 12px 0; /* Top, højre, bund, venstre padding */
display: inline-block; /* Gør etiketterne til inline-blokke for at tillade bredde og margin */
}

display: inline-block; er nøglen her, da det giver os mere kontrol over deres dimensioner og placering sammenlignet med standard inline elementer.

Styling af Indsend-knappen (Submit Button)

Indsend-knappen skal være tydelig og nem at klikke på. Her er et eksempel på grundlæggende styling:

input[type=submit] {
background-color: #04AA6D; /* En grøn baggrund for synlighed */
color: white; /* Hvid tekstfarve */
padding: 12px 20px; /* Indre afstand */
border: none; /* Ingen kant */
border-radius: 4px; /* Afrundede hjørner */
cursor: pointer; /* Ændrer markøren til en hånd, når den holdes over knappen */
float: right; /* Placerer knappen til højre */
}

Brugen af float: right; placerer knappen i højre side af dens container, hvilket er en almindelig praksis i formularer.

Styling af Formularens Beholder (Container)

Det er god praksis at indkapsle din formular i en beholder for at give den en visuel afgrænsning og baggrund. Dette kan styles som følger:

.container {
border-radius: 5px; /* Afrundede hjørner for beholderen */
background-color: #f2f2f2; /* En lys grå baggrund */
padding: 20px; /* Indre afstand omkring formularens indhold */
}

Flydende Kolonner for Layout

For at opnå et layout med etiketter og inputfelter side om side på større skærme, kan du bruge flydende kolonner. Dette kræver, at du indkapsler hvert label/input-par i et div med en specifik klasse:

/* Flydende kolonne for etiketter: 25% bredde */
.col-25 {
float: left; /* Placerer elementet til venstre */
width: 25%; /* Giver det 25% af forælderens bredde */
margin-top: 6px; /* Justerer topmargin */
}

/* Flydende kolonne for inputfelter: 75% bredde */
.col-75 {
float: left; /* Placerer elementet til venstre */
width: 75%; /* Giver det 75% af forælderens bredde */
margin-top: 6px; /* Justerer topmargin */
}

Disse klasser vil sikre, at etiketten og inputfeltet deler pladsen horisontalt. Husk at wrappe hver række af label og input i et div med klassen .row.

How many CSS forms are there?
Collection of 95+ CSS Forms. All items are 100% free and open-source. The list also includes interactive css forms, step by step, and simple. 1. Wavy Login Form Cute login form with vertical wave animation 2. Pupassure Sign Up Form - Day 5 - 100 DAYS - 2020 Day five down!

Rydning af Floats

Når du bruger float, er det vigtigt at rydde dem, så det efterfølgende indhold ikke påvirkes af de flydende elementer. Dette gøres typisk med en clearfix-metode:

.row:after {
content: ""; /* Indsætter et tomt indhold */
display: table; /* Gør elementet til en tabel for at aktivere clearfix */
clear: both; /* Rydder floats på begge sider */
}

Denne CSS anvendes på den .row-klasse, der omgiver dine flydende kolonner.

Medieforespørgsler for Optimal Responsivitet

Dette er den afgørende del for at gøre din formular responsiv. Ved hjælp af en medieforespørgsel kan du ændre layoutet, når skærmbredden falder under et bestemt punkt (f.eks. 600px for mobilskærme). På mindre skærme vil etiketterne og inputfelterne stable sig oven på hinanden i stedet for at være side om side:

@media screen and (max-width: 600px) {
.col-25, .col-75, input[type=submit] {
width: 100%; /* Får kolonnerne og knappen til at fylde hele bredden */
margin-top: 0; /* Nulstiller topmargin */
}
}

Når skærmen er 600px bred eller mindre, vil .col-25 og .col-75 klasserne begge få en bredde på 100%, hvilket tvinger dem til at stable sig. Indsend-knappen vil også fylde hele bredden, hvilket forbedrer brugervenligheden på små skærme.

Brug af Frameworks: Bootstrap og Formularer

Mens den grundlæggende CSS-tilgang er effektiv, kan frameworks som Bootstrap tilbyde en hurtigere og mere omfattende løsning til at skabe responsive formularer med minimal indsats. Bootstrap leverer et rigt sæt af foruddefinerede CSS-klasser, der tager sig af det meste af det responsive design for dig.

Oversigt over Bootstrap Formular-Klasser

Bootstrap bygger på en mobil-først tilgang, hvilket betyder, at dets komponenter er designet til at fungere godt på små skærme fra starten og derefter skalere op. Deres formular-kontroller udvider standard HTML-formular-stilarter med klasser for mere konsistent rendering på tværs af browsere og enheder.

.form-control for Inputfelter

Tekstuelle formular-kontroller som <input>, <select> og <textarea> styles med klassen .form-control. Denne klasse inkluderer stilarter for generelt udseende, fokus-tilstand, størrelse og meget mere. Den giver dem også display: block og width: 100% som standard, hvilket får dem til at stable sig vertikalt.

Størrelse på Inputfelter

Du kan nemt justere højden på inputfelter ved at tilføje klasser som .form-control-lg (stor) og .form-control-sm (lille) til dit .form-control element.

How to make a form fit a cell phone screen?
Add a meta viewport tag to make the form fit the cell phone screen.The viewport is the user's visible area of a web page. The viewport varies with the device, and will be smaller on a mobile phone than on a computer screen. You can also use bootstrap grid layout. Thank you very much! It works! Btw what do you mean by bootstrap grid layout?

Læsefelter (Readonly)

Tilføj det booleske attribut readonly til et input for at forhindre ændring af dets værdi. For at style et readonly input som almindelig tekst kan du bruge klassen .form-control-plaintext, som fjerner standard formularfelt-styling og bevarer korrekt margin og padding.

Afkrydsningsfelter og Radioknapper

Bootstrap forbedrer standard afkrydsningsfelter og radioknapper med klassen .form-check. Du kan stable dem vertikalt som standard, eller gruppere dem på samme vandrette række ved at tilføje .form-check-inline til .form-check elementet. De understøtter også den deaktiverede tilstand med attributten disabled.

Formular Layouts

Bootstrap tilbyder flere layout-muligheder for formularer:

  • Form Groups (.form-group): Den nemmeste måde at tilføje struktur på. Den giver passende gruppering af etiketter, kontroller og valgfri hjælpetekst.
  • Form Grid (.row og .col-*): Til mere komplekse formularer med flere kolonner. Du kan bruge Boostraps grid-system til at opdele formularen i rækker og kolonner, der automatisk tilpasser sig skærmstørrelsen.
  • Form Row (.form-row): En variation af standard grid-rækken, der giver et strammere og mere kompakt layout ved at tilsidesætte standard kolonne-mellemrum.
  • Horisontale Formularer: Ved at tilføje .row til formgrupper og bruge .col-*-* klasser til at specificere bredden af etiketter og kontroller, kan du skabe horisontale formularer. Husk at tilføje .col-form-label til dine <label> elementer for at sikre, at de er vertikalt centreret.
  • Auto-sizing Kolonner: Brug .col-auto i kombination med flexbox-utilities til at få kolonner til kun at optage den plads, der er nødvendig for deres indhold.

Inline Formularer

Klassen .form-inline bruges til at vise en serie af etiketter, formular-kontroller og knapper på en enkelt vandret række. Kontrollerne får width: auto for at tilsidesætte Boostraps standard width: 100%, og de vises kun inline i viewports, der er mindst 576px brede for at tage højde for smalle viewports på mobile enheder.

Hjælpetekst

Blok-niveau hjælpetekst kan oprettes med .form-text (tidligere .help-block). Inline hjælpetekst kan implementeres med ethvert inline HTML-element og utility-klasser som .text-muted. Det er vigtigt at associere hjælpetekst med formular-kontrollen via aria-describedby attributten for tilgængelighed.

Deaktiverede Formularer

Tilføj disabled attributten til et input for at forhindre brugerinteraktioner. Du kan også tilføje disabled attributten til et <fieldset> element for at deaktivere alle kontroller inden for det.

Formular Validering

Bootstrap giver dig mulighed for at give værdifuld feedback til dine brugere gennem HTML5-formularvalidering. Du kan vælge mellem browserens standard valideringsfeedback eller implementere brugerdefinerede med Boostraps indbyggede klasser og JavaScript. Bootstrap anvender CSS's pseudo-klasser :invalid og :valid, ofte styret af en forælderklasse som .was-validated<form>-elementet. For server-side validering kan .is-invalid og .is-valid klasserne bruges direkte.

How to create a responsive form with CSS?
Learn how to create a responsive form with CSS. Resize the browser window to see the effect (the labels and inputs will stack on top of each other instead of next to each other on smaller screens): Try it Yourself » Use a element to process the input. You can learn more about this in our PHP tutorial.

Valideringsbeskeder kan vises som standard tekst eller som stilfulde værktøjstips ved at skifte .{valid|invalid}-feedback klasserne ud med .{valid|invalid}-tooltip.

Bedste Praksis for Mobile Formularer

Uanset om du bruger ren CSS eller et framework, er der nogle generelle bedste praksis for at sikre, at dine formularer fungerer optimalt på mobile enheder:

  • Mobil-først design: Begynd med at designe formularen til den mindste skærm og arbejd dig opad.
  • Tilstrækkelig plads: Sørg for tilstrækkelig padding og margin omkring inputfelter og knapper, så de er nemme at trykke på med en finger.
  • Stor nok tekst: Anvend læsbare skriftstørrelser for etiketter og inputtekst.
  • Korrekt input-type: Brug specifikke type attributter (f.eks. type="email", type="tel", type="number") for at aktivere relevante tastaturer på mobile enheder.
  • Viewport Meta Tag: Sørg for, at din HTML indeholder <meta name="viewport" content="width=device-width, initial-scale=1.0"> i <head>-sektionen. Dette er afgørende for, at mobile browsere renderer siden korrekt responsivt og ikke zoomer ud.
  • Minimer antal felter: Forsøg at holde formularerne så korte som muligt for at reducere friktion for mobile brugere.

Ofte Stillede Spørgsmål (FAQ)

Hvad er en responsiv formular?

En responsiv formular er en webformular, der tilpasser sit layout og sin præsentation, så den ser optimal ud og er nem at bruge på tværs af forskellige skærmstørrelser og enheder, herunder desktops, tablets og smartphones. Dette indebærer typisk, at elementer som etiketter og inputfelter kan stable sig vertikalt på mindre skærme i stedet for at ligge horisontalt.

Hvordan får jeg en formular til at passe til en mobilskærm?

For at få en formular til at passe til en mobilskærm skal du primært bruge CSS medieforespørgsler. Disse tillader dig at anvende forskellige stilarter, når skærmbredden falder under en bestemt tærskel (f.eks. @media screen and (max-width: 600px)). Inden for medieforespørgslen skal du sætte bredden af dine kolonne-elementer (f.eks. .col-25 og .col-75) til 100%, så de stables. Brug af frameworks som Bootstrap med dets responsive grid-system er også en yderst effektiv metode, da de håndterer meget af responsiviteten automatisk.

Hvor mange CSS-formularer er der?

Der er ikke et fast "antal" CSS-formularer i den forstand, at der findes en begrænset samling af dem. I stedet er der utallige måder at style formularer på ved hjælp af CSS. Hver formular kan designes unikt med forskellige stilarter, layouts og interaktionsmønstre. Du kan bygge en formular fra bunden med ren CSS, eller du kan anvende CSS-frameworks og biblioteker som Bootstrap, Materialize CSS eller Tailwind CSS, som tilbyder foruddefinerede stilarter og komponenter. Antallet af mulige designs og implementeringer er principielt uendeligt, kun begrænset af din kreativitet og CSS-færdigheder.

Hvad er en form-inline klasse?

En form-inline klasse er en Bootstrap-specifik CSS-klasse, der bruges til at arrangere formular-etiketter, inputfelter og knapper på en enkelt vandret række. Den ændrer standardopførslen af formular-kontroller (som normalt ville optage 100% bredde og stable vertikalt) ved at give dem width: auto og bruge flexbox-egenskaber for justering. Det er vigtigt at bemærke, at form-inline kun gælder i viewports, der er mindst 576px brede, for at sikre en god brugeroplevelse på mindre mobile skærme, hvor elementerne igen vil stable sig.

Konklusion

At skabe responsive formularer er en essentiel færdighed for enhver webudvikler. Uanset om du vælger at implementere dem med ren CSS og medieforespørgsler eller udnytter kraften i et framework som Bootstrap, er målet det samme: at levere en problemfri og intuitiv brugeroplevelse på tværs af alle enheder. Ved at følge de principper og eksempler, der er beskrevet i denne guide, er du godt rustet til at designe formularer, der ikke kun ser professionelle ud, men også fungerer fejlfrit for alle dine brugere, hvilket i sidste ende forbedrer din hjemmesides funktionalitet og tiltrækningskraft.

Hvis du vil læse andre artikler, der ligner Skab Responsive Formularer med CSS: Din Ultimative Guide, kan du besøge kategorien Teknologi.

Go up