CSSで複雑な表組みなどをデザインしている際、幅や高さをピクセル単位で細かく指定したいことがありますよね?
ただ、HTMLのstyle要素は記述が汚くなるから使いたくない、でもCSSでわざわざclassを作っているとCSSがごちゃごちゃしてしまう・・・。
そんな場合に、HTMLのclass要素を使って、簡単に幅と高さを指定できるJavaScriptを書いてみました。
ダウンロード
wh.js
※jQueryを利用しますので、別途jQuery 1.3.2以上のバージョンをダウンロードしてください。
ソース
(function($) { $(function() { $('[class*=w_], [class*=h_]').each(function() { var classes = $(this).attr('class').split(' '); for (var i in classes) { if (match = classes[i].match(/^([wh])_(\d+)(px|p)$/)) { var key = ''; var value = ''; switch (match[1]) { case 'w': key = 'width'; break; case 'h': key = 'height'; break; } switch (match[3]) { case 'p': value = match[2] + '%'; break; case 'px': value = match[2] + 'px'; break; } $(this).removeClass(match[0]).css(key, value); } } }) }); })(jQuery);
設置
jqueryを利用しますので、本ライブラリを読み込ませる前にjqueryの1.3.2以上を読み込ませてください。
利用方法
class指定に下記のような記述をしてください。
この場合、widthが100ピクセル、heightが200ピクセルの指定がされます。
また、パーセントでの記述も対応しています。
この場合、widthが100%、heightが33%の指定になります。
他のclassとの共存も問題ありませんので、比較的自由なデザインが可能になるかと思います。