>웹 프론트엔드 >JS 튜토리얼 >고정 컨테이너 내에서 여러 줄 텍스트 오버플로에 대한 줄임표를 구현하는 방법은 무엇입니까?

고정 컨테이너 내에서 여러 줄 텍스트 오버플로에 대한 줄임표를 구현하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-26 16:17:03764검색

 How to Implement Ellipsis for Multi-line Text Overflow within a Fixed Container?

고정 컨테이너 내 여러 줄 오버플로에 대한 줄임표 처리

웹 개발에서는 지정된 너비와 높이의 컨테이너 내에 여러 줄 텍스트를 표시해야 하는 경우가 많습니다. . 그러나 텍스트가 사용 가능한 공간을 초과하면 보기 흉한 오버플로가 발생할 수 있습니다. 이 문제를 해결하기 위해 개발자는 숨겨진 텍스트가 더 있음을 나타내는 줄임표를 구현하는 방법을 찾는 경우가 많습니다.

이러한 시나리오 중 하나는 텍스트가

너비와 높이가 모두 고정된 요소입니다. 다양한 jQuery 플러그인이 존재하지만 완벽한 솔루션을 찾는 것은 어려울 수 있습니다. 이 기사에서는 원하는 결과를 얻기 위한 기본적이면서도 효과적인 접근 방식을 살펴봅니다.

jQuery를 사용하면

요소. 우리의 목표는 텍스트 높이가 지정된 컨테이너 높이에 맞을 때까지 마지막 단어를 반복적으로 제거하는 것입니다. 이는 externalHeight() 함수를 활용하여 텍스트 높이가 컨테이너 높이를 초과하는지 확인하고, true인 경우 text() 함수를 사용하여 텍스트의 마지막 단어를 자르는 방식으로 수행됩니다.

Overflow가 보이지 않는 상태로 남아 있으면 Overflow: Hidden을 활용합니다.

의 CSS 속성 요소. 이렇게 하면 JavaScript가 비활성화된 경우에도 줄임표 없이 결과가 시각적으로 올바르게 표시됩니다.

다음은 이 솔루션에 대한 CSS 및 jQuery 코드입니다.

<code class="css">#fos { width: 300px; height: 190px; overflow: hidden; }
#fos p { padding: 10px; margin: 0; }</code>
<code class="javascript">var $p = $('#fos p');
var divh = $('#fos').height();
while ($p.outerHeight() > divh) {
    $p.text(function (index, text) {
        return text.replace(/\W*\s(\S)*$/, '...');
    });
}</code>

이 접근 방식은 고정된 너비와 높이의 컨테이너 내에서 줄임표 처리를 통해 여러 줄의 텍스트 오버플로 문제에 대한 간단하고 효율적인 솔루션입니다. jQuery와 CSS를 결합하면 JavaScript가 비활성화된 경우에도 접근성을 유지하면서 원하는 시각적 효과를 얻을 수 있습니다.

위 내용은 고정 컨테이너 내에서 여러 줄 텍스트 오버플로에 대한 줄임표를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.