What is W3 modal?

W3.CSS Modals: Enkel og Effektiv Popup

20/05/2022

Rating: 4.84 (15817 votes)
Indholdsfortegnelse

Introduktion til W3.CSS Modals

I moderne webdesign er interaktive elementer afgørende for at engagere brugerne. En af de mest almindelige og effektive måder at præsentere information på er gennem modals, også kendt som popup-vinduer. Modals er dialogbokse, der vises oven på det aktuelle indhold, og de bruges ofte til at vise vigtige meddelelser, formularer, billeder eller yderligere detaljer uden at forlade den nuværende side. W3.CSS, et populært CSS-framework, tilbyder en enkel og elegant løsning til at implementere modals med dets indbyggede klasser.

How to set modal width based on a class name?
If you only want it to be set for specific modal dialog, use your own catchy class name as modal-800 whose width is set to 800px, as following: HTML CSS width: 800px; margin: 30px auto; Likewise, you can have class name as based on the width size like modal-700 whose width is 700px.

Denne artikel vil guide dig igennem processen med at skabe og tilpasse modals ved hjælp af W3.CSS. Vi vil dække alt fra de grundlæggende klasser til mere avancerede teknikker som animationer, billedgallerier og formularer. Uanset om du er nybegynder eller en erfaren webudvikler, vil du finde værdifuld information her for at forbedre dine webprojekter.

Hvad er en Modal?

En modal er grundlæggende et vindue, der vises oven på en webside. Det er designet til at fange brugerens opmærksomhed og kræve en interaktion, før brugeren kan fortsætte med at bruge den underliggende side. Typiske anvendelser af modals inkluderer:

  • Visning af login- eller registreringsformularer.
  • Præsentation af vigtige advarsler eller bekræftelsesmeddelelser.
  • Visning af billeder i fuld størrelse eller billedgallerier.
  • Indsamling af brugerfeedback eller korte input.
  • Fremvisning af yderligere information eller detaljer.

W3.CSS forenkler oprettelsen af modals ved at tilbyde et sæt foruddefinerede klasser, der styrer udseendet og adfærden af disse elementer. Dette sparer tid og sikrer et konsistent design på tværs af din hjemmeside.

Grundlæggende Struktur med W3.CSS

W3.CSS tilbyder to primære klasser til at oprette en modal:

  • .w3-modal: Denne klasse definerer selve modal-containeren. Den dækker hele skærmen og giver en baggrund, som ofte er let gennemsigtig, for at isolere modalindholdet fra resten af siden.
  • .w3-modal-content: Denne klasse definerer indholdsområdet inden for modalet. Det er her, du placerer al den HTML, du ønsker at vise, såsom tekst, billeder, formularer osv.

Oprettelse af en Simpel Modal

Lad os se på et grundlæggende eksempel på, hvordan man opretter en modal. For at åbne en modal skal vi bruge JavaScript til at ændre dens visningsegenskab. Typisk vil en knap eller et link udløse denne handling.

<!-- Udløser/Åbner Modal --><button onclick="document.getElementById('id01').style.display='block'" class="w3-button w3-black">Åbn Modal</button><!-- The Modal --><div id="id01" class="w3-modal"> <div class="w3-modal-content"> <div class="w3-container"> <span onclick="document.getElementById('id01').style.display='none'" class="w3-button w3-display-topright">×</span> <p>Dette er indholdet af modalet.</p> <p>Mere tekst her...</p> </div> </div></div>

I dette eksempel:

  • En knap med `onclick` attributten bruges til at sætte modalens `display` egenskab til 'block', hvilket gør den synlig.
  • Modalet er en <div> med id="id01" og klassen w3-modal.
  • Inden i modal-containeren er der en <div> med klassen w3-modal-content, der indeholder selve indholdet.
  • En <span> med klassen w3-button w3-display-topright og tegnet × (HTML-entitet for 'x') bruges som en lukke-knap. Dens `onclick` attribut sætter modalens `display` til 'none'.

Lukning af Modal

Ud over den dedikerede lukke-knap, giver W3.CSS os også mulighed for at lukke et modal ved at klikke uden for selve modal-indholdet. Dette forbedrer brugeroplevelsen betydeligt.

For at implementere denne funktionalitet kan du tilføje en `onclick` event listener til selve .w3-modal containeren, der tjekker, om det klikkede element er modal-containeren selv. Hvis det er tilfældet, lukkes modalet.

