드롭 다운 목록에서 기본 화살표 아이콘을 제거하는 방법 (선택 요소)?


297

HTML <select>요소 에서 드롭 다운 화살표를 제거하고 싶습니다 . 예를 들면 다음과 같습니다.

<select style="width:30px;-webkit-appearance: none;">
    <option>2000</option>
    <option>2001</option>
    <option>2002</option>
    ...
</select>

Opera, Firefox 및 Internet Explorer에서 어떻게합니까?

여기에 이미지 설명을 입력하십시오


- 파이어 폭스에서 그것을 숨기기위한 몇 가지 답변 / 해킹 stackoverflow.com/questions/5912791/...
andyb

2
외관 #slectType { -webkit-appearance: none; appearance: none /*menulist*/ ! 중요; max-width: 300px; line-height: 0px;} input[type='text'], select {max-height: 30px;max-width: 300px; text-align-last: center; /*text-indent: 5px;*/} button:hover {color: #FFF;background-color: #566977;box-shadow:none;border-color: #759AB5;} #errorMSG{z-index: 2147483647;} 브라우즈 [CH : -webkit, FF : -moz, IE : -ms, Oprea : -o];
Yash

1
IE
Muath

답변:


382

해킹이나 오버플로가 필요 없습니다. IE의 드롭 다운 화살표에 대한 의사 요소가 있습니다.

select::-ms-expand {
    display: none;
}

22
질문은 IE에서 드롭 다운 화살표를 제거하는 방법 이었기 때문입니다. IE9에는이 기능이 없지만 IE10에서 작동합니다. 따라서 Windows XP를 사용하지 않으면 IE10을 사용해야합니다. IE11이 거의 없습니다. 다른 옵션은 실제 드롭 다운 버튼을 숨기고 자신만의 못생긴 CSS 해킹입니다.
nrutas

2
링크 오버플로를 숨기기 못생긴 해킹입니다
nrutas

1
IE11에서 작동합니다. 그라시아 스!
ConorLuddy

Firefox에서는 작동하지 않았습니다. Firefox의 경우 아래 Varun Rathore 솔루션을 사용하십시오.
AlmostPitt

1
이것은 IE 전용입니다. 물론 Firefox에서는 작동하지 않습니다.
nrutas

289

앞에서 언급 한 솔루션은 크롬에서는 잘 작동하지만 Firefox에서는 작동하지 않습니다.

Chrome과 Firefox에서 모두 잘 작동 하는 솔루션 을 찾았습니다 (IE가 아님). SELECT 요소의 CSS에 다음 속성을 추가하고 필요에 따라 여백을 조정하십시오.

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 1px;
    text-overflow: '';
}

도움이 되었기를 바랍니다 :)


9
이 트릭은 Firefox 31 버전 (2014 년 5 월 현재 야간 빌드)에서 작동하지 않습니다. 그 동안 무엇을 할 수 있는지 봅시다. 내가 쓴이 요점은 전체 다운을 가지고 있습니다 : gist.github.com/joaocunha/6273016
João Cunha

Joäo Cunha의 방법을 확인하고 성공적으로 사용했습니다. 체크 아웃 할 때 파이어 폭스에서 링크를 여는 것을 잊지 마십시오!
NoobishPro

그것은 나를 위해 일했다. wkhtmltopdf를 사용하여 html에서 pdf를 생성하고 싶었습니다. 감사합니다
Faisal

187

선택에서 드롭 다운 화살표를 제거하는 간단한 방법

select {
  /* for Firefox */
  -moz-appearance: none;
  /* for Chrome */
  -webkit-appearance: none;
}

/* For IE10 */
select::-ms-expand {
  display: none;
}
<select>
  <option>2000</option>
  <option>2001</option>
  <option>2002</option>
</select>


4
방금 appearance: noneChrome 및 Firefox Quantum (v59 이상)에 사용했습니다. 즉, 이상 공급 업체 접두사 가 필요하지 않습니다 .
CPHPython

2
@CPHPython이 의견에 따르면 대부분의 브라우저에는 여전히 "접두사를 사용하는 부분 지원"태그가 있습니다.
Dan

2
@CPHPython은 접두사 를 사용하지 않으 려면 프로젝트에 Autoprefixer가 설치되어 있어야 appearance: none합니다. 대부분의 브라우저에는 여전히 접두사가 필요합니다.
Daniel Tonon

@DanielTonon 아, 아마도 그런 postcs 패키지를 사용하고 있었을 것입니다. 정확히 기억하지는 않지만, 주석을 달기 전에 브라우저의 관리자를 확인한 것 같습니다.
CPHPython

58

이 시도 :

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 2px 30px 2px 2px;
    border: none;
}

JS 빈 : http://jsbin.com/aniyu4/2/edit

Internet Explorer를 사용하는 경우 :

select {
    overflow:hidden;
    width: 120%;
}

