How to remove the arrow from a select element in Firefox

后端 未结 30 1641
北恋
北恋 2020-11-22 15:58

I\'m trying to style a select element using CSS3. I\'m getting the results I desire in WebKit (Chrome / Safari), but Firefox isn\'t playing nicely (I\'m not ev

30条回答
  •  野性不改
    2020-11-22 16:52

    We've found a simple and decent way to do this. It's cross-browser,degradable, and doesn't break a form post. First set the select box's opacity to 0.

    .select { 
        opacity : 0;
        width: 200px;
        height: 15px;
    }
    
    
    

    this is so you can still click on it

    Then make div with the same dimensions as the select box. The div should lay under the select box as the background. Use { position: absolute } and z-index to achieve this.

    .div {
        width: 200px;
        height: 15px;
        position: absolute;
        z-index: 0;
    }
    
    
    {the text of the the current selection updated by javascript}

    Update the div's innerHTML with javascript. Easypeasy with jQuery:

    $('.select').click(function(event)) { 
        $('.div').html($('.select option:selected').val());
    }
    

    That's it! Just style your div instead of the select box. I haven't tested the above code so you'll probably need tweak it. But hopefully you get the gist.

    I think this solution beats {-webkit-appearance: none;}. What browsers should do at the very most is dictate interaction with form elements, but definitely not how their initially displayed on the page as that breaks site design.

提交回复
热议问题