선택 상자 옵션의 너비를 제어하는 방법
선택 상자 내의 옵션이 상자 너비를 벗어나면 어수선한 결과가 발생할 수 있습니다. 그리고 다루기 힘든 외관. 이 문제를 해결하기 위해 CSS와 JavaScript를 모두 사용하여 옵션 너비를 사용자 정의하고 초과 텍스트를 잘라낼 수 있습니다.
CSS 접근 방식:
CSS만으로는 그렇지 않습니다. 옵션의 너비를 설정하기에 충분하므로 이를 활용하여 선택 상자 자체의 너비를 고정할 수 있습니다. 선택 요소의 너비를 설정하면 해당 경계 내에서 옵션이 제한됩니다. 또한 상자 너비를 초과하는 옵션을 숨기기 위해 오버플로하여 더 긴 옵션에 줄임표 효과를 적용할 수 있습니다.
select {
width: 250px;
}
option {
white-space: nowrap;
text-overflow: ellipsis;
}
JavaScript 접근 방식:
옵션 너비를 더 세밀하게 제어하려면 JavaScript를 사용할 수 있습니다. 다음 코드 조각은 선택 상자의 너비와 일치하도록 옵션 크기를 동적으로 조정하고 텍스트 오버플로를 사용하여 오버플로 텍스트를 자릅니다. ellipsis:
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');
};
결합된 접근 방식:
CSS와 JavaScript 접근 방식을 결합하면 선택 상자 옵션의 너비와 오버플로 동작을 최적으로 제어할 수 있습니다. CSS 규칙은 선택 상자가 지정된 너비 내에 유지되도록 하는 반면, JavaScript 코드는 옵션의 너비를 동적으로 조정하고 초과 텍스트를 자릅니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3