A newer and better crossbrowser solution for custom checkbox and radio button styling is available on this page, or you can go directly to the example. The full example for this blogpost is available for download at this link. You can play with the online demo on this page.
WebKit browsers (Safari, Chrome, Konqueror) have vendor-specific implementation of the CSS
1. The image sprite
2. The HTML:
The full example is available for download at this link. You can play with the online demo on this page.
You may also be interested in the following scripts that take control on the visual appearance of other form elements.
Find more experiments here.
WebKit browsers (Safari, Chrome, Konqueror) have vendor-specific implementation of the CSS
appearance
property, as well as full support for the :checked
and :disabled
pseudo classes. The property is called -khtml-appearance
and it’s default value is visual
. When set to none
, it turns the specified control(s) to a blank slate, and this, combined with :checked
, :hover
and :disabled
facilitates any styling of checkboxes and radiobuttons without JavaScript or complex layout tricks. All we need is a sprite that contains all possible states (checked, unchecked, hover) of checkboxes and radiobuttons and as few as 50 lines of CSS:1. The image sprite
2. The HTML:
-khtml-appearance
set to none
:label { font: normal 12px/20px Arial, Sans-serif; color: black; vertical-align: middle; } /* common settings checkbox and radiobutton */ input[type="checkbox"], input[type="radio"] { -khtml-appearance: none; background: url('RadioAndCheckBoxSprite.gif') no-repeat; width: 20px; height: 20px; vertical-align: middle; } input[type="checkbox"] { background-position-x: left; } input[type="radio"] { background-position-x: right; } input[type="checkbox"]:hover, input[type="radio"]:hover { background-position-y: -40px; } input[type="checkbox"]:checked, input[type="radio"]:checked { background-position-y: -20px; } input[type="checkbox"]:checked:hover, input[type="radio"]:checked:hover { background-position-y: -60px; } /* disabled settings for checkbox and radiobutton */ input[type="radio"]:disabled, input[type="checkbox"]:disabled { opacity: .3; }FireFox has a similar implementation of the property called
-moz-appearance
, however its default value is none
, and at present the above approach cannot be used for any browser but Safari and Google Chrome.The full example is available for download at this link. You can play with the online demo on this page.
You may also be interested in the following scripts that take control on the visual appearance of other form elements.
Find more experiments here.
No comments:
Post a Comment