div 내에서 너무 긴 텍스트 자르기


85
<div style="display:inline-block;width:100px;">

very long text
</div>

순수한 CSS를 사용하여 다음 새 줄에 표시하지 않고 너무 긴 텍스트를 자르고 최대 100px 만 표시하는 방법

답변:


56
<div class="crop">longlong longlong longlong longlong longlong longlong </div>​

이것은 내가 생각할 수있는 한 가지 가능한 접근 방식입니다.

.crop {width:100px;overflow:hidden;height:50px;line-height:50px;}​

이렇게하면 긴 텍스트는 여전히 줄 바꿈되지만 overflow설정 으로 인해 표시되지 않으며 line-height동일한 설정 height을 통해 한 줄만 표시되도록합니다.

여기 데모 와 대화 형 예제와 함께 멋진 오버플로 속성 설명을 참조하십시오 .


1
사용자가 브라우저에서 글꼴 설정 (작은 텍스트 용)을 변경했을 가능성이 있기 때문에 줄 바꿈을 방지하기 위해 "line-height"에 의존하지 않습니다. 마찬가지로 큰 글꼴의 경우 div의 높이를 픽셀 수로 고정하면 끔찍하게 보일 수 있습니다. 특히 모바일 브라우저와 "레티 나"화면에서 디자인 레이아웃이 허용하는 경우 div의 높이를 유연하게 유지하려고합니다.
PJ Brunet

154

당신이 사용할 수있는:

overflow:hidden;

영역 외부의 텍스트를 숨 깁니다.

마지막 문자가 잘릴 수 있으므로 마지막 문자의 일부가 계속 표시됩니다. 더 좋은 방법은 끝에 줄임표를 표시하는 것입니다. 다음을 사용하여 수행 할 수 있습니다 text-overflow.

overflow: hidden;
white-space: nowrap; /* Don't forget this one */
text-overflow: ellipsis;

공백 : 긴 파일 경로를 표시하는 여러 줄이 있기 때문에 nowrap은 실제로 필요하지 않습니다. 공백이 없으면 깨지지 않는 긴 경로에 줄임표가 표시되고 다음 줄에 나머지 경로가 표시됩니다. 키커는 텍스트 (줄임표 포함)를 복사 한 다음 전체 경로를 붙여 넣을 수 있다는 것입니다. 좋은!
Robert Koch

이전 버전의 Firefox에서 줄임표가 작동하지 않는지 궁금한 경우를 대비하십시오. "Firefox 버전 7부터 텍스트 오버플로 : 줄임표가 지원됩니다." stackoverflow.com/questions/5990414/…
PJ Brunet 2013 년

전체 텍스트 또는 유사 항목을 표시하기 위해 마우스 오버시 툴팁을 표시하려면 어떻게해야합니까?
pedrorijo91

2
@ pedrorijo91 title="full text goes here"html에서 간단히 사용할 수 있습니다 .
Jerry


9

상대 단위를 사용하지 않는 이유는 무엇입니까?

.cropText {
    max-width: 20em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

4

아래 코드는 사용자가 결정한 고정 너비로 ​​텍스트를 숨 깁니다. 반응 형 디자인에는 적합하지 않습니다.

.CropLongTexts {
  width: 170px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

최신 정보

(모바일) 장치에서 텍스트가 (고정 너비)로 인해 서로 섞인 것을 발견했습니다 ... 그래서 위의 코드를 편집하여 다음과 같이 반응 적으로 숨겨졌습니다.

.CropLongTexts {
  max-width: 170px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

(최대 너비)는 텍스트가 (화면 크기)에 상관없이 반응 적으로 숨겨지고 서로 섞이지 않도록합니다.


3
이 코드가 질문에 답할 수는 있지만이 코드가 질문에 대한 답변 이유 및 / 또는 방법에 대한 추가 컨텍스트를 제공하면 장기적인 가치가 향상됩니다.
Donald Duck

0

   .cut_text {
      white-space: nowrap; 
      width: 200px; 
      border: 1px solid #000000;
      overflow: hidden;
      text-overflow: ellipsis;
    }
<div class="cut_text">

very long text
</div>

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.