Breite Probleme mit HTML-select innerhalb eines DIV mit IE
Hier ist ein Beispiel, ich habe auf jsfiddle
<div style='width:30px;border:solid 1px'>
<select style='width:100%'>
<option>This is my first option</option>
<option>option</option>
</select>
</div>
<br/>
<br/>
<div style='width:300px;border:solid 1px'>
<select style='width:100%'>
<option>This is my first option</option>
<option>option</option>
</select>
</div>
In jedem Browser (FF,Chrome,Safari,IE9,IE9 in den IE8-Modus) andere als IE 7/8, die Optionen der ersten combo sind voll sichtbar. IE8 ist die Begrenzung der Breite der Optionen aus, um die Breite des äußeren div.
Hier ist ein
Irgendeine Idee, wie das zu reparieren?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leider gibt es keine css-Lösung, denn es bezieht sich auf die Elemente Verhalten.
Als solche werde ich Sie direkt zu einer anderen Quelle.
http://css-tricks.com/select-cuts-off-options-in-ie-fix/
Dabei ändert sich die Breite des Elements, wenn es fokussiert wird, und setzt es zurück, wenn es den Fokus verliert. Nicht sehr elegant, aber trotzdem kann die ganze option gesehen werden.
Hoffe, das hilft.
Hinzufügen
overflow: hidden;
auf das div, das den Stil und diewidth: auto; float: right;
zu den<select>
scheint zu funktionieren für mich.Siehe Beispiel arbeiten an http://jsfiddle.net/J7sYq/10/
overflow:hidden
auf den container, dannwidth:auto;float:right
CSSselect:focus
.Ich weiß, es gibt bereits eine ganze Reihe von Antworten hier. Aber keiner der workarounds wirklich passt meine Forderung, wenn ich traf das gleiche problem: ich brauche zu setzen, wählen Sie die innen eine Feste Breite div. Über die Breite, wird es versteckt und ich will nicht, dies zu sehen - es ist rein hässlich. Das erste mal sah ich diese link, ich dachte, dass ich endlich gefunden, was ich will. Aber nach dem spielen mit der demo war ich enttäuscht. Die CSS-tricks arbeitet ein bisschen, aber es wird sich ändern, die Breite im ganzen und nicht nur die drop-down-Liste. Was ich brauche, ist eine wirklich schöne suchen, wählen Sie einfach, wie es Aussehen sollte auf andere Browser als den IE.
Endlich habe ich es mir mit javascript und css sowie einige bestimmte ie-version überprüfen. Dies ist eine Zusammenfassung von dem, was ich getan habe:
Dieser Ansatz erfordert mehr code, aber es ist wirklich simulieren, die "richtige" Verhalten des wählen Sie. Die ungeordnete Liste ist gestaltet mit css, machen es einfacher, das Aussehen zu verändern. Es ist getestet unter ie7-8.
Folgenden ist ein screenshot von einer funktionierenden Projekt angesehen in ie 8:
Kenne keine Lösung (das ist IE Lust der Welt). Vielleicht ein anderes widget für den IE8 oder weniger (extjs combo, jquery-ui-combo oder einige Popup-Menü "Bibliothek").
Dies ist was für mich funktioniert:
verwenden
*
bevor Sie Ihre css-Eigenschaften für ie-spezifische css-Dateien.Wenn markiert mit
*
nur ie8 kann verstehenDen ie8-browser seine eigene Eigenschaft, welche Sie angeben und verwenden. Durch diese können Sie aufmerksam Ihre Website spezifisch auf ie8, aber Ihre Immobilie mit * kommen sollte, nachdem Sie die Standard-Eigenschaft. finden Sie unter den code
Haben Sie angegebene Breite des äußeren div-bestehend aus der select-box. Und es sieht mir das gleiche in allen Browsern.
Wenn Sie möchten, es zu Strecken, basierend auf der Länge der Optionen in der select-box, dann einfach nur nicht angeben, in beliebiger Breite und nur sagen, width:auto.
Überprüfen Sie diese http://jsfiddle.net/J7sYq/3/