Submit button stylen met CSS
Berichten sturen met style
Laten we weer eens iets typisch web 2.0 doen, glossy buttons - glas achtige knoppen - gebruiken voor submit doeleinden met
background-position.
Het voordeel ligt erin dat je maar één afbeelding nodig hebt - dus geen preload of laden van afbeelding bij :hover - en deze via CSS positioneert als er over de knop wordt gemuist.
De - verkorte - XHTML code
<input name="verstuur" class="verstuurknop" type="submit" id="verstuur" />
De afbeelding
De truck in heel dit gebeuren ligt erin 1 afbeelding te maken welke de twee toestanden bevat:
- De normale toestand, dus niets gebeurd
- De
:hovertoestand, wanneer gebruiker er met zijn muisaanwijzer over komt

De afbeelding is 98 pixel breed, en 74 pixel hoog - in mijn voorbeeld, bij jouw kan het anders zijn - waarbij elke aparte afbeelding 37 pixel hoog is. ( 2 x 37 = 74
).
De CSS toepassen
input.verstuurknop {
width: 98px;
height: 37px;
background: transparent url(pad_naar/afbeelding.gif) no-repeat;
outline: none;
border: none;
cursor : pointer;
}
input.verstuurknop:hover {
background: transparent url(pad_naar/afbeelding.gif) no-repeat 0 -37px;
}
Uitleg
De gehele truck zit hem in de :hover regel: je ziet dat de afbeelding reeds geladen is en gewoon 37 pixel omhoog wordt getrokken.
De eigenschappen : outline: none, border: none, cursor : pointer zijn om te verhinderen dat er zich een boord rond de afbeelding zou zetten, en dat er effectief een verandering van muisaanwijzer gebeurd.
Hoe het er snel ineengestoken uitziet en werkt kan je op deze pagina hier bekijken.
Het nadeel, de flip-side
Het heeft al een baard tot in heelverwegistan en ge hoort hem al aankomen:
Deze code werkt niet in Internet Explorer 6 en minder, daar deze browser alleen :hover toelaat op <a> elementen.
Gelezen: 11303 | Styling, Templates, Design, CSS, Tutorials







Op Saturday 01 July 2006
Het rare is nu wel dat je op de button tekst kan typen.:S
Op Saturday 01 July 2006
Sorry, mijn fout moets natuurlijk
type=submitzijn.Op Saturday 01 July 2006
Deze zelfde truuk kan je gebruiken op inputvelden. Randen weghalen, achtergrondafbeelding op zetten met css… Eventueel ook een :hover erbij (die dan niet werkt in IE, maar dit is geen groot gemis) en je hebt een heel mooi effect.
Geen doorsnee inputvelden, wel custom veldjes die de gebruiker zeker zal bekoren…
Bekijk hier een voorbeeld
Op Monday 03 July 2006
Inderdaad, er kan nog veel meer met formulieren gedaan worden. Ik heb een keertje met
<fieldset>gespeeld; moet je ook eens doen. Jammer dat niet elke browser het zelfde doet.Wat ook een ‘fout’ bij dit voorbeeld is, is dat ik (in Fx) bij het vergroten van de tekst een zwarte stip zie op de button.
Op Monday 03 July 2006
is opgelost, merci
Op Monday 07 August 2006
Je kan in de door ons allen verdoemde IE hetzelfde effect bekomen door
<a>te gebruiken ipv een button. Heeft natuurlijk weer het nadeel dat je het form moet submitten met javascript. Vraag me steeds meer af hoe het eigenlijk komt dat het overgrote deel IE blijft gebruiken als browser…Op Wednesday 09 August 2006
HTML bied ook al een oplossing hiervoor, lees maar http://jankoehoorn.nl/tuts/css/forms/submitbutton_stylen.php
Op Wednesday 10 October 2007
dank!
Op Friday 22 February 2008
Mooie oplossing! Ik kan weer verder!
Op Tuesday 18 March 2008
Je kan natuurlijk ook werken met onmouseover en onmouseout events en via een stukje javascritpt dat je meegeeft aan het event de positie van de afbeelding aanpassen :