首頁 > web前端 > css教學 > 主體

如何使用 JavaScript 控制選擇框選項的寬度並實現文字溢出省略?

Patricia Arquette
發布: 2024-10-25 08:27:29
原創
187 人瀏覽過

How can I control the width of select box options and implement text overflow ellipsis using JavaScript?

控制選擇框選項的寬度

在選擇框中,選項在視覺上比框本身更寬,從而產生不對齊。為了修正這個問題,您的目標是將選項的寬度設定為等於框的寬度。此外,您希望對文字較長的選項實作文字溢位省略。

傳統 CSS 方法

最初,您嘗試使用 CSS 解決方案,但事實證明是徒勞無功的。 CSS 本身並不能提供直接控制選擇框中選項寬度的方法。

JavaScript 幹預

由於 CSS 無法提供解決方案,您尋求解決方案JavaScript 中的替代方案。您提供的 JavaScript 程式碼成功修改了選擇框中選項的文字寬度。它的工作原理是迭代每個選項元素並在必要時修改其內部文字。

HTML 和 CSS 修改

在 HTML 中,您將 data-limit 屬性新增至每個選項元素指定允許的最大文字長度。在 CSS 中,您為選擇框和選項設定了 250px 的固定寬度。

程式碼片段

以下是JavaScript 程式碼片段:

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');
};
登入後複製

示範

示範示範示範

以上是如何使用 JavaScript 控制選擇框選項的寬度並實現文字溢出省略?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!