Forms stylen ? of invullen
Stylen van input enzo.
Formulieren invullen, wie heeft het nog nooit gedaan.
De ene al wat meer als den anderen.
Het enigste wat ze bijna allemaal gemeen hebben is het uitzicht, daarom heb ik eens een beetje ge-experimenteerd.
Als je het toepast kom niet klagen als je opeens veel mails krijgt via je website, want het formulier gaat schreeuwen om ingevuld te worden.
Invulformulieren zijn nuttig (soms) en waarom ophouden met het gebruik van Css als je ook deze elementen kunt aanpassen, zodat je invulformulier als het ware shreeuwt om ingevuld te worden. Standaard ziet het er toch niet uit.
Dus waarom geen kleuren toevoegen, andere lettertypes, hover effecten (niet bij IE) ?
De ongebakken form
Invulformulier structuur.
En zoals het hoort gaan we ook even de daartoe voorziene elementen gebruiken
<fieldset>
<legend>Mijn formulier.</legend>
<form action="verwerking.php">
<label for="naam">Naam</label>
<input type="text" id="naam" /><br />
<label for="e-mail">E-mail</label>
<input type="text" id="e-mail" /><br />
<input type="submit" value="Versturen" />
</form>
</fieldset>
Dus als je een standaard formulier wenst te zien, ik hou je niet tegen om het grijze smakeloze voorbeeld te bekijken, zonder opmaak.
Html klaarmaken voor gebruik.
Positionering van de velden
Zoals iedereen gebruikte ik ook tabellen om formulieren te positioneren (het was toch zooo gemakkelijk), deze tijd is voorbij, tabellen dienen voor data en niet voor opmaak van elementen.
Met Css is dit evengoed te doen, en beter en mooier, dus gaan we eerst eens onze structuur voorzien van class.
<fieldset>
<legend>Mijn formulier.</legend>
<form action="verwerking.php">
<label for="naam">Naam</label>
<input type="text" id="naam" class=”invulveld” /><br />
<label for=”e-mail”>E-mail</label>
<input type=”text” id=”e-mail” class=”invulveld” /><br />
<input type=”submit” value=”Versturen” class=”knop” />
</form>
</fieldset>
De velden input type tekst voor naam en email zijn voorzien van dezelfde class "invulveld", en de input type knop met class "knop". Dus nu kunnen we de CSS aanspreken hiervoor.
Positioneren met Css
Voor een perfecte uitlijning gebruiken we volgende regels:
label {
width: 4em;
float: left;
text-align: right;
margin: 0 1em 10px 0;
clear: both;
}
.invulveld {
margin-bottom: 10px;
}
.knop {
margin-left: 6em;
clear: both;
}
Je vraagt je wellicht af waarom er een em waarde gebruikt wordt voor de width te bepalen ?, ahwel als een gebruiker zijn tekst instellingen aanpast naar een groter lettertype, dan verandert het invoerveld mee naargelang de ingestelde lettergrootte.
Voorbeeld tot zover kan je hier bekijken, nog steeds zeer grijs en standaard.
Kleuren toevoegen
Nu een beetje kleur inbrengen en het saaie is ervan af:
fieldset {
border: #26a solid 1px;
width: 20em
}
legend{
background: #fb0;
border: #26a solid 1px;
padding: 1px 10px
}
label {
width: 4em;
float: left;
text-align: right;
margin: 0 1em 10px 0;
clear: both
}
.invulveld {
margin-bottom: 10px;
color: #26A;
background: #9CF;
border: #26a solid 1px;
}
.knop {
margin-left: 6em;
margin-bottom: 1em;
clear: both;
color: #000;
background: #9CF;
border: 2px #CCF outset;
}
Veel plezier met het experimenteren, de door mij gebruikte kleuren schreeuwen natuurlijk, maar het is ook maar als voorbeeld bedoeld.
Gelezen: 3432 | Styling, Design, CSS, Tutorials
Trackback/Pingbacks
- Gigadesign, website maken, correct » em Gebruiken voor het layout.
Reacties op: Forms stylen ? of invullen
-
leuke tut.
-
Deed het zelf ook al, vooral uitlijnen, maar meestal niet van die extreme kleuren
-
Ik zet met een probleem met IE6. Ik wou een tekstveld aan de rechterkant uitlijnen. Maar er blijven altijd een stuk of 10 px tussen de rechterkant van en de het tekstveld zitten.
-
* {margin: 0; padding: 0;}doet wonderen.
-
Ho, die heb ik al uitgeprobeerd! Het probleem blijft in IE bestaan!
-
Kijk eens naar de bepaling van het element
legend, op de laatste regel staatpadding: 1px 10px.
Dus dat wil zeggen dat het element dat alle tekstvelden en lebels omvat, dus die rand die je om alles ziet, een witruimte heeft van10pxlinks en rechts, als je die nu aanpast naar je behoefte zal het in orde zijn.
Beetje experimenteren kan nooit kwaad !!
-
heey allemaal ik heb een vraagej hoe maak je die reactie
veld want ik wil mn pa een beetje helpen met zn site zodat mensen kunnen reageren op iets .alvast bedankt
-
Zo bouw ik mijn forms ook maar….. Wat als de label langer is? Bijvoorbeeld: Wat is het de geboortedatum van uw partner?
Kortom: als de label waarde verspreid gaat worden dan maakt FireFox er een zooitje van. Iemand een idee hoe dit op te lossen is?
-
Vraagje, als je nu na het invulveld nog extra info wil toevoegen (bv. euro), hoe krijg je die dan hetzelfde uitgelijnd als de label-tekst? Als je niets speciaal doet ziet het er uit zoals de form onderaan deze pagina ‘geef een reactie’, waarbij Naam, Mail en Website als sub-schrift verschijnen.
-
hoe los je uitlijning v checkboxen op?
label checkbox 1
checkbox 2
checkbox 3
label inputveld
-
Is er een manier om een dropdown transparant te krijgen?
onderstaand werkt wel in Firefox maar niet in IEselect{
background-color: transparent;
font: 11px Verdana;
color:#FFFFFF;
border: 1px solid #336699;
}






