html - Custom checkboxes, aligning label middle -


i'm having problem aligning labels middle of checkboxes. have tried seems , after hours of testing i'm giving up.

i have tested display: inline-block, vertical-align: middle; nothing seems work. have found out putting characters content:'' makes text float top.

i think i'm missing something...

jsfiddle

.styled-checkbox {    position: absolute;    opacity: 0;  }  .styled-checkbox + label {    position: relative;    cursor: pointer;    padding: 0;    color: inherit;    font-size: inherit;  }  .styled-checkbox + label:before {    content: '';    margin-right: 10px;    display: inline-block;    width: 28px;    height: 28px;    background: #cad1d9;    border-radius: 3px;  }  .styled-checkbox:hover + label:before {    background: #f35429;  }  .styled-checkbox:focus + label:before {    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.12);  }  .styled-checkbox:checked + label:before {    background: #f35429;  }  .styled-checkbox:disabled + label {    color: #b8b8b8;    cursor: auto;  }  .styled-checkbox:disabled + label:before {    box-shadow: none;    background: #ddd;  }  .styled-checkbox:checked + label:after {    content: '';    position: absolute;    left: 5px;    top: 0px;    background: white;    width: 3px;    height: 3px;    box-shadow: 2px 0 0 white, 4px 0 0 white, 6px 0 0 white, 8px 0 0 white, 8px -2px 0 white, 8px -4px 0 white, 8px -6px 0 white, 8px -16px 0 white, 8px -14px 0 white, 8px -12px 0 white, 8px -10px 0 white, 8px -8px 0 white;    -webkit-transform: rotate(45deg);    transform: rotate(45deg);  }
<input type="checkbox" name="inc_creditaccounts" value="1" id="checkbox-15-1-0" class="styled-checkbox" checked/>  <label for="checkbox-15-1-0" class="label-search-box">cant aligned middle</label> 

add vertical-align: middle in :before selector , set top position in :after

.styled-checkbox {    position: absolute;    opacity: 0;  }  .styled-checkbox + label {    position: relative;    cursor: pointer;    padding: 0;    color: inherit;    font-size: inherit;  }  .styled-checkbox + label:before {    content: '';    margin-right: 10px;    display: inline-block;    width: 28px;    height: 28px;    background: #cad1d9;    border-radius: 3px;    vertical-align: middle;  }  .styled-checkbox:hover + label:before {    background: #f35429;  }  .styled-checkbox:focus + label:before {    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.12);  }  .styled-checkbox:checked + label:before {    background: #f35429;  }  .styled-checkbox:disabled + label {    color: #b8b8b8;    cursor: auto;  }  .styled-checkbox:disabled + label:before {    box-shadow: none;    background: #ddd;  }  .styled-checkbox:checked + label:after {    content: '';    position: absolute;    left: 5px;    top: 9px;    background: white;    width: 3px;    height: 3px;    box-shadow: 2px 0 0 white, 4px 0 0 white, 6px 0 0 white, 8px 0 0 white, 8px -2px 0 white, 8px -4px 0 white, 8px -6px 0 white, 8px -16px 0 white, 8px -14px 0 white, 8px -12px 0 white, 8px -10px 0 white, 8px -8px 0 white;    -webkit-transform: rotate(45deg);    transform: rotate(45deg);  }
<input type="checkbox" name="inc_creditaccounts" value="1" id="checkbox-15-1-0" class="styled-checkbox" checked/>  <label for="checkbox-15-1-0" class="label-search-box">cant aligned middle</label> 


Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -