Как контролировать ширину параметров поля выбора
Когда параметры в поле выбора выходят за пределы ширины поля, это может создать неопрятный и громоздкий внешний вид. Чтобы решить эту проблему, мы можем использовать как CSS, так и JavaScript, чтобы настроить ширину параметров и обрезать лишний текст.
Подход CSS:
Хотя только CSS не подходит достаточно, чтобы установить ширину опций, мы можем использовать его, чтобы зафиксировать ширину самого поля выбора. Установив ширину для элемента выбора, параметры будут ограничены этой границей. Кроме того, мы можем выполнить переполнение как скрытое, чтобы скрыть любые параметры, превышающие ширину поля, что приводит к эффекту многоточия для более длинных параметров.
select {
width: 250px;
}
option {
white-space: nowrap;
text-overflow: ellipsis;
}
Подход с использованием JavaScript:
Для более точного контроля над шириной параметров мы можем обратиться к JavaScript. Следующий фрагмент кода динамически изменяет размеры параметров в соответствии с шириной поля выбора и усекает любой текст переполнения с помощью text-overflow: ellipsis:
function shortString(selector) {
const elements = document.querySelectorAll(selector);
const tail = '...';
if (elements && elements.length) {
for (const element of elements) {
let text = element.innerText;
if (element.hasAttribute('data-limit')) {
if (text.length > element.dataset.limit) {
element.innerText = `${text.substring(0, element.dataset.limit - tail.length).trim()}${tail}`;
}
} else {
throw Error('Cannot find attribute \'data-limit\'');
}
}
}
}
window.onload = function() {
shortString('.short');
};
Комбинированный подход:
Объединив подходы CSS и JavaScript, мы можем добиться оптимального контроля над шириной и поведением переполнения опций поля выбора. Правила CSS гарантируют, что поле выбора остается в пределах заданной ширины, а код JavaScript динамически регулирует ширину параметров и обрезает любой лишний текст.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3