Sven Rautenberg: auswahlliste mit size=1

Beitrag lesen

Moin!

Gibt es vlt eine Möglichkeit mit css oder javascript?

"Und" - mit Javascript UND CSS - und eigenständigem HTML - kannst du dir etwas zusammenbasteln, was wie ein <select>-Feld aussieht und auch so reagiert, allerdings keines ist. So eine Lösung ist aber wesentlich kritischer, als ein normales Select-Feld, denn das Original verhält sich genau so, wie alle anderen Auswahlfelder, die das Betriebssystem kennt - dein Nachbau verhält sich nicht so, und alle eventuell vorhandenen Eingabehilfen wie z.B. Mausscrollrad etc. würden bei deinem Nachbau nicht funktionieren.

Ich weiss, dieses Problem wurde schon öfter diskutiert, aber man
bekommt immer nur als Antwort, das geht nicht. Und daraus wird mir
nicht ganz klar, ob das generell nicht geht, oder ob das in reinem
HTML nicht geht.

In HTML ist keinerlei Attribut zur Definition einer Anzeigelänge vorgesehen. Deshalb gehts mit reinem HTML nicht. Stattdessen mißt der Browser selbst aus, wieviel Platz ihm für die Anzeige der ausklappenden Liste zur Verfügung steht, und paßt die Länge entsprechend an. Das ist viel komfortabler für den Benutzer.

Beispielsweise ändert sich auch dynamisch die Richtung, in die die Liste ausklappt. Ist unterhalb des Feldes weniger Platz, als benötigt wird, klappt die Liste nämlich nach oben aus.

Ich hab ja gelesen, dass das anscheinend Browsersache ist, aber ich
versteh nicht, warum ich festlegen kann, wie viele Elemente
angezeigt werden (mit size, also ist es DropDown oder Liste), aber
nicht, wie viele Elemente nach dem Aufklappen einer DropDown
angezeigt werden sollen ohne Scrollen zu müssen (bei size=1).

Ganz simpel: Es ist damals nur ein Attribut für die Größe der Anzeigeliste definiert worden, aber keines für die Länge der Ausklappliste.

Es ist übrigens Standardverhalten für alle Programmiersprachen und nicht nur in HTML-Browsern, dass solche Listen standardmäßig "passend" groß aufklappen, ohne dass man eine Anzahl an anzuzeigenden Inhalten definiert. Aber mit normalen Programmiersprachen, die sehr systemnah operieren können, hat man eben Möglichkeiten haben, die man mit HTML und Javascript nicht hat.

- Sven Rautenberg

--
My sssignature, my preciousssss!