Я использую отличный select2 элемент управления jquery.
Я пытаюсь имитировать 3 ячейки макет отображения таблицы с использованием макета div CSS.
Когда выбранное больше, чем текущая ширина select2, элемент управления обычно скрывает переполнение с помощью многоточия. В моем макете элемент управления select2 показывает весь текст и выходит за пределы таблицы div. Вместо этого я хотел бы скрыть переполнение - есть ли способ сделать это? И я не против полного удаления дизайна display:table (если только он не предназначен для реальной таблицы).
Мой делает так:
И я хочу, чтобы он сделал это:
Я хочу, чтобы он заполнил доступное пространство и не более того. Примечание. У меня есть контейнер размером 500 пикселей для воспроизведения проблемы, но на практике это будет контейнер percenatge, и проблема возникает при изменении размера окна.
<link href="http://ivaynberg.github.io/select2/select2-3.3.2/select2.css" rel="stylesheet"/>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="http://ivaynberg.github.io/select2/select2-3.3.2/select2.js"></script>
<style>
.container { width: 500px; margin: 0 auto; border: 5px solid black; }
.table {
display:table;
width: 100%;
}
.table-row {
display: table-row;
width: 100%;
}
.left, .right {
display:table-cell;
width: 100px;
background-color: green;
}
.mid {
display:table-cell;
width: 100%;
background-color: red;
}
.mid > * {
width: 100%;
}
</style>
</head>
<body>
<div class="container">
<div class="table">
<div class="row">
<span class="left">AAAA</span>
<span class="mid">
<input type="hidden" id="e5" />
</span>
<span class="right">ZZZZ</span>
</div>
</div>
</div>
<script>
$("#e5").select2({
minimumInputLength: 0,
query: function (query) {
var data = { results: [] };
data.results.push({ id: 1, text: 'abcdefg' });
data.results.push({ id: 2, text: 'abcdefghijklmn' });
data.results.push({ id: 3, text: 'abcdefghijklmnopqrstuv' });
data.results.push({ id: 4, text: 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz' });
query.callback(data);
}
});
</script>
</body>
</html>
JSFIDDLE: http://jsfiddle.net/264FU/