2010-03-08 55 views
5

Đây là những gì tôi nhận được:Có cách nào để sửa chiều rộng của danh sách thả xuống không?

<select id="box1"> 
    <option>ABCDEFG</option> 
</select> 

<select id="box2"> 
    <option>ABCDEFGHIJKLMNO</option> 
</select> 

Tôi có 2 danh sách thả xuống khác nhau. Vì chiều rộng của danh sách thả xuống phụ thuộc vào độ rộng của văn bản dài nhất trong tùy chọn, tôi kết thúc với 2 danh sách thả xuống có 2 chiều rộng khác nhau. Điều này làm cho trang web của tôi trông rất ngốc nghếch.

Điều tôi muốn là đặt nó sao cho cả hai danh sách thả xuống của tôi sẽ có cùng chiều rộng (tôi muốn chiều rộng rất dài, vì vậy ngay cả mục dài nhất sẽ không bị cắt bớt).

+1

Vui lòng chỉnh sửa và xóa từ "độ dài". Nếu bạn có nghĩa là chiều rộng, nói chiều rộng. Nếu bạn đang nói về số lượng các tùy chọn được hiển thị, vui lòng hoàn lại cụm từ câu hỏi hoàn toàn. – rjmunro

+0

Đã sửa lỗi. Srry cho sự nhầm lẫn –

+0

Hey không có vấn đề - đó là lý do tại sao Stack Overflow là một phần wiki, để mọi thứ có thể được cải thiện. –

Trả lời

3

Bạn có thể sử dụng CSS để đặt chiều rộng của phần tử <select>, nhưng sẽ khó để có được chiều rộng để khớp chính xác với một số ký tự nhất định.

Tại sao bạn muốn văn bản của tùy chọn bị cắt bớt?

+0

vừa cập nhật bài đăng của tôi. –

+0

đơn giản về hiệu quả. Cảm ơn bạn. –

+0

Ah, Một số trình duyệt thậm chí sẽ thông minh và cho phép trạng thái mở rộng (tức là bit thực sự giảm xuống) rộng hơn chiều rộng bạn đặt, để không có văn bản được cắt bớt, trong khi vẫn giữ các phần tử có cùng độ rộng khi không được mở rộng. –

5

Độ dài đề cập đến số tùy chọn hiển thị ?? Nếu đó là trường hợp sử dụng size. Đây là số documentation. Hãy cho tôi biết nếu bạn có ý nghĩa gì khác.

Sau khi EDIT: Đặt chiều rộng cho lựa chọn. Nhưng sẽ khó đặt độ rộng để chỉ hiển thị độ dài cụ thể. Chỉnh sửa thứ hai: Bạn không thể làm điều đó bằng cách sử dụng CSS, bạn phải sử dụng javascript. Trên mọi thay đổi của lựa chọn, bạn phải xem cái nào của hai phần tử có chiều rộng tối đa và đặt cùng với phần tử kia.

+0

chỉ cập nhật bài đăng của tôi ... xin lỗi vì đã mơ hồ. Nó không phải là 'kích thước' mà tôi muốn sử dụng. Tôi muốn cắt ngắn độ dài của 1 tùy chọn, thay vì số tùy chọn trong danh sách thả xuống –

+0

Chỉ cần cập nhật bài đăng của tôi một lần nữa. –

+0

Tôi có thể không chỉ thiết lập chiều rộng thực sự dài không? Bằng cách đó tôi sẽ không phải lo lắng về yếu tố nào dài hơn –

-1

Bạn cần phải sử dụng JavaScript sau khi tải trang (cho danh sách của bạn id="listA"):

document.getElementById('listA').length = 20 

này một cách hiệu quả sẽ cắt nó ở 20 hạng mục.

+0

Bạn không cần * để sử dụng Javascript. Ngoài ra, chiều dài là số OPTIONS trong CHỌN ... không phải số OPTIONS hiển thị – Dancrumb

+0

chỉ cần cập nhật mã của tôi, xin lỗi vì đã mơ hồ: ( –

4

Sử dụng dòng sau. Nó sẽ sửa chiều rộng của danh sách thả xuống.

<select id='box1' style='width: 200px;'> 

<select id='box2' style='width: 200px;'> 

Nếu bạn muốn đề cập đến chiều rộng bằng css, bạn có thể sử dụng mã sau đây.

#container select { 
    width: 150px; 
} 
+0

Vâng, đó là câu trả lời. Cảm ơn bạn rất nhiều, tuy nhiên kể từ khi Paul D Waite trả lời nó đầu tiên, tôi phải cung cấp tín dụng cho anh ta. :) –

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