„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich die Breite von Auswahlfeldoptionen steuern und Textauslassungspunkte implementieren?

Wie kann ich die Breite von Auswahlfeldoptionen steuern und Textauslassungspunkte implementieren?

Veröffentlicht am 13.11.2024
Durchsuche:418

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

Steuern der Breite von Auswahlfeldoptionen

In HTML wird dies durch Anwenden von Stilattributen sowohl auf das Auswahlelement als auch auf seine untergeordneten Optionselemente erreicht Es ist möglich, die Breite jeder Option anzugeben, um sicherzustellen, dass sie mit der Breite des Auswahlfelds übereinstimmt. Allerdings reicht es möglicherweise nicht aus, dies mit CSS allein zu erreichen.

Eine Lösung besteht darin, JavaScript zu integrieren, um die Optionsbreite weiter zu steuern und bei Bedarf Textauslassungspunkte zu aktivieren. Der bereitgestellte JavaScript-Code führt eine shortString-Funktion ein, die den Text in Optionselementen mit der Klasse .short und dem Attribut data-limit dynamisch anpasst.

So implementieren Sie diese Lösung:



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

Dieser Ansatz stellt sicher, dass die Breite der Option mit der Breite des Auswahlfelds identisch ist. Wenn der Optionstext den angegebenen Grenzwert überschreitet, wird der überschüssige Text durch Auslassungspunkte ersetzt.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3