Search code examples
htmlcsstwitter-bootstrapbootstrap-4icheck

How to change size of checkbox and add border radius of icheck plugin?


I am using icheck in my project. I want to change the size of the checkbox and add border-radius to checkbox.

I tried many examples.

My code is:

<html>
<head>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdn.rawgit.com/bantikyan/icheck-bootstrap/master/icheck-bootstrap.min.css" rel="stylesheet">
    <style>
    .c-radius{
    border-radius:5px;
    }
    </style>
</head>
<body>
    <div class="checkbox icheck-primary">
        <input type="checkbox" checked id="primary" class="c-radius"/>
        <label for="primary">Keep username same as email id</label>
    </div>
</body>
</html>


Solution

  • Add this CSS

    .icheck-primary[class*="icheck-"] > label {
        padding-left: 22px !important;
        line-height: 18px;
    }
    
    .icheck-primary[class*="icheck-"] > input:first-child + input[type="hidden"] + label::before, .icheck-primary[class*="icheck-"] > input:first-child + label::before {
        width: 18px;
        height: 18px;
        border-radius: 5px;
        margin-left: -22px;
    }
    
    .icheck-primary[class*="icheck-"] > input:first-child:checked + input[type="hidden"] + label::after,
    .icheck-primary[class*="icheck-"] > input:first-child:checked + label::after {
        top: 0px;
        width: 4px;
        height: 8px;
        left: 0px;
    }
    

    .icheck-primary[class*="icheck-"] > label{
      padding-left:22px !important;
      line-height: 18px;
    }
    .icheck-primary[class*="icheck-"] > input:first-child + input[type="hidden"] + label::before, .icheck-primary[class*="icheck-"] > input:first-child + label::before{
      width:18px;
      height:18px;
      border-radius:5px;
      margin-left:-22px;
    }
    
    .icheck-primary[class*="icheck-"] > input:first-child:checked + input[type="hidden"] + label::after, 
    .icheck-primary[class*="icheck-"] > input:first-child:checked + label::after{
      top:0px;
      width: 4px;
      height: 8px;
      left:0px;
    }
    <html>
    <head>
        <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
        <link href="https://cdn.rawgit.com/bantikyan/icheck-bootstrap/master/icheck-bootstrap.min.css" rel="stylesheet">
        <style>
        .c-radius{
        border-radius:5px;
        }
        </style>
    </head>
    <body>
        <div class="checkbox icheck-primary">
            <input type="checkbox" checked id="primary" class="c-radius"/>
            <label for="primary">Keep username same as email id</label>
        </div>
    </body>
    </html>