1

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/

trumank
  • 2,704
  • 3
  • 22
  • 31

3 Answers3

6

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.

uınbɐɥs
  • 7,236
  • 5
  • 26
  • 42
0

you could try setting a -moz-box-shadow: with the color of the two lines that are lighter to cover the dark inset the firefox creates...

also, i tried playing around in firebug and if u turn of -moz-appearance: none, the checkbox is completely fine and has a normal styling that you shouldn't need to play around with.

Ilan Biala
  • 3,319
  • 5
  • 36
  • 45
0

Update from 2021, it seems that the appearance has been working fine in Firefox for some time now. This issue covers the process.

Dimitar Spassov
  • 2,535
  • 2
  • 7
  • 17