Нет, я не думаю, что есть способ сделать это, используя только html / css.
Вы можете просто сделать оверлей (div), который расположен прямо над флажком и делает его видимым.Используя это наложение, вы можете добавить собственный графический флажок и изменить его изображение (= видимое значение ) всякий раз, когда пользователь нажимает на изображение.Кроме того, вам нужно будет вручную обновить значение реального флажка, чтобы убедиться, что форму можно отправить, содержащую значение формы флажка .
Этот метод часто используется средами RIA, такими как QooxDoo,ExtJS и т. Д.
здесь вы найдете действительно хороший пример того, как использовать описанную технику.