Вот прием, который работает в большинстве последних браузеров (IE9 +) как решение только для CSS, которое может быть улучшено с помощью javascript для поддержки IE8 и ниже.
<div>
<input type="checkbox" id="checkboxID" name="checkboxName" value="whatever" />
<label for="checkboxID"> </label>
</div>
Стиль label
с тем, что вы хотитефлажок должен выглядеть так:
#checkboxID
{
position: <del>absolute</del> fixed;
margin-right: 2000px;
right: 100%;
}
#checkboxID + label
{
/* unchecked state */
}
#checkboxID:checked + label
{
/* checked state */
}
Для javascript вы сможете добавлять классы в метку для отображения состояния.Кроме того, было бы целесообразно использовать следующую функцию:
$('label[for]').live('click', function(e){
$('#' + $(this).attr('for') ).click();
return false;
});
РЕДАКТИРОВАТЬ для изменения #checkboxID
стилей