「em」メトリックを使用すると完璧だと思う状況があります。私は内部にいくつかの要素を持つコンテナを持っています。これらの要素はすべて、次元、フォントサイズ、枠線、すべてにemを使用します。親コンテナのem値を変更するだけで、これらの要素をすべて動的に拡大または縮小できます。javascriptを使用してすべての要素をリサイズem
少なくとも私の理論です。私はjqueryを使ってこのようなものを実装しようとしましたが、すべてがpxに変換され、emを変更することは子要素には影響しません。ここで
は一例です:ジャバスクリプト(この例ではjQueryの)で
<div id="parent">
<div class="child">Text</div>
<div class="child">Text</div>
<div class="child">Text</div>
</div>
<style>
#parent { font-size: 1em; }
.child { width: 10em; height: 10em; font-size: 5em; }
</style>
、私はこのような何かをできるようにしたいと思います:
$('#parent').css('font-size', '2em') // This would make everything grow
$('#parent').css('font-size', '.5em') // This would make everything shrink
この行は生成されません。エラー。しかし、さらに調べると、すべてがpx値に変換されているように見えます。したがって、親の値はその能力を失う。ここで私が何を意味するかです:
ページの後、私はあなたが見ることができるように、すべての子どもたちはは50pxのまま
$('#parent').css('font-size'); // Returns 100px (for example's sake)
$('.child:first').css('font-size'); // Returns 50px
$('#parent').css('font-size', '2em'); // This should affect all children
$('#parent').css('font-size'); // Returns 20px
$('.child:first').css('font-size'); // STILL Returns 50px
放火魔コンソールを介してこれらのコマンドを実行し、レンダリングします。
これは正しい方法ですか?私は何が欠けていますか?これは本当に私が思うよりもはるかに難しいですか?ある意味では、ブラウザズームが持つ効果を再現しようとしています。
ありがとうございました。
しかし、ドミノ効果はありませんか?私は必要なすべてのスタイルルール(幅、高さ、フォントサイズ、境界線など)を持つすべての子供にこのテクニックを使用する必要があります。私は再帰でdom traversalが可能だと思いますが、私はそのようなことを避けることを望んでいました。 –
私のテストでは子供たちに影響を与えています(emsと%)。たぶんそれは、火かき棒のコンソールでjqueryを実行することと関係があります。 上記のコードを貼り付けます。 – Emily
まあ私は愚かな気がします...私は自分のコードをFirebugコンソールの代わりにページ自体に書きましたが、私が望んだとおりに正確に動作しました。エミリーとジッターに助けてくれてありがとう。 –