Den här guiden är en direkt fortsättning på guiden Formulär - forms » och om du vill veta mer om formulär börjar du med den guiden. Exemplen visar CSS-koden men ger inga detaljerade beskrivningar om vad koden innebär. Om du inte har grundkunskaper i CSS börjar du med guiden CSS - grunder »
Alla formulär i denna guide använder både attributen NAME och ID (trots att XHTML förordar att endast "id" ska användas). Anledningen är att "name" används av programkod som tex PHP och javascript. Om bara "id" används är risken stor att funktionerna blir felaktiga och det kan vara en bra idé att använda både "name" och "id" under en övergångsperiod .
Formulärkontrollen <INPUT> finns i olika typer och du hittar dem i guiden Formulär - forms »
Exemplet nedan är oformaterat:
HTML-koden till exemplet:
Här är samma exempel med CSS-formatering:
HTML-Koden till exemplet:
CSS-Koden till exemplet:
@charset "utf-8";
#formular {
width: 600px;
border: 5px solid rgba(234,234,234,1.00);
border-radius: 10px;
background-color: rgba(225,225,225,1.00);
padding: 20px;
font-size: 16px;
}
#formular input[type=text],
#formular input[type=email] {
width: 100%;
padding: 10px 5px 10px 10px;
margin: 5px 0 15px 0;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
font-size: 18px;
}
#formular input[type=submit] {
width: 100%;
background-color: rgba(42,90,157,1.00);
color: rgba(255,255,255,1.00);
padding: 15px 20px;
margin: 10px 0;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 18px;
}
#formular input[type=submit]:hover {
background-color: rgba(101,151,222,1.00);
}
/* MOBILTELEFON och SMARTPHONE (portrait/stående) */
@media only screen and (max-width: 768px){
#formular {
width: 90%;
}
}
Observera att formateringen i exemplet är begränsad att till gälla för formulär med ID #formular och formateringen anges för #formular input[type=text]
Om du bara har ett formulär behöver du inte referera till formulärets ID och det räcker då att ange formateringen för input[type=text]
Notera att formuläret är responsivt och använder:
@media only screen and (max-width: 768px)
Läs mer om responsiv CSS i guiden Responsive layout »
Om du vill att textmarkören ska placeras i ett fält när sidan laddas in kan du använda AUTOFOCUS i ett av fälten - se exempel här »
Med CSS kan du tilldela aktivt fält fokus. I exemplet nedan används pseudo-classen :focus som tilldelar fältet egenskaper när markören flyttas mellan fälten.
Klicka in markören och flytta med TABB för att se fokus:
CSS-koden för att tilldela kontrollerna input[type=text] och input[type=email] fokus:
CSS-koden för att tilldela alla input fokus:
Formulärkontrollen TEXTAREA (fältet för meddelande) kan ha i flera fall dela samma format som övriga INPUT. Men i detta exempel gäller höjden gäller bara för detta fält. I exemplet är höjden 200px:
HTML-koden:
Om du har flera TEXTAREA i samma formulär så kan du ange olika ID för dem om du vill ha olika formatering. I exemplet nedan formateras alla textarea.
CSS-koden:
Observera att formateringen i exemplet är begränsad att till gälla för formulär med ID "formular" med #formular textarea
Du kan ange endast textarea om formateringen det ska gälla TEXTAREA i alla formulär.
Formulärkontrollen SELECT har begränsade möjligheter när det gäller formatering och du kan aldrig vara säker på att ditt valda format visas korrekt då utseendet varierar i olika webbläsare.
Här är ett exempel där SELECT används i samma formulär FORM som tidigare exempel ovan:
HTML-koden:
Om du har flera SELECT i samma formulär så kan du ange olika ID för dem om du vill ha olika formatering. I exemplet nedan formateras alla SELECT.
CSS-koden:
#formular {
width: 600px;
border: 5px solid rgba(234,234,234,1.00);
border-radius: 10px;
background-color: rgba(225,225,225,1.00);
padding: 20px;
font-family: "Roboto", "Lucida Grande", "Lucida Sans Unicode", Helvetica, sans-serif;
font-size: 16px;
}
#formular select {
width: 100%;
padding: 16px 20px;
border: none;
border-radius: 5px;
background-color: rgba(242,242,242,1.00);
font-size: 16px;
}
Observera att formateringen i exemplet är begränsad att till gälla för formulär med ID #formular och formateringen anges för #formular select
Om du bara har ett formulär behöver du inte referera till formulärets ID och det räcker då att ange formateringen för select
Notera att formuläret är responsivt och använder:
@media only screen and (max-width: 768px)
Läs mer om responsiv CSS i guiden Responsive layout »
Knappar finns av typen SUBMIT, RESET och BUTTON:
<input type="submit"> Skickar innehållet i ett formulär
<input type="reset"> Återställer innehållet i ett formulär
<input type="button"> Klickbar knapp som används i tex Javascript
Här är ett exempel där knapparna används i samma formulär FORM som tidigare exempel ovan:
HTML-koden:
CSS-koden:
#formular input[type=text],
#formular input[type=email] {
width: 100%;
padding: 10px 5px 10px 10px;
margin: 5px 0 15px 0;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
font-size: 18px;
}
#formular input[type=text]:focus,
#formular input[type=email]:focus {
background-color: rgba(254,255,226,1.00);
}
#formular input[type=submit] {
width: 80%;
background-color: rgba(42,90,157,1.00);
color: rgba(255,255,255,1.00);
padding: 15px 20px;
margin: 10px 0;
border: none;
border-radius: 4px;
cursor: pointer;
box-sizing: border-box;
font-size: 18px;
}
#formular input[type=reset] {
width: 18%;
background-color: rgba(95,95,95,1.00);
color: rgba(255,255,255,1.00);
padding: 15px 20px;
margin: 10px 0;
border: none;
border-radius: 4px;
cursor: pointer;
box-sizing: border-box;
font-size: 18px;
}
#formular input[type=submit]:hover,
#formular input[type=reset]:hover {
background-color: rgba(101,151,222,1.00);
}
Observera att formateringen i exemplet är begränsad att till gälla för formulär med ID #formular och formateringen anges för #formular input[type=submit]
Om du bara har ett formulär behöver du inte referera till formulärets ID och det räcker då att ange formateringen för input[type=submit]
Notera att formuläret är responsivt och använder:
@media only screen and (max-width: 768px)
Läs mer om responsiv CSS i guiden Responsive layout »