web制作 | 夜間飛行 備忘録

web制作講座で教わったあれこれを書き留めていきます

76日目 | web制作

本日は…

■レスポンシブデザイン
メディアクエリ(前日参照)以外の方法
①2カラムで片方だけ固定値にする場合…
1400pxだとこんなかんじに
f:id:knkasay:20150613185052j:plain

980px以下でも写真のサイズは変わらない
f:id:knkasay:20150613185046j:plain

⇨残したいカラムは常に固定値(写真では300px)

 残っている部分を100%、マイナスマージンを使うことで可変に出来る。

<link rel="stylesheet" href="css/reset.css">
<link rel="stylesheet" href="css/style_l.css">
<link rel="stylesheet" href="css/style_m.css" media="only screen and (min-width:640px) and (max-width:979px)">
<link rel="stylesheet" href="css/style_s.css" media="only screen and (max-width:639px)">

ブレイクポイントは3つ
cssは以下

style_l.css

#container {
  width: 980px;
  margin: auto;
  overflow: hidden;
}
#content {
  width: 680px;
  float:left;
  height: 620px;
  background: #ccc;
}
#inner {
  padding: 20px;
}
#content p {
  font-size: 18px;
  line-height: 2;
}
#sidebar {
  width: 300px;
  float: right;
  height: 630px;
}
#sidebar img {
  padding: 0 0 10px;
}

style_m.css

#container {
  width: 100%;
}
#content {
  width: 100%;
  margin-right: -300px;
}
#inner {
  margin-right: 300px;
  padding: 20px;
}
#content p {
  line-height: 2;
}

style_s.css

@charset "utf-8";
#container {
  width: 100%;
}
#content {
  width: 100%;
  height: 100%;
  float: none;
  margin-bottom: 10px;
}
#sidebar {
  width: 100%;
  float: none;
}
.ad {
  text-align: center;
}


②固定幅(グリッドデザイン)で作って一つ一つカラム落ちさせる場合
a.f:id:knkasay:20150613190224j:plain
b.f:id:knkasay:20150613190217j:plain
c.f:id:knkasay:20150613190210j:plain
イメージはこんな感じ。

f:id:knkasay:20150613190444j:plain
赤・青・緑の部分ごとにcontentを作成し、
contentのwidthを320pxに設定、
それらをcontainer=width 960pxで囲んだ状態がa。

緑の部分を幅640pxにし、contentの幅も640pxにしたのがb。
この時同時に、緑の中の部品(各content5パーツずつにulで構成)を、float:leftにして
順番に左からつめるようにしてやることで、3:2に別れるようになっている。

containerの幅を320pxにして、緑の幅も320pxに戻した状態がc。
これによってすべてのパーツが縦に並ぶようにできている。

※この方法によるレスポンシブサイトの構成は非常に簡単だが
 こうしたデザイン以外では使用しにくい



■トップへ戻るボタンの設置
スムーズスクロールを利用して設置

<script>
$(function() {
    var topBtn = $('.go_top');    
    topBtn.hide();
    //スクロールが100に達したらボタン表示
    $(window).scroll(function () {
        if ($(this).scrollTop() > 100) {
            topBtn.fadeIn();
        } else {
            topBtn.fadeOut();
        }
    });
    //スクロールしてトップ
    topBtn.click(function () {
        $('body,html').animate({
            scrollTop: 0
        }, 500, 'swing');//早さと、どんな風に戻るかを指定
        return false;
    });
});
</script>

週末の課題
・月曜日のテスト
・火曜日のテスト
⇒PHPの復習

ポートフォリオたたき台(紙で)
・何を載せるか素材探索(今までのから)

■サイトurl
餃子の餃天www.tenjoy.co.jp