줄 바꿈없이 지정된 영역 (td
)에 맞는 문자열을 만들려고합니다. 문제는 : 그것은 필요 ...픽셀 너비를 기준으로 문자열을 자릅니다.
- 맞춤 해상도의
N
가지에 - 맞게 크기를 조정
- 는
- 을 필요로 할 때 마지막에
...
추가 (필요하지 않을 때 안) 동안font-size
,font-weight
의 변화를 그대로 사용하고font-family
CSS
.truncated { display:inline-block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
jQuery를 (// 그냥 라인을 깰 몇 가지 스타일을 추가)(// 찾기 : 14,Novon's question에 대한 답변을 바탕으로, 다음 코드를했다 모든 요소는 .truncated
요소를 포함합니다. td
의 실제 너비 가져 오기 (내용을 제거하고 다시 추가 함).
하지만해야합니다 : 적용, (위의 코드에서 예상대로) td
)
jQuery('.truncated').closest('td').each(function() {
var text = jQuery(this).text();
var widthOriginal = jQuery(this).width();
var widthEmpty = jQuery(this).text('').width();
jQuery(this).text(text);
if(widthOriginal >= widthEmpty){
var width = (parseInt(widthEmpty) - 10) + 'px';
jQuery(this).css('maxWidth', width);
jQuery(this).text(text + '...');
}
});
결과에, minWidth를 필요로하는 경우는
나는 어쩌면 문자열의 첫 번째 line
을 찾고 나머지를 제거하려고 시도했지만 그 방법을 찾지 못했습니다 (내 취향에 대해서는 "해결 방법"이 많습니다). 그렇게 할 수있는 더 좋은 방법이 있습니까?
당신의 CSS에 사람들을 추가 :
.truncated {
display: -webkit-box;
-webkit-line-clamp: 1; // amount of line you want
-webkit-box-orient: vertical;
}
을 또는 당신은 클램프를 시도 할 수 있습니다 당신은 순수 CSS와 함께 할 수
https://developer.mozilla.org/en-US/docs/Web/CSS/text-overflow는 [이 질문은 도움이 될 수 있습니다 (HTTP : // 유래. com/questions/4700226/i-want-to-truncate-a-text-or-line-with-줄임표 사용 - 자바 스크립트) –
사용 가능한 공간을 얻은 다음 픽셀 너비를 기반으로하는 요소로 나눠봤습니까? 평균 성격? –
@MarcusRommel과'var widthOriginal = jQuery (this) .width();'사용 가능한 공간을 얻습니다. 이 부서를 어떻게 만들 수 있습니까? –