diff --git a/README.md b/README.md index 043a49e..d8f8dce 100644 --- a/README.md +++ b/README.md @@ -2,20 +2,20 @@ FitText makes font-sizes flexible. Use this plugin script on your fluid or responsive layout to achieve scalable headlines that fill the width of a parent element. ## How it works -If you have a small site and don't want to attach jQuery, just attach fittext.js and put this just before (responsive_headline is an header id). - - - +If you have a small site and don't want to attach jQuery, just attach fittext.js and put this just before `` (responsive_headline is an header id). +```html + +``` ### The Compressor The default setting works pretty well, but when it doesn't FitText has one setting you can adjust. If your text resizes poorly or is resizing all hurdy gurdy, you'll want to turn tweak up/down the compressor. It works a little like a guitar amp. - - window.fitText( document.getElementById("responsive_headline"), 1.2 ); // turn the compressor up (font will shrink a bit more aggressively) - window.fitText( document.getElementById("responsive_headline"), 0.8 ); // turn the compressor down (font will shrink less aggressively) - +```html +window.fitText( document.getElementById("responsive_headline"), 1.2 ); // turn the compressor up (font will shrink a bit more aggressively) +window.fitText( document.getElementById("responsive_headline"), 0.8 ); // turn the compressor down (font will shrink less aggressively) +``` This will hopefully give you a level of "control" that might not be pixel perfect, but scales smoothly & nicely. ### Thanks Thanks to Trent, Dave and Reagan for original FitText.js: https://github.com/davatron5000/FitText.js -http://fittextjs.com/ \ No newline at end of file +http://fittextjs.com/ diff --git a/fittext.js b/fittext.js index 966c689..75928c3 100644 --- a/fittext.js +++ b/fittext.js @@ -9,23 +9,27 @@ * Date: Tue Aug 09 2011 10:45:54 GMT+0200 (CEST) */ (function(){ - var css = function (el, prop) { - return window.getComputedStyle ? getComputedStyle(el).getPropertyValue(prop) : el.currentStyle[prop]; - }; - + var addEvent = function (el, type, fn) { if (el.addEventListener) el.addEventListener(type, fn, false); else el.attachEvent('on'+type, fn); }; + + var extend = function(obj,ext){ + for(var key in ext) + if(ext.hasOwnProperty(key)) + obj[key] = ext[key]; + return obj; + }; - window.fitText = function (el, kompressor) { + window.fitText = function (el, kompressor, options) { - var settings = { + var settings = extend({ 'minFontSize' : -1/0, 'maxFontSize' : 1/0 - }; + },options); var fit = function (el) { var compressor = kompressor || 1; @@ -41,6 +45,7 @@ // If you have any js library which support Events, replace this part // and remove addEvent function (or use original jQuery version) addEvent(window, 'resize', resizer); + addEvent(window, 'orientationchange', resizer); }; if (el.length) @@ -52,4 +57,4 @@ // return set of elements return el; }; -})(); \ No newline at end of file +})();