또는 Choosen을 사용할 수 있습니다 : http://harvesthq.github.io/chosen/


1
IE와 firefox에서 JSBin 을 테스트 했습니까 ? 여전히 내장 드롭 다운 화살표가 둘 다 표시됩니다.
Martin Smith

Choosen으로 확인하십시오. 이것이 최선의 선택이라고 생각합니다.
EpokK

"Internet Explorer를 사용하는 경우"? 당신은 IE를 사용하고 그들을 위해 음식을 제공하는 인구의 대다수를 고려해야합니다
Danny Mahoney

5.21 % IE 또는 2.37 % 가장자리 : 우리의 사이트 사용자 통계는 다음이다
뉴 에베레스트

"IE를 사용하는 경우"가 맞을 것입니다. "IE를 지원해야하는 경우"라고 말하는 것이 더 낫지 만, 요즘 시대에는 웹을 실행하는 경우 기술을 대상으로해야합니다. 개발자 대상 웹 사이트를 사용하면 모든 버전의 IE를 지원해야합니다.
Brandito

17

이 시도:

HTML :

<div class="customselect">
    <select>
    <option>2000</option>
    <option>2001</option>
    <option>2002</option>
    </select>
</div>

CSS :

.customselect {
    width: 70px;
    overflow: hidden;
}

.customselect select {
   width: 100px;
   -moz-appearance: none;
   -webkit-appearance: none;
   appearance: none;
}

15

이것을 시도해보십시오.

<style>
    select{
        border: 0 !important;  /*Removes border*/
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        text-overflow:'';
        text-indent: 0.01px; /* Removes default arrow from firefox*/
        text-overflow: "";  /*Removes default arrow from firefox*/
    }
    select::-ms-expand {
        display: none;
    }
    .select-wrapper
    {
        padding-left:0px;
        overflow:hidden;
    }
</style>
    
<div class="select-wrapper">
     <select> ... </select>
</div>

숨길 수는 없지만 오버플로 숨김을 사용하면 실제로 숨길 수 있습니다.


6

스레드를 완료하고 싶었습니다. 매우 확실하게 IE9에서는 작동하지 않지만 작은 CSS 트릭으로 수행 할 수 있습니다.

<div class="customselect">
    <select>
    <option>2000</option>
    <option>2001</option>
    <option>2002</option>
    </select>
</div>

.customselect {
    width: 80px;
    overflow: hidden;
   border:1px solid;
}

.customselect select {
   width: 100px;
   border:none;
  -moz-appearance: none;
   -webkit-appearance: none;
   appearance: none;
}

5

IE의 Select Select 화살표에서 대답했듯이

클래스와 의사 클래스를 사용하려는 경우 :

.simple-control 당신의 CSS 클래스입니까

:disabled 의사 클래스입니다

select.simple-control:disabled{
         /*For FireFox*/
        -webkit-appearance: none;
        /*For Chrome*/
        -moz-appearance: none;
}

/*For IE10+*/
select:disabled.simple-control::-ms-expand {
        display: none;
}

4
select{
padding: 11px 50px 11px 10px;
background: rgba(255,255,255,1);
border-radius: 7px;
-webkit-border-radius: 7px;
-moz-border-radius: 7px;
border: 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
color: #8ba2d4;

}


2

완전한 기능의 크로스 브라우저 지원으로는이 작업을 수행 할 수 없습니다.

50 픽셀의 div를 가져 와서 오른쪽에 원하는 드롭 다운 아이콘을 띄우십시오.

이제 해당 div 내에서 너비가 55 픽셀 인 select 태그를 추가하십시오 (컨테이너 너비보다 큰 것)

나는 당신이 원하는 것을 얻을 것이라고 생각합니다.

오른쪽에 드롭 아이콘이 필요하지 않은 경우 오른쪽에 이미지를 띄우는 것을 제외한 모든 단계를 수행하십시오. select 태그의 초점에 outline : 0을 설정하십시오. 그게 다야


1
이 힌트로부터 도움을받을 수 없습니다. 아무도 여기에 적절한 코드를 줄 수 있습니까? 감사합니다.
user2301515

2

일반적인 선택 드롭 다운을 HTML / CSS로 대체하는 DropKick.js라는 라이브러리가 있으므로 자바 스크립트로 완전히 스타일을 지정하고 제어 할 수 있습니다. http://dropkickjs.com/


2

모든 브라우저 및 모든 버전에서 작동합니다.

JS

jQuery(document).ready(function () {    
    var widthOfSelect = $("#first").width();
    widthOfSelect = widthOfSelect - 13;
    //alert(widthOfSelect);
    jQuery('#first').wrap("<div id='sss' style='width: "+widthOfSelect+"px; overflow: hidden; border-right: #000 1px solid;' width=20></div>");
});

HTML

<select class="first" id="first">
  <option>option1</option>
  <option>option2</option>
  <option>option3</option>
</select>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.