2012-05-20 11 views
25

Mam listę krajów, niektóre z bardzo długiej nazwie:Jak kontrolować szerokość zaznaczonego znacznika?

<select name=countries> 
<option value=af>Afghanistan</option> 
<option value=ax>Åland Islands</option> 
... 
<option value=gs>South Georgia and the South Sandwich Islands</option> 
... 
</select> 

Domyślnie polu Wybierz byłby tak długo jak najdłuższej opcji na liście. Chcę utworzyć okno wyboru tak, aby wyświetlało domyślne zachowanie podczas oglądania z szerokiego okna przeglądarki, ale mieści się w ładnym 90% szerokości kontenera, gdy jest oglądane z wąskiego okna przeglądarki, mniejszego niż długość najdłuższej opcji.

Próbowałem min-width: 90%;, ale to nie zadziałało. Czy można to zrobić tylko przez styl CSS?

+0

http://stackoverflow.com/questions/294040/how-to-expand-select-option-width-after-the-user-wants-to-select-an-option – Dhiraj

+0

@DhirajBodicherla: Myślę, że doesn nie odpowiada na moje pytanie. Czy to? –

+1

Możliwy duplikat [Jak sprawić, aby wybrane elementy uległy zmniejszeniu do stylu maksymalnej szerokości w zestawie pól] (http://stackoverflow.com/questions/10672586/how-to-make-select-elements-shrink-to-max-width -percent-style-within-fieldset) – GregD

Odpowiedz

34

USE style="max-width:90%;"

<select name=countries style="max-width:90%;"> 
<option value=af>Afghanistan</option> 
<option value=ax>Åland Islands</option> 
... 
<option value=gs>South Georgia and the South Sandwich Islands</option> 
... 
</select> 

LIVE DEMO

+0

Nie sądzę, że zrozumiałeś moje pytanie. Czy możesz przeczytać ponownie? Dzięki. –

+0

@BenHuh: Przepraszam. Pozwól mi spróbować jeszcze raz. –

+0

@BenHuh: Czy to w porządku? –

8

pan po prostu dostał go od tyłu. Określenie minimalnej szerokości spowodowałoby, że menu wyboru zawsze będzie miało szerokość równą co najmniej, więc będzie nadal rozszerzać się do 90%, niezależnie od rozmiaru okna, co najmniej o wielkość najdłuższej opcji.

Zamiast tego należy użyć max-width. W ten sposób menu wyboru rozszerzy się do najdłuższej opcji, ale jeśli rozwinie się po ustawionym maksymalnym rozmiarze o 90%, zmniejsz ją do tej szerokości.

+0

Ale jak to schrupać? Czy mogę mieć dwie szerokości maksymalne? –

+0

Przeglądarka wykonuje wszystkie operacje. – animuson

+1

Wygląda na to, że maksymalna szerokość nie działa na znaczniku select. Używam najnowszej wersji Firefoxa, nie jestem pewien co do reszty. –

1

dodawania div otoki

<div id=myForm> 
<select name=countries> 
<option value=af>Afghanistan</option> 
<option value=ax>Åland Islands</option> 
... 
<option value=gs>South Georgia and the South Sandwich Islands</option> 
... 
</select> 
</div> 

a następnie napisać CSS

#myForm select { 
width:200px; } 

#myForm select:focus { 
width:auto; } 

nadzieję, że pomoże.

Powiązane problemy