What is W3 modal?
The w3-modal class defines a container for a modal. The w3-modal-content class defines the modal content. Modal content can be any HTML element (divs, headings, paragraphs, images, etc.). Use any HTML element to open the modal. However, this is often a button or a link.
<div id="id01" class="w3-modal" onclick="this.style.display='none'"> <div class="w3-modal-content" onclick="event.stopPropagation();"> <!-- Modal indhold her --> </div></div>

Ved at tilføje onclick="event.stopPropagation();" til .w3-modal-content sikrer vi, at et klik inde i selve indholdet ikke udløser lukke-mekanismen på den ydre container.

Tilpasning af Modals

W3.CSS giver fleksibilitet til at tilpasse modals, så de passer til dit websites design. Dette inkluderer at tilføje headers, footers og endda anvende animationer.

Modal Header og Footer

Du kan nemt oprette separate sektioner for header og footer i din modal ved at bruge .w3-container klassen. Dette hjælper med at organisere indholdet og give en klar visuel struktur.

<div id="id02" class="w3-modal"> <div class="w3-modal-content w3-card-4"> <header class="w3-container w3-blue"> <span onclick="document.getElementById('id02').style.display='none'" class="w3-button w3-display-topright">×</span> <h2>Modal Header</h2> </header> <div class="w3-container"> <p>Dette er et eksempel med en header og en footer.</p> <p>Indholdet kan være hvad som helst.</p> </div> <footer class="w3-container w3-blue"> <p>Modal Footer</p> </footer> </div></div><button onclick="document.getElementById('id02').style.display='block'" class="w3-button">Åbn Modal med Header/Footer</button>

Modal som et Kort

For at give din modal et mere poleret udseende kan du anvende W3.CSS' kortklasser, såsom .w3-card-4, direkte på .w3-modal-content. Dette tilføjer en skyggeeffekt og afrundede hjørner, der får modalet til at se ud som et dedikeret kort.

Animerede Modals

W3.CSS gør det nemt at tilføje animationer til dine modals, hvilket kan forbedre brugeroplevelsen markant. Du kan få modals til at glide ind fra forskellige retninger eller tone ind og ud.

Brug følgende klasser på .w3-modal elementet for at animere modals:

  • .w3-animate-zoom: Zoomer ind på modalet.
  • .w3-animate-top: Giver modalet en animation, der glider ind fra toppen.
  • .w3-animate-bottom: Giver modalet en animation, der glider ind fra bunden.
  • .w3-animate-left: Giver modalet en animation, der glider ind fra venstre.
  • .w3-animate-right: Giver modalet en animation, der glider ind fra højre.
  • .w3-animate-opacity: Toner baggrundsfarven på modalet ind.

Eksempel med animation:

<div id="id03" class="w3-modal w3-animate-zoom"> <div class="w3-modal-content w3-card-4"> <header class="w3-container w3-teal"> <span onclick="document.getElementById('id03').style.display='none'" class="w3-button w3-display-topright">×</span> <h2>Animeret Modal</h2> </header> <div class="w3-container"> <p>Denne modal animerer ind med zoom.</p> </div> </div></div><button onclick="document.getElementById('id03').style.display='block'" class="w3-button">Åbn Animeret Modal</button>

Avancerede Anvendelser

Modal Billedgalleri

Modals er ideelle til at vise billeder i fuld størrelse eller til at oprette billedgallerier. Du kan bruge JavaScript til at håndtere billedvisningen.

What is a popup in Mobiscroll?
The popup provides a frame for all your pop-over needs able to render custom content, forms or combined views. Use it for contextual pop-ups, data-entry or to inform users in a consistent way with all other Mobiscroll component. Popup demos available for other frameworks. Use the popup popup with or without return value.

Her er et eksempel på et simpelt modal billedgalleri:

<div class="w3-row-padding"> <div class="w3-col s4"> <img src="img_nature.jpg" style="width:100%" onclick="onClick(this)" alt="Natur billede 1"> </div> <div class="w3-col s4"> <img src="img_snow.jpg" style="width:100%" onclick="onClick(this)" alt="Sne billede"> </div> <div class="w3-col s4"> <img src="img_mountains.jpg" style="width:100%" onclick="onClick(this)" alt="Bjerge billede"> </div></div><!-- The Modal for foto --><div id="modal01" class="w3-modal" onclick="this.style.display='none'"> <img class="w3-modal-content" id="img01" src="" alt="Modal billede"></div><script>function onClick(element) { document.getElementById("img01").src = element.src; document.getElementById("modal01").style.display = "block"; } </script>

