2011-02-06 26 views
20

Trong Chrome và các trình duyệt khác thả xuống của tôi trông tốt:Làm cách nào để xóa các đường chấm chấm trên điều khiển thả xuống SELECT/OPTION trong Firefox?

enter image description here

Tuy nhiên, trong Firefox nó đã không mong muốn rải rác dòng:

enter image description here

Tôi có đã loại bỏ thành công Firefox không mong muốn rải rác l ines cho nútđầu vào yếu tố với các báo cáo CSS:

button::-moz-focus-inner { border: 0; } 
input::-moz-focus-inner { border: 0; } 

vì vậy tôi nghĩ những sẽ làm việc cho chọn các yếu tố/tùy chọn, nhưng họ không:

select::-moz-focus-inner { border: 0; } 
option::-moz-focus-inner { border: 0; } 

thế nào thế nào tôi có thể xóa các đường chấm trong trình đơn thả xuống này để nó xuất hiện như trong Chrome và các trình duyệt khác?

Phụ Lục

Những điều này không làm việc, hoặc:

select::-moz-focus-inner { border: 0; outline: 0 } 
option::-moz-focus-inner { border: 0; outline: 0 } 

hay này:

select { outline: 0; } 
option { outline: 0; } 

hay này:

select { outline: none; } 
option { outline: none; } 

Trả lời

-5

hãy thử sử dụng outline: 0, wor ks cho các nút

+0

Tôi đã thử những điều đó (xem ở trên) nhưng dường như không xóa đường chấm chấm. –

+1

http://stackoverflow.com/questions/3773430/remove-outline-from-select-box-in-ff có vẻ như nó đã được thảo luận ở đây – exus

3

Dưới đây là kết hợp hack cho rằng:

select:focus { 
    outline: 1px solid white; 
    outline-offset: -2px; 
} 
select ~ input[type=button] { 
    -moz-appearance: menulist-button; 
    margin-left: -19px; 
    width: 18px; 
    height: 18px; 
    z-index: 10; 
} 

Sau đó thêm đầu vào với tabIndex = 0 sau mỗi lần chọn Và một số mã cho tập trung "phái đoàn":

$("select ~ input[type=button]").addEvent('focus', function(){ 
    this.getPrevious().focus(); 
}); 
+0

Điều này không hiệu quả đối với tôi (Mac, FF). Có lẽ một js fiddle? – iPadDeveloper2011

+0

Nó không hoạt động sau 2 năm trên một nền tảng khác (tôi đã thử trên WinXP và phiên bản FF gần đây cho thời gian đó), phải không? Tôi xem xét nó là ok cho hack ... Cảm ơn thông tin anyway. – kirilloid

2

giải pháp phát hiện trên https://stackoverflow.com/a/18853002/728855 dường như hoạt động hoàn hảo.

Nói tóm lại:

select:-moz-focusring { 
    color: transparent; 
    text-shadow: 0 0 0 #000; 
} 

đâu # 000 là màu văn bản của bạn.

+0

Điều này sẽ không hoạt động khi xây dựng thành phần có thể sử dụng lại - bạn không thể biết màu văn bản ở đó. Nó phải được thừa kế, và bởi vì bạn đang thiết lập 'color', thuộc tính' currentColor' không thể được sử dụng. – Thany

6

Câu trả lời của James Broad gần như hoàn hảo, nhưng văn bản "chỉ dành cho bóng" cho các mục tùy chọn trông có vẻ xấu xí. Đây là những gì hoạt động hoàn hảo cho tôi:

select:-moz-focusring { 
    color:transparent; 
    text-shadow:0 0 0 #000; /* your normal text color here */ 
} 
select:-moz-focusring * { 
    color:#000; /* your normal text color here */ 
    text-shadow:none; 
} 
+0

Nếu bạn đang sử dụng Bootstrap hoặc có bất kỳ chuyển tiếp nào trên đầu vào của bạn, đừng quên thêm '' 'transition: color 0ms;' '', nếu không bạn sẽ thấy dòng chấm chấm mờ dần. – Micros

Các vấn đề liên quan