2009-05-26 18 views
1

Ich habe eine ASP.NET DropDownList mit einem ziemlich breiten Inhalt, während die Breite der geschlossenen Liste aufgrund von Raumbeschränkungen auf der Website ziemlich klein sein muss. Aus diesem Grund muss ich in der Lage sein, eine bestimmte Breite für die Liste festzulegen, wenn sie geschlossen ist, aber sie soll so breit sein wie der Inhalt, wenn sie geöffnet wird.DropDownList Breite in Internet Explorer

Standardmäßig macht Firefox DropDownLists beim Öffnen automatisch so breit wie sein Inhalt. Der Internet Explorer hingegen nicht.

Gibt es eine Möglichkeit, dem IE zu sagen, dass die geöffnete DDL so breit wie der Inhalt sein soll, wenn sie geöffnet wird, aber wenn sie geschlossen ist, hat sie eine kleinere Größe? Vorzugsweise ohne Javascript.

EDIT: Ok, ich war nicht klar genug in meinem ersten Beitrag. Der Schwerpunkt liegt auf beim Öffnen. Ich möchte eine bestimmte Breite in der Liste, wenn es geschlossen ist, aber ich möchte es so breit wie der Inhalt wenn geöffnet. Wie gesagt, Firefox macht das, IE nicht.

+0

möchten Sie so breit wie der Inhalt sein oder nicht? Ich bin verwirrt – marcgg

+0

Ok, ich habe versucht, es ein wenig klarer zu machen. –

Antwort

1

Ich würde empfehlen, die Dropdown-Liste nicht verwenden, aber eine Javascript freundlichste ähnliche

http://jquery.sanchezsalvador.com/samples/example.htm

Dies ermöglicht Ihre Inhalte über die wählt Breite zu erweitern.

+0

Nicht das, was ich suchte, aber da Javascript wie die einzige Lösung aussieht, gebe ich Ihnen den Antwort-Tag. :) –

+0

Danke. Es ist bedauerlich, dass Javascript (oder etwas anderes wie Flash) die einzige Option ist. Aber so läuft es manchmal – Bob

0

IE wird standardmäßig so breit wie der Inhalt machen. Dieses Verhalten wird geändert, wenn Sie eine Breite in der DDL angeben oder die DDL einschränken, indem Sie irgendwo eine Breite in den übergeordneten Container einfügen.

0

Ich würde sagen, Ihre beste Wette ist herauszufinden, die maximale Breite, und legen Sie es auf das Dropdown. So erhalten Sie unabhängig von den Inhalten ein einheitliches Aussehen und umgehen dieses Problem.

1

IE standardmäßig so breit wie Inhalt.

Legen Sie eine CSSClass fest und geben Sie ihr eine bestimmte Breite, und Sie können sie ändern.

Sie können auch

select{ 
    width:42px; 
} 

bearbeiten gehen: von dem, was Sie sagen jetzt, ich fühle mich wie Sie einige Javascript tun müssen, weil IE wird nicht damit umgehen. Versuchen Sie suchen in jquery