編集: 以下に最初に書いたものを読む前に、これを明確にしたかったのです...私は、互いに左に浮かぶ3つのセクションを使用してWebサイトを作成しています。リンクを使用して、あるセクションから別のセクションにスクロールします。そのセクションにスクロールするとき、そのセクションの背景をブラウザの画面サイズに合わせたいです。ページのそのセクションをまだ表示しているときにブラウザーのサイズが変更された場合、背景をウィンドウに「スナップ」して画面を塗りつぶし続けます。現時点では、これは完全に左側にあるセクションでのみ発生します。
これが可能かどうかはわかりませんが、見てみようと思いました。私は、この Web サイトのチュートリアルで 1 ページ戦略に取り組んできました: http://jqueryheaven.com/2012/08/building-a-one-page-portfolio-with-jquery-slide/
このチュートリアルではさまざまなセクションを使用していますが、私は自分の Web サイトで 3 つまたは 4 つのセクションのみを使用しています。いずれにしても、ウィンドウのサイズ変更の大きさに関係なく、各セクションをブラウザー ウィンドウに合わせる方法を見つけようとしています。 . これまでのところ、チュートリアルと私が作成したサイトでは、一番左のセクションだけがウィンドウに収まっています。残りのセクションは、収まるようにサイズ変更されません。
これが私がこれまでに持っているコードです:
HTML (コンテナ内の内容は省略しました:
<div id="main">
<section id="artwork" class="box">
</section>
<section id="home" class="box">
</section>
<section id="contact" class="box">
</section>
</div>
CSS (セクションに 100% の幅と高さ、および background-size:cover を使用しようとしましたが、何も機能しませんでした):
.box {
float:left;
}
#artwork {
background: #b4c620;
width:100%;
height:100%;
background-size:cover;
}
#home {
background: #58267a;
with:100%;
height:100%;
background-size:cover;
}
#contact{
background: #b4c620;
width:100%;
height:100%;
background-size:cover;
}
スクリプト (チュートリアルからも取得しました。前述のように、最初のセクション ボックス (#artwork) のサイズのみを調整し、残りは調整しません。ただし、ブラウザーのサイズを変更した後にそのセクションにリンクすると、セクション適合します。):
<script type="text/javascript">
function resizeBoxes() {
var browserWidth = $(window).width();
var browserHeight = $(window).height();
$('#main').css({
width: browserWidth*3,
});
$('.box').css({
width: browserWidth,
height: browserHeight,
});
}
resizeBoxes();
$(window).resize(function() {
resizeBoxes();
});
$('nav ul li a').click(function(){
return false;
});
</script>
<script type="text/javascript">
function goTo(horizontal,vertical) {
var browserWidth = $(window).width();
var browserHeight = $(window).height();
$('#main').animate({
marginLeft: '-'+browserWidth*horizontal,
marginTop: '-'+browserHeight*vertical,
}, 1000);
}
</script>
私が達成しようとしていることを理解していただければ幸いです。私はこれが初めてなので、コーディングが混乱している場合はお詫び申し上げます。解決策を見つける手助けができれば、本当に感謝しています! ありがとう。