2012-07-16 17 views
5

フォントサイズをコンテナサイズのパーセンテージに設定することはできますか?私はイメージ、ヘッダー、および説明を持つアイテムのリストを持っています。ユーザーがウィンドウのサイズを変更すると、イメージのサイズが自動的に変更されます。ヘッダーフォントを同じようにしたいと思います。CSS、相対フォントサイズ

編集:Javascript/JQueryは問題ありません。

+0

コンテナのサイズは、パディング、境界線、またはパディング、ボーダー、マージンを含むパディングを含むことを意味しますか? –

+1

また、IMO、私はあなたのビューポート/ウィンドウのサイズに基づいてフォントサイズのサイズを変更することをお勧めします。主に読みやすさを妨げます。 –

+0

コンテナ、ウィンドウ、パディング、何でも。私はちょうどウィンドウとレイアウトがサイズ変更されたときに変更される他のものと比較して自動的にサイズを変更できるようにしたいと思っています... –

答えて

5

ただ、タイラーの答えに拡大するため、私はあなたがCSS3のビューポートを使用して、同じ偉業を達成することができます少し確信しているものの、これは、ジャバスクリプトがために意味されるものである、あなたはjQueryのを使用したほうが良いでしょう(それは常に最もブラウザのとのキャッシュには通常、Googleでホストされているだあなたは、このようなCSS持っている場合:)

を心配するので、必要はありません:

をあなたが動的にこのようにjQueryでサイズを変更することができます
#body #mytext { 
    font-size: 50%; 
} 

:CSS3で

$(window).resize(function(){ 
    $('#body #mytext').css('font-size',($(window).width()*0.5)+'px'); 
}); 
+8

具体的な値を増やそうとしない限り、 '#mytext'が'#body'の子孫であることを指定する必要はありません(idを使用している場合は間違った方法です) 。 –

+0

これはシナリオによって異なりますが、このようにCSSを使用する場合は何も問題ありません。しかし、それは単なるデモです... –

+3

シンタックスのように間違っています。セマンティクスのように間違っている、はい。 –

3

いいえ、これはJavaScriptでのみ行うことができます。

+0

Tylerと同様に、フォントは現在のブラウザのフォントサイズあなたが "em"や "%"のような動的なフォントサイズを使用している場合。あなたは、タグの高さ/幅に応じてサイズを取得する場合は、JavaScriptを使用してフォントサイズを計算する必要があります – r3bel

-1

私は過去にjqueryでやったことがあります。もしあなたの興味があれば、この記事をチェックしてください。 CSSを使用してデバイスの幅を検出することもできます(ブラウザではなく、古いブラウザではサポートされていません)。

http://css-tricks.com/resolution-specific-stylesheets/

1

jQueryのオプションですか?

超簡単それがある場合:fiddle

<div id="container"> 
    <p>HELLO WORLD!</p> 
</div>​ 


<script> 
$(document).ready(function() { 
    var sizeMe = ($('#container').height()/100) * 90; /* 90% of container */ 
    $('p').css('font-size', sizeMe); 
}; 
</script> 
+1

理論的に変更する必要がある他の多くの属性(テキストのインデントや線の高さなど)があります。 –

+0

しかし、再び、OPはそれについて尋ねなかった。 :) –

+0

これはjsfiddleでも、私のためには機能しません。 ? –

11

、ビューポートの幅の1/100の略vwユニットは、そこにあります。たとえば、

h1 { font-size: 5.5vw; } 

は、見出しのフォントサイズをビューポートの幅の5.5%に設定します。

しかし、これはこれまでIE 9(標準モード)でしか動作していないようです。さらに、ブラウザウィンドウがリサイズされたときにIE 9はユニットの値を動的に変更せず、リロード時にのみ値を変更します。

+5

これは相対的なコンテナのサイズではありません。 –

+0

これは同じ効果をもたらしますが、JavaScriptかCSSを変更しても、コンテナのサイズが変更されても、正しく動作しません。コンテナのサイズを変更すると、これを更新することを忘れないでください。 –

関連する問題