मैंने इसके लिए एक छोटी 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
=======================
यहाँ coffeescript में प्लगइन (JS here) है
$('body').baseline()
// or whatever selector:
$('#foo').baseline()
-
इसे आज़माएं टी: http://bl.ocks.org/3157389
यह बहुत अच्छा है! आपका बहुत बहुत धन्यवाद! – EPLKleijntjens
एक और पूरा विकल्प http://pomax.nihongoresources.com/pages/Font.js/ का उपयोग कर सकता है - अभी तक कोशिश नहीं की है लेकिन बहुत अच्छा लगता है। – abernier
हाय @ बेर्नियर। मैंने आपके कोड की कोशिश की है और जब मैं इसे चलाता हूं तो मुझे बेसलाइन के लिए नंबर 1.1108247422680413 मिलता है जो मुझे लगता है कि मेरी वेबसाइट के लिए डिफ़ॉल्ट फ़ॉन्ट है। क्या आप मुझे बता सकते हैं कि उस नंबर का क्या अर्थ है? मैंने आंखों से बेसलाइन तैयार की है और मैं नहीं देख सकता कि आपकी विधि से मुझे प्राप्त होने वाली संख्या से संबंधित कैसे है। अग्रिम में धन्यवाद। –