javascript를 사용하여 div에있는 텍스트 조각의 높이를 찾을 수 있기를 바랍니다.특정 글꼴의 기준선 높이를 어떻게 얻을 수 있습니까?
많은 사용자가 브라우저에서 더 큰 글꼴 설정을 사용하기 때문에 미리 정의 된 글꼴을 사용할 수 없습니다.
어떻게 이것을 자바 스크립트에서 할 수 있습니까?
javascript를 사용하여 div에있는 텍스트 조각의 높이를 찾을 수 있기를 바랍니다.특정 글꼴의 기준선 높이를 어떻게 얻을 수 있습니까?
많은 사용자가 브라우저에서 더 큰 글꼴 설정을 사용하기 때문에 미리 정의 된 글꼴을 사용할 수 없습니다.
어떻게 이것을 자바 스크립트에서 할 수 있습니까?
작은 jQuery 플러그인을 만들었습니다. 원리는 간단합니다 :
컨테이너에는 같은 내용의 인라인 요소 2 개를 삽입하지만 하나는 매우 작게 스타일이 다른 하나는 .
이고 다른 하나는 매우 큰 A
입니다. vertical-align:baseline
기본적으로 있기 때문에 가 그런 다음, 기준은 다음과 같이 주어진다 :
$ = @jQuery ? require 'jQuery'
detectBaseline = (el = 'body') ->
$container = $('<div style="visibility:hidden;"/>')
$smallA = $('<span style="font-size:0;">A</span>')
$bigA = $('<span style="font-size:999px;">A</span>')
$container
.append($smallA).append($bigA)
.appendTo(el);
setTimeout (-> $container.remove()), 10
$smallA.position().top/$bigA.height()
$.fn.baseline = ->
detectBaseline(@get(0))
으로 연기 후 : 여기
^+----+^
| | +-+| | top
height | |.|A|| v
| | +-+|
v +----+
=======================
baseline = top/height
=======================
는 커피 스크립트에서 플러그인 (
JS here)입니다
$('body').baseline()
// or whatever selector:
$('#foo').baseline()
-
앨런 스턴 의해 발견 (http://blogs.adobe.com/webplatform/2014/08/13/one-weird-trick-to-baseline-align-text/) 요소가 다른 인라인 요소의 초기 정렬을 변경하는 인라인 블록, I 함께 https://stackoverflow.com/a/11615439/67190보다 정확하고, 파생 실제로 더 간단 I 발견 데모 넣어 이어 JavaScript의 값 : http://codepen.io/georgecrawford/pen/gbaJWJ. 희망이 유용합니다.
<div>
<span class="letter">T</span>
<span class="strut"></span>
<div>
div {
width: 100px;
height: 100px;
border: thin black solid;
}
.letter {
font-size: 100px;
line-height: 0px;
background-color: #9BBCE3;
}
.strut {
display: inline-block;
height: 100px;
}
아아, 귀하의 솔루션이 firefox 37 – jedierikb
에서 작동하지 않는 것 같습니다. https://github.com/georgecrawford/font-baseline –
안녕하세요 @ 조지 크로포드. 코드와 데모를 보내 주셔서 감사합니다. 메소드가 리턴하는 다양한 값이 무엇인지 설명하는 문서/도면이 있습니까? 폰트와 라인 높이는 명백합니다. 데모를 공부할 때 기준선은 크기가 작고 내용은 글꼴의 총 크기 즉, 디 센더 + 캡 높이 + 오름차순이라고 생각하지만 잘못된 것일 수 있습니다. 멋진 테이블이나 그림이 도움이 될 것입니다. –
이는 위대하다! 고마워요! – EPLKleijntjens
더 완벽한 대안은 http://pomax.nihongoresources.com/pages/Font.js/입니다. 아직 시도하지 않았지만 위대한 것처럼 보입니다. – abernier
안녕하세요. 나는 당신의 코드를 시험해 보았고, 그것을 실행할 때 나의 웹 사이트의 기본 폰트 인 것으로 생각되는 기준선의 수는 1.1108247422680413이었다. 번호가 의미하는 바를 말해 줄 수 있어요? 나는 기준선을 눈으로 다듬었고 나는 당신의 방법에서 얻은 숫자가 어떻게 그것과 관련되는지를 볼 수 없다. 미리 감사드립니다. –