>>デモ<<
[ に 700px の幅を使用したことに注意してください#master_container
]
1.ポジショニング
最も重要な CSS は、広告のスタイルと配置であり、クラスに.advertis
次のように指定しました。
.advertis {
position: fixed; /*creates floating effect */
top: 20px; /* divs will always stay 20px from top */
width: 220px;
padding: 10px;
background: white;
border: #ccc 1px solid;
border-radius: 4px;
}
#left {
margin-left: -613px; left: 50%; /* positioning of left ads */
}
#right {
margin-right: -613px; right: 50%; /* positioning of right ads */
}
必要なマージンをどのように計算すればよいのでしょうか? 単純:
#master_container
(パディングを含む) =の幅を取得します720px
。2
=で割り360px
ます。広告の幅 (パディングとボーダーを含む) =を追加します242px
。240px + 360px = 600px
. コンテナと ad = の間に必要なスペースを追加します11px
(私の場合)。
242px (full width of ad) + 360px (half of container) + 11px (space between ad and container) = 613px (margin needed)
2. ウィンドウが小さすぎる場合の非表示
広告がウィンドウに収まらなくなったら、広告を非表示にする必要があります。そのためのオプションがあります:
- メディア クエリ
- jQuery (または JavaScript または別のライブラリ)
最初の jsFiddle では、メディア クエリを使用しました (すべてのブラウザーでサポートされているわけではありません)。このFiddle では、 jQuery を使用して同じ効果を得ています。
function widthCheck() {
var ads = $(".advertis");
if ($(window).width() < 1225) {
ads.hide();
}
else {
ads.show();
}
}
widthCheck(); // Execute onLoad
$(window).resize(function(){
widthCheck(); // Execute whenever a user resizes the window
});
</p>
どちらを使用するかはあなた次第です。いくつかの長所と短所をリストしますので、自分で選択してください。
長所 メディア クエリ:
- モダン、プログレッシブ
- JSが無効になっている場合でも機能します
短所:
- すべてのブラウザでサポートされているわけではありません
長所jQuery:
- すべてのブラウザで (同様に) サポートされています
短所:
- JSが無効になっていると機能しません
- メディアクエリほど進歩的ではない