The best solution is a button-like style.
If you use a CSS framework such as bootstrap, you can give label classes such as btn and btn-default. It will look like a button. You might need to manually adjust the css property of the row-height as follows:
label.btn { line-height: 1.75em; }
Then, to get the styles for clicking the button as a button, add the following styles:
input[type=radio]:checked ~ label.btn { background-color: #e6e6e6; border-color: #adadad; color: #333; }
This will check the input and give the next label element in dom, which has styles like btn, bootstrap btn-default. Adjust the colors as appropriate.
Kyle goss
source share