"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 선택 상자 옵션의 너비를 제어하고 텍스트 줄임표를 구현하는 방법은 무엇입니까?

선택 상자 옵션의 너비를 제어하고 텍스트 줄임표를 구현하는 방법은 무엇입니까?

2024년 11월 13일에 게시됨
검색:748

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

선택 상자 옵션의 너비 제어

HTML에서는 선택 요소와 하위 옵션 요소 모두에 스타일 속성을 적용하면 다음과 같습니다. 선택 상자 너비와 일치하도록 각 옵션의 너비를 지정할 수 있습니다. 그러나 CSS만으로는 이를 달성하는 것만으로는 충분하지 않을 수 있습니다.

한 가지 해결책은 JavaScript를 통합하여 옵션 너비를 추가로 제어하고 필요할 경우 텍스트 줄임표를 활성화하는 것입니다. 제공된 JavaScript 코드는 .short 클래스와 data-limit 속성이 있는 옵션 요소 내의 텍스트를 동적으로 조정하는 shortString 함수를 도입합니다.

이 솔루션을 구현하는 방법은 다음과 같습니다.



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