Skip to content

Instantly share code, notes, and snippets.

@jmvtrinidad
Last active November 9, 2016 06:59
Show Gist options
  • Save jmvtrinidad/06360d78df1ba0efe8598409e02e05a6 to your computer and use it in GitHub Desktop.
Save jmvtrinidad/06360d78df1ba0efe8598409e02e05a6 to your computer and use it in GitHub Desktop.
Bootstrap Checkboxes/Radios, it can work with asp.net checkboxfor with hidden fields.

See demo here

**Sample markup

<div class="checkbox checkbox-primary">
    @Html.CheckBoxFor(model => model.prop)
    @Html.LabelFor(model => model.prop)
</div>
.checkbox {
padding-left: 20px; }
.checkbox label {
display: inline-block;
position: relative;
padding-left: 5px; }
.checkbox label::before {
content: "";
display: inline-block;
position: absolute;
width: 17px;
height: 17px;
left: 0;
margin-left: -20px;
border: 1px solid #cccccc;
border-radius: 3px;
background-color: #fff;
-webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
-o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
transition: border 0.15s ease-in-out, color 0.15s ease-in-out; }
.checkbox label::after {
display: inline-block;
position: absolute;
width: 16px;
height: 16px;
left: 0;
top: 0;
margin-left: -20px;
padding-left: 3px;
padding-top: 1px;
font-size: 11px;
color: #555555; }
.checkbox input[type="checkbox"] {
opacity: 0; }
.checkbox input[type="checkbox"]:focus + label::before,
.checkbox input[type="checkbox"]:focus + input[type="hidden"] + label::before {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px; }
.checkbox input[type="checkbox"]:checked + label::after,
.checkbox input[type="checkbox"]:checked + input[type="hidden"] + label::after {
font-family: 'Glyphicons Halflings';
content: "\e013"; }
.checkbox input[type="checkbox"]:disabled + label,
.checkbox input[type="checkbox"]:disabled + input[type="hidden"] + label {
opacity: 0.65; }
.checkbox input[type="checkbox"]:disabled + label::before,
.checkbox input[type="checkbox"]:disabled + input[type="hidden"] + label::before {
background-color: #eeeeee;
cursor: not-allowed; }
.checkbox.checkbox-circle label::before {
border-radius: 50%; }
.checkbox.checkbox-inline {
margin-top: 0; }
.checkbox-primary input[type="checkbox"]:checked + label::before,
.checkbox-primary input[type="checkbox"]:checked + input[type="hidden"] + label::before {
background-color: #428bca;
border-color: #428bca; }
.checkbox-primary input[type="checkbox"]:checked + label::after,
.checkbox-primary input[type="checkbox"]:checked + input[type="hidden"] + label::after {
color: #fff; }
.checkbox-danger input[type="checkbox"]:checked + label::before,
.checkbox-danger input[type="checkbox"]:checked + input[type="hidden"] + label::before {
background-color: #d9534f;
border-color: #d9534f; }
.checkbox-danger input[type="checkbox"]:checked + label::after,
.checkbox-danger input[type="checkbox"]:checked + input[type="hidden"] + label::after {
color: #fff; }
.checkbox-info input[type="checkbox"]:checked + label::before,
.checkbox-info input[type="checkbox"]:checked + input[type="hidden"] + label::before {
background-color: #5bc0de;
border-color: #5bc0de; }
.checkbox-info input[type="checkbox"]:checked + label::after,
.checkbox-info input[type="checkbox"]:checked + input[type="hidden"] + label::after {
color: #fff; }
.checkbox-warning input[type="checkbox"]:checked + label::before,
.checkbox-warning input[type="checkbox"]:checked + input[type="hidden"] + label::before {
background-color: #f0ad4e;
border-color: #f0ad4e; }
.checkbox-warning input[type="checkbox"]:checked + label::after,
.checkbox-warning input[type="checkbox"]:checked + input[type="hidden"] + label::after {
color: #fff; }
.checkbox-success input[type="checkbox"]:checked + label::before,
.checkbox-success input[type="checkbox"]:checked + input[type="hidden"] + label::before {
background-color: #5cb85c;
border-color: #5cb85c; }
.checkbox-success input[type="checkbox"]:checked + label::after,
.checkbox-success input[type="checkbox"]:checked + input[type="hidden"] + label::after {
color: #fff; }
.radio {
padding-left: 20px; }
.radio label {
display: inline-block;
position: relative;
padding-left: 5px; }
.radio label::before {
content: "";
display: inline-block;
position: absolute;
width: 17px;
height: 17px;
left: 0;
margin-left: -20px;
border: 1px solid #cccccc;
border-radius: 50%;
background-color: #fff;
-webkit-transition: border 0.15s ease-in-out;
-o-transition: border 0.15s ease-in-out;
transition: border 0.15s ease-in-out; }
.radio label::after {
display: inline-block;
position: absolute;
content: " ";
width: 11px;
height: 11px;
left: 3px;
top: 3px;
margin-left: -20px;
border-radius: 50%;
background-color: #555555;
-webkit-transform: scale(0, 0);
-ms-transform: scale(0, 0);
-o-transform: scale(0, 0);
transform: scale(0, 0);
-webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
-moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
-o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); }
.radio input[type="radio"] {
opacity: 0; }
.radio input[type="radio"]:focus + label::before,
.radio input[type="radio"]:focus + input[type="hidden"] + label::before {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px; }
.radio input[type="radio"]:checked + label::after,
.radio input[type="radio"]:checked + input[type="hidden"] + label::after {
-webkit-transform: scale(1, 1);
-ms-transform: scale(1, 1);
-o-transform: scale(1, 1);
transform: scale(1, 1); }
.radio input[type="radio"]:disabled + label,
.radio input[type="radio"]:disabled + input[type="hidden"] + label {
opacity: 0.65; }
.radio input[type="radio"]:disabled + label::before,
.radio input[type="radio"]:disabled + input[type="hidden"] + label::before {
cursor: not-allowed; }
.radio.radio-inline {
margin-top: 0; }
.radio-primary input[type="radio"] + label::after,
.radio-primary input[type="radio"] + input[type="hidden"] + label::after {
background-color: #428bca; }
.radio-primary input[type="radio"]:checked + label::before,
.radio-primary input[type="radio"]:checked + input[type="hidden"] + label::before {
border-color: #428bca; }
.radio-primary input[type="radio"]:checked + label::after,
.radio-primary input[type="radio"]:checked + input[type="hidden"] + label::after {
background-color: #428bca; }
.radio-danger input[type="radio"] + label::after,
.radio-danger input[type="radio"] + input[type="hidden"] + label::after {
background-color: #d9534f; }
.radio-danger input[type="radio"]:checked + label::before,
.radio-danger input[type="radio"]:checked + input[type="hidden"] + label::before {
border-color: #d9534f; }
.radio-danger input[type="radio"]:checked + label::after,
.radio-danger input[type="radio"]:checked + input[type="hidden"] + label::after {
background-color: #d9534f; }
.radio-info input[type="radio"] + label::after,
.radio-info input[type="radio"] + input[type="hidden"] + label::after {
background-color: #5bc0de; }
.radio-info input[type="radio"]:checked + label::before,
.radio-info input[type="radio"]:checked + input[type="hidden"] + label::before {
border-color: #5bc0de; }
.radio-info input[type="radio"]:checked + label::after,
.radio-info input[type="radio"]:checked + input[type="hidden"] + label::after {
background-color: #5bc0de; }
.radio-warning input[type="radio"] + label::after,
.radio-warning input[type="radio"] + input[type="hidden"] + label::after {
background-color: #f0ad4e; }
.radio-warning input[type="radio"]:checked + label::before,
.radio-warning input[type="radio"]:checked + input[type="hidden"] + label::before {
border-color: #f0ad4e; }
.radio-warning input[type="radio"]:checked + label::after,
.radio-warning input[type="radio"]:checked + input[type="hidden"] + label::after {
background-color: #f0ad4e; }
.radio-success input[type="radio"] + label::after,
.radio-success input[type="radio"] + input[type="hidden"] + label::after {
background-color: #5cb85c; }
.radio-success input[type="radio"]:checked + label::before,
.radio-success input[type="radio"]:checked + input[type="hidden"] + label::before {
border-color: #5cb85c; }
.radio-success input[type="radio"]:checked + label::after,
.radio-success input[type="radio"]:checked + input[type="hidden"] + label::after {
background-color: #5cb85c; }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment