首頁 > web前端 > css教學 > 如何控制選擇框選項的寬度並實現文字省略?

如何控制選擇框選項的寬度並實現文字省略?

Mary-Kate Olsen
發布: 2024-10-28 17:45:29
原創
377 人瀏覽過

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

控制選擇框選項的寬度

在HTML 中,透過將樣式屬性套用於select 元素及其子選項元素,可以實現可以指定每個選項的寬度以確保其與選擇框寬度相符。然而,僅使用 CSS 實現這一點可能還不夠。

一種解決方案涉及合併 JavaScript 來進一步控制選項寬度並在必要時啟用文字省略號。提供的 JavaScript 程式碼引入了一個 ShortString 函數,該函數動態調整具有 .short 類別和 data-limit 屬性的選項元素內的文字。

以下是實現此解決方案的方法:

<code class="html"><!-- HTML -->
<select name="select" id="select">
  <option class="short" data-limit="37" value="Select your University">Select your University</option>
  <option class="short" data-limit="37" value="Bangladesh University of Engineering and Technology">Bangladesh University of Engineering and Technology</option>
  <option class="short" data-limit="37" value="Mawlana Bhashani Science and Technology University">Mawlana Bhashani Science and Technology University</option>
</select></code>
登入後複製
<code class="css"><!-- CSS -->
select {
  width: 250px;
}

option {
  width: 250px;
}</code>
登入後複製
<code class="js"><!-- 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');
};</code>
登入後複製

此方法可確保選項寬度與選擇框寬度相同,並且當選項文字超出指定限制時,多餘的文字將替換為省略號。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板