페이지에 기사를 표시하고 있습니다. 기사 제목은 때로는 두 줄로 넘치고 두 번째 줄에는 한 단어 만있을 수도 있습니다. 이것은 매우 바람직하지 않습니다. jQuery/CSS를 사용하여 제목을 한 행에 유지하기 위해 프로그래밍 방식으로 새로운 글꼴 크기를 결정하는 가장 좋은 방법은 무엇입니까?단일 행 디스플레이의 글꼴 크기를 프로그래밍 방식으로 결정
답변
해킹의 종류하지만를 글꼴 크기를 축소 : 이런 식으로 뭔가가 당신을 얻을 것이다 닫기. 그것은 아마도 tweeking 좀 더 필요합니다. 기본적으로 요소를 복제하고 클론의 텍스트를 & nbsp로 설정하여 한 줄의 높이를 결정합니다. 그런 다음 요소의 글꼴 크기가 대상 높이보다 작아 질 때까지 줄입니다.
이 기능을 부모의 resize()에 연결해야합니다.
$(document).ready(function() {
$(".shrink").each(function() {
var targetHeight = $(this).clone().html(" ").insertAfter($(this));
while ($(this).height() > targetHeight.height()) {
$(this).css("font-size", parseInt($(this).css("font-size")) - 1);
}
targetHeight.remove();
});
});
css ("fontSize")가 그렇지 않은 경우 아무것도 반환하지 않을까요? 이전에 Javascript *로 설정 * 되었습니까? –
좋은 점 - 방금 테스트 한 결과 괜찮습니다. 또한 CSS를 설정하지 않으면 여전히 결과를 반환한다는 테스트를 거쳤습니다. –
저는 여기에서 추측하고 있습니다 - JS를 사용하여 텍스트 컨테이너의 높이를 확인한 다음 필요한 경우 글꼴 크기를 줄이면됩니까? 변경으로 인해 페이지 내용의 크기가 조절됩니다.
제목에 몇 개의 문자가 포함되어 있는지 계산하고이를 기반으로 글꼴 크기를 계산할 수 있습니다. 더 많은 문자 = 작은 글꼴 크기.
어리석은 결과를 방지하기 위해 글꼴 크기를 얼마나 크게하고 얼마나 작게 만들지에 대한 대문자를 사용합니다.
단순히 해결책은 줄 끝 부분에 요소를 놓고 offsetHeight가 올 때까지 텍스트 크기를 줄이는 것입니다. 예를 들어,에 마침표 포장 : 전체 정류장이 어디 이제 확인할 수 있습니다
<span id="check">.</span>
을, 그리고 그것을 가까이 당신이 희망 어디 때까지 텍스트 크기를 줄일 수 있습니다. 이 특정 구문의 선 높이를 매우 크게 설정하면 더 쉽게 결정할 수 있습니다.
카운팅 문자는 해결책이지만 문자의 너비를 고려해야합니다. 고정 너비 글꼴을 사용하지 않는 한 'W'는 'i'보다 넓습니다.
또한, 당신은 등, 자신의 폰트 크기 설정이 같은 AR 당신이 될 것입니다, 당신의 선택의 글꼴이 클라이언트의 브라우저에서 사용할 수 있습니다 보장 할 수 없습니다
당신은, 그러나,이 개 솔루션을 결합 할 수 있습니다 - 첫째, 어떤 문자 계산 알고리즘을 사용하여 대략적인 글꼴 크기를 계산합니다. 예를 들어, 문자의 너비가 고정되어 있다고 가정하고 js가 줄이 어쨌든 분할되었다고 판단하면 클라이언트 측 js로 계산을 수정하십시오.
약간의 조정이 필요하지만 만족스러운 결과를 얻을 수 있다고 생각합니다.
기본 텍스트 크기가 있다고 가정하고이를 설정하고 요소의 offsetHeight를 확인하십시오. 그것은 분명 두 라인 인 경우는 offsetHeight 극적으로 약 50 % jQuery를 사용하여
예에 의해 감소 될 때까지 ...
var defaultSize = 36; // if title is taller than this, it will be shrinked
$(".articleTitle").each(function() {
var h = $(this).height();
var i = defaultSize;
while(h > defaultSize) {
i--;
this.style.fontSize = i + 'px';
h = $(this).height();
}
});
- 1. 번들로 이미지 파일의 크기를 프로그래밍 방식으로 결정
- 2. 브라우저를 통해 프로그래밍 방식으로 DPI를 결정 하시겠습니까?
- 3. 프로그래밍 방식으로 글꼴 설치
- 4. TTF 글꼴 파일 이름 결정
- 5. 프로그래밍 방식으로 Windows에 글꼴 설치
- 6. NSTableView에서 행 선택하기 프로그래밍 방식으로
- 7. 프로그래밍 방식으로 Listview 행 선택
- 8. 프로그래밍 방식으로 QTreeView에서 행 선택
- 9. 프로그래밍 방식으로 최대 파일 이름 길이 결정
- 10. 프로그래밍 방식으로 AppEngine for Java 환경 결정
- 11. 블랙 베리 프로세서를 프로그래밍 방식으로 결정 하시겠습니까?
- 12. Bazaar 플러그인 디렉토리를 프로그래밍 방식으로 결정
- 13. HTML에서 텍스트의 글꼴과 크기를 결정
- 14. 문자열/글꼴 치수 결정
- 15. UILabel - iPhone에서 프로그래밍 방식으로 글꼴 - 서체 설정
- 16. 프로그래밍 방식으로 PDF의 텍스트 글꼴 색상 변경
- 17. Acrobat Pro 9.1에서 프로그래밍 방식으로 글꼴 변경
- 18. 프로그래밍 방식으로 창 크기를 디스플레이 해상도보다 크게 설정하는 방법이 있습니까?
- 19. 그룹화 된 UITableView에 대해 패딩을 프로그래밍 방식으로 결정
- 20. 이맥스는 프로그래밍 방식으로 창 크기를 변경합니다.
- 21. 프로그래밍 방식으로 바탕 화면의 크기를 어떻게 결정합니까?
- 22. 프로그래밍 방식으로 Java 힙 크기를 늘리는 방법
- 23. Groove 작업 영역의 크기를 프로그래밍 방식으로 결정합니까?
- 24. 컨테이너를 기반으로 UIViewController 크기를 프로그래밍 방식으로 조정하십시오.
- 25. Word 문서의 이미지 크기를 프로그래밍 방식으로 변경하기
- 26. 프로그래밍 방식으로 Windows에서 비디오 크기를 결정하는 방법
- 27. 레포 크기를 결정 하시겠습니까?
- 28. 현재 커서의 크기를 결정
- 29. 행 (부모 및 자식) 프로그래밍 방식으로 삽입
- 30. asp : 테이블 행 색상을 프로그래밍 방식으로 변경하십시오.
어떻게 스타일링 되었습니까? 어떤 크기/단위입니까? –
픽셀, 지금. 그러나 방법에 단위가 필요하면 전환 할 수 있습니다. – Sampson
이것은 다른 질문 인 http : // stackoverflow와 중복됩니다.com/questions/875183/javascript-and-with-jquery/875200 # 875200 – Kornel