«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как контролировать ширину параметров поля выбора и реализовать многоточие текста?

Как контролировать ширину параметров поля выбора и реализовать многоточие текста?

Опубликовано 13 ноября 2024 г.
Просматривать:383

How to Control the Width of Select Box Options and Implement Text Ellipsis?

Управление шириной параметров поля выбора

В HTML, применяя атрибуты стиля как к элементу выбора, так и к его дочерним элементам опций, можно можно указать ширину каждой опции, чтобы она соответствовала ширине поля выбора. Однако добиться этого с помощью только CSS может быть недостаточно.

Одно из решений предполагает включение JavaScript для дальнейшего управления шириной параметров и включения многоточия текста, когда это необходимо. В предоставленном коде JavaScript представлена ​​функция shortString, которая динамически корректирует текст в элементах option, имеющих класс .short и атрибут data-limit.

Вот как реализовать это решение:



select {
  width: 250px;
}

option {
  width: 250px;
}

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');
};

Этот подход гарантирует, что ширина параметра идентична ширине поля выбора, и когда текст параметра превышает указанный предел, лишний текст заменяется многоточием.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3