2011-11-18 31 views
24

Tôi muốn để có thể xác định một chiều cao cho yếu tố lựa chọn khi nhiều của nó là falseCSS cho các phần tử CHỌN nhiều = yes

select{height: 30px;} 

Nhưng tôi không muốn nó được áp dụng khi chọn có multiple = yes.

Nó có thể được xác định trong CSS không?

+0

chọn [multiple = true] {/ * style * /} – jolt

Trả lời

66

Trước tiên, để cho một select yếu tố để không được ở chế độ đa lựa chọn, thuộc tính multiple phải hoàn toàn bỏ qua. Ngay cả khi bạn đặt multiple="no" hoặc multiple="false", hành vi tiêu chuẩn cũng giống như HTML multiple hoặc XHTML multiple="multiple". Để biết thêm thông tin, hãy tham khảo the HTML spec.

Với điều này trong tâm trí, sử dụng CSS3 :not() chọn để loại trừ bất kỳ select với thuộc tính:

select:not([multiple]) { 
    height: 30px; 
} 

Hoặc nếu bạn cần IE7 + hỗ trợ, áp dụng chiều cao cho tất cả select yếu tố sau đó thiết lập lại nó cho những người có đó thuộc tính:

select { 
    height: 30px; 
} 

select[multiple] { 
    height: auto; 
} 
3
select[multiple]{ 
height: 30px 
} 

select[multiple]:focus{ 
height:auto 
} 

tôi không biết nếu điều này trả lời câu hỏi. Đó là một đóng góp.

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