I dette script:

  • onClick(element) funktionen tager det klikkede billedes src og sætter det som src for billedet inde i modalet (#img01).
  • Modalet (#modal01) sættes til at blive vist.
  • Et klik uden for modal-billedet lukker det.

Modal Login Formular

Modals er et populært valg til login- eller registreringsformularer, da de kan præsenteres uden at afbryde brugerens flow markant.

<div id="id04" class="w3-modal"> <form class="w3-modal-content w3-card-4" action="/action_page.php"> <div class="w3-container w3-red"> <span onclick="document.getElementById('id04').style.display='none'" class="w3-button w3-display-topright">×</span> <h2>Login</h2> </div> <div class="w3-container"> <p> <label>Brugernavn</label> <input class="w3-input" type="text" placeholder="Indtast brugernavn" name="uname"> </p> <p> <label>Adgangskode</label> <input class="w3-input" type="password" placeholder="Indtast adgangskode" name="psw"> </p> <p> <input class="w3-check" type="checkbox" name="remember" checked> <label>Husk mig</label> </p> <p class="w3-center"> <button class="w3-button w3-green" type="submit">Login</button> </p> </div> <footer class="w3-container w3-red w3-padding-16 w3-center"> <p>Har du glemt din adgangskode?</p> <button class="w3-button w3-red" type="button" onclick="document.getElementById('id04').style.display='none'">Annuller</button> </footer> </div></div><button onclick="document.getElementById('id04').style.display='block'" class="w3-button">Åbn Login Modal</button>

Modal med Tabbed Indhold

Du kan også inkludere mere komplekst indhold, såsom faner, inde i dine modals. Dette kræver typisk yderligere HTML-struktur og CSS-styling, men W3.CSS giver de grundlæggende byggeklodser.

Tilpasning af Bredde

Selvom W3.CSS giver en standard bredde til modals, kan du nemt tilpasse dette. I andre frameworks som Bootstrap er standardbredden ofte 600px. For at ændre bredden i W3.CSS, eller generelt, kan du definere dine egne CSS-regler.

Hvis du vil ændre bredden for alle modals, kan du tilføje en brugerdefineret regel:

.w3-modal-content { width: 800px; /* Eller en hvilken som helst ønsket bredde */ margin: 30px auto; /* Centrerer modalet */ } 

For at anvende en specifik bredde på en bestemt modal, er det bedst at oprette en unik klasse:

<div class="w3-modal-content modal-width-800"> ... </div>
.modal-width-800 { width: 800px; } 

Tilgængelighed og Tastaturkontrol

Mens W3.CSS-modals er nemme at implementere, er det vigtigt at overveje tilgængelighed. For en optimal brugeroplevelse, især for brugere med handicap, bør modals:

  • Kunne åbnes og lukkes ved hjælp af tastaturet (f.eks. ESC-tasten).
  • Fange tastaturfokus, så brugeren ikke kan interagere med baggrundssiden, når modalet er åbent.

Implementeringen af disse funktioner kræver typisk mere avanceret JavaScript, herunder brug af useEffect hooks i frameworks som React til at håndtere event listeners og fokusstyring. Selvom W3.CSS ikke direkte tilbyder klasser til tastaturkontrol eller fokusfangst, kan dets HTML-struktur bruges som et fundament for sådanne JavaScript-løsninger.

Lukning med ESC-tasten (JavaScript)

For at give brugerne mulighed for at lukke modalet med ESC-tasten, kan du tilføje en event listener:

var modal = document.getElementById('id01'); // Erstat 'id01' med din modals ID window.addEventListener('keydown', function(event) { if (event.key === 'Escape' && modal.style.display === 'block') { modal.style.display = 'none'; } }); 

Konklusion

W3.CSS tilbyder en kraftfuld, men alligevel simpel, måde at integrere interaktive modals på dine websteder. Med et minimalt antal klasser kan du skabe alt fra simple popup-meddelelser til komplekse billedgallerier og login-formularer. Ved at kombinere W3.CSS's styling med lidt JavaScript kan du opnå dynamiske og brugervenlige modals, der forbedrer din hjemmesides funktionalitet og æstetik. Husk altid at overveje tilgængelighed og at teste dine modals grundigt på tværs af forskellige enheder og browsere.

Hvis du vil læse andre artikler, der ligner W3.CSS Modals: Enkel og Effektiv Popup, kan du besøge kategorien Teknologi.

Go up