Search code examples
htmlcssfirefoxcheckboxborder

Firefox - Remove border from undecorated checkbox


I have a checkbox the has the appearance: none;. This working in chrome, but in Firefox it leaves behind an inset border that I cannot remove. I have tried border: none already.

I've a fiddle here: http://jsfiddle.net/jcJJ5/


Solution

  • Unfortunately, it doesn't seem that setting any properties on the checkbox will help.

    The only simple workaround that I have found is to wrap the checkbox in a <div>, and obscure the borders.

    See my Fiddle.

    HTML:

    <div class="checkbox-container"><input type="checkbox" /></div>
    

    CSS:

    input[type="checkbox"] {
        width: 110px;
        height: 110px;
        background: red;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border: none;
        position: relative;
        left: -5px;
        top: -5px;
    }
    .checkbox-container {
        position: absolute;
        display: inline-block;
        margin: 20px;
        width: 100px;
        height: 100px;
        overflow: hidden;
    }
    

    By the way, (in Firefox at least), setting background doesn't have any effect.