FC2ブログ用テンプレートの制作・配布。シンプルなデザインが多めです。
11:35
・ ・ ・
「Nefert」で配布しているテンプレートは、ウィンドウサイズにあわせて幅が変化するリキッドレイアウトを採用しています。
リキッドレイアウトは、表示するウィンドウサイズに合わせて自動的に表示幅が変化するため、画面が大きい環境でも小さい環境でも(それなりに)うまく表示されるというのが利点です。ただし、リキッドレイアウトは「画面幅がどれくらい大きくなるか分からないので、用意する画像も必要以上に大きくなってしまう」という弱点もあります。
その弱点を補い、リキッドレイアウトの利点を生かすために用いられるのが、max-width、min-widthというCSSのプロパティです。
このプロパティは、それぞれ要素の最大幅・最小幅を指定することができます。
max-width、min-widthを指定することで、画面が小さい時には余裕を持たせて表示し、画面が大きいときには大きくなりすぎないように幅を抑制するといった柔軟な表示が可能になります。また、max-widthを指定することで、用意する画像サイズも必要以上に大きくならないようにすることができます。
ただし、max-width、min-widthプロパティは、IE6では対応しておらず、使うことができません。
そこで、IE6に対してはjavascriptのexpressionメソッドを用いて擬似的にmax-width、min-widthプロパティを適用させています。なお、expressionプロパティを導入すると、ブラウザの動作が重くなるという情報もあり、注意が必要です。
→expressionについて(追加情報)
動作を軽くするため、イベントハンドラを使って演算回数を減らすことが推奨されていますが、expressionは一部のイベントハンドラが動作しないといった不透明な仕様になっているため、ここでは確実に動作することを優先し、イベントハンドラの導入を取りやめました。
なお、min-widthだけを指定したいのであれば、expressionを使わずCSSのみで実現可能です。くわしくはこちら。
Lucky bag::blog: IE で min-width を指定する方法
<body>
<div id="wrapper">
</div>
</body>
#wrapper {
max-width : 900px;
min-width : 600px;
}
/* hide from Mac IE \*/
* html #wrapper {
width : 800px;
width : expression(
(document.documentElement.clientWidth > 900)? "900px" :
(document.documentElement.clientWidth < 600)? "600px" :
"auto");
height : 1%;
}
/* end MacIE */
/* hide from Mac IE \*/
* html #wrapper {
width : 800px;
width : expression(
(document.documentElement.clientWidth > 940)? "900px" :
(document.documentElement.clientWidth < 640)? "600px" :
"auto");
height : 1%;
}
/* end MacIE */
Re: IE6用max-width・min-width
>・・・ブラウザがフリーズするという状況に
まさにその状況を打開しようと試みていましたが、document.documentElement.clientWidthで動作を確認できました。
貴重な情報ありがとうございます。
ie6のmin-width問題はこれで解決、次は透過png問題・・・
rimse | 4HNZ8mMg
Re: IE6用max-width・min-width
お役に立てたようで光栄です!
透過pngもIE6で使えるようにするスクリプトが多く紹介されていますが、背景に設定する場合などは不具合があるようで、毎度のことながらIE6には悩まされますね…。
ここへ来た人のために。
実はmax-widthに関してのみ、指定した透明なテーブルで囲めば同じ役割が果たせたりします。おためしあれ
【解決済み】AdobeサイトでIEフリーズ ( 15:03 )
お盆前に解決したネタです。 アップしようかどうか迷いましたが、経緯が面白かったので、メモ。
Author:rimse
ペンギンを愛してやまないペンギン病患者。
LOVEペンギン。
ただいまお仕事でえらいこっちゃしてます。
ブログのテンプレ作ってました。
共有テンプレートのページで、作者「rimse」と検索すると出てきます。
シンプルめのテンプレが多いかも。
Recent Comments