OKADA LABO

imgタグのイメージをbackground-imageのcoverのように扱う

こんなパターンなかなか無いんだけどね。

 

例えば1300pxのデザインだったら、
windiowの幅1300px以下は、
1300pxのデザイン100%の大きさそのままで、
常にwindowに表示される部分がデザインのセンターになるように。
(左右、はみ出し分は、マスクされるような)

 

んで
コンテンツ幅(1300px)を超えたら
左右の余白は無しで
イメージをwindow幅に合わせて拡大したいっとき。

 

すごく凝ったデザインで
Positionガシガシ使ったレイアウトの時、
Window幅100%の画像を配置する場合
css backgroudで指定するより
Imgタグで並べた方が楽やねん。

 

こうする

 

<section class="overflw_H">
  <img class="imageMax key_win_mgLeft" src="images/top_back.jpg" alt="">

  <div class="topBtnScroll">
  <a href=""><img src="images/xxxxx.png" alt=“positionでセンターに配置したいもの”></a>
  </div>

<img src="images/top_contact.png" alt="contact">

</section>

jqueryの命令

var containerMaxW = 1300
$(window).on('load resize',function(){
   var winW = $(window).width();
   var bodyMgL = (winW - containerMaxW)*0.5
   if (winW <= containerMaxW) {
   $(function() {
   $('.key_win_mgLeft').css('margin-left', bodyMgL);
});
} else{
   $(function() {
   $('.key_win_mgLeft').css('margin-left', 'auto');
   });
}
});// load resize

要は、imgタグにだけ左にネガティブマージンを指定する。

Css

.topBtnScroll{ //potionでセンターに配置したい
   width: 138px;
   margin-left: auto;
   margin-right: auto;
}
.topBtnScroll a{ //potionでセンターに配置したい
   position: absolute;
   bottom: 85px;
}
.overflw_H{ //overflow: hidden;で左右ハミ出たimageは隠される。横スクロールしない
   overflow: hidden;
}
.imageMax{
   width: 100%;
   min-width: 1300px; //ここで指定しとく
}