WEBサイト制作の勉強

WEBサイト制作の勉強の為の解説ブログです。

フェリカテクニカルアカデミー

固定カラムレイアウトをフルードグリッドにする

前回の授業で作った固定カラムレイアウトのCSSファイルを書き換えて、フルードグリッドにします。

http://yachin29.hatenablog.com/entry/2015/06/12/111647yachin29.hatenablog.com

フルードグリッド

 フルードグリッドは、Webページの要素を罫線や升目に沿って配置する「グリッドデザイン(Grid Design)」と、ブラウザーの横幅が変わってもレイアウトを維持したまま要素のサイズを調整する「フルードデザイン(Fluid Design)」を合わせたものです。レスポンシブWebデザインでは、最初にグリッドデザインによって部品や表示領域をpx単位で配置していき、レイアウトが整った後に、値を%に変換してフルードデザインに変更します。

index.html

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>演習:HTML5でCSSレイアウト</title>
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="css/style2.css">
<!--[if lte IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if lt IE 9]>
    <script src="https://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
<![endif]-->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(function(){
	var topBtn = $('#bottom');    
    topBtn.hide();
    //スクロールが100に達したらボタン表示
    $(window).scroll(function () {
        if ($(this).scrollTop() > 100) {
            topBtn.fadeIn();
        } else {
            topBtn.fadeOut();
        }
    });
	$('a[href^=#]').click(function(){
		var speed = 500;
		var href= $(this).attr("href");
		var target = $(href == "#" || href == "" ? 'html' : href);
		var position = target.offset().top;
		$("html, body").animate({scrollTop:position}, speed, "swing");
		return false;
	});
});
</script>
</head>
<body id="top">
<div id="container">
<div class="column">
<header>
<h1 class="size-2x2"><img src="img/logo01.png" alt=""></h1>
<nav>
<ul>
<li class="size-1x1"><a href="#"><img src="img/nav01_01.png" alt="CONCEPT"></a></li>
<li class="size-1x1"><a href="#"><img src="img/nav02_01.png" alt="MENU"></a></li>
<li class="size-1x1"><a href="#"><img src="img/nav03_01.png" alt="ACCESS"></a></li>
<li class="size-1x1"><a href="#"><img src="img/nav04_01.png" alt="NEWS"></a></li>
</ul>
</nav>
</header>
<ul>
<li class="size-2x2"><img src="img/ph01_l.jpg" alt=""></li>
</ul>
<ul>
<li class="size-1x2"><img src="img/ph02_mt.jpg" alt=""></li>
<li class="size-1x1"><img src="img/ph03_s.jpg" alt=""></li>
<li class="size-1x1"><img src="img/ph04_s.jpg" alt=""></li>
</ul>
<ul>
<li class="size-2x1"><img src="img/ph05_my.jpg" alt=""></li>
<li class="size-1x1"><img src="img/ph06_s.jpg" alt=""></li>
<li class="size-1x1"><img src="img/ph07_s.jpg" alt=""></li>
</ul>
</div>

<div class="column">
<ul>
<li class="size-2x1"><img src="img/ph08_my.jpg" alt=""></li>
<li class="size-1x1"><img src="img/ph09_s.jpg" alt=""></li>
<li class="size-1x1"><img src="img/ph10_s.jpg" alt=""></li>
</ul>
<ul>
<li class="size-2x2"><img src="img/ph11_l.jpg" alt=""></li>
</ul>
<ul>
<li class="size-1x1"><img src="img/ph12_s.jpg" alt=""></li>
<li class="right size-1x2"><img src="img/ph13_mt.jpg" alt=""></li>
<li class="size-1x1"><img src="img/ph14_s.jpg" alt=""></li>
</ul>
<ul>
<li class="size-2x2"><img src="img/ph15_l.jpg" alt=""></li>
</ul>
<ul>
<li class="size-1x1"><img src="img/ph16_s.jpg" alt=""></li>
<li class="size-1x1"><img src="img/ph17_s.jpg" alt=""></li>
<li class="size-2x1"><img src="img/ph18_my.jpg" alt=""></li>
</ul>
</div>

<div class="column three">
<ul>
<li class="size-2x2"><img src="img/ph19_l.jpg" alt=""></li>
</ul>
<ul class="rbox">
<li class="size-1x1"><img src="img/ph20_s.jpg" alt=""></li>
<li class="right size-1x2"><img src="img/ph21_mt.jpg" alt=""></li>
<li class="size-1x1"><img src="img/ph22_s.jpg" alt=""></li>
</ul>
<ul>
<li class="size-1x1"><img src="img/ph23_s.jpg" alt=""></li>
<li class="size-1x1"><img src="img/ph24_s.jpg" alt=""></li>
<li class="size-2x1"><img src="img/ph25_my.jpg" alt=""></li>
</ul>
<ul>
<li class="size-1x1"><img src="img/ph26_s.jpg" alt=""></li>
<li class="size-1x1"><img src="img/ph27_s.jpg" alt=""></li>
<li class="size-1x1"><img src="img/ph28_s.jpg" alt=""></li>
<li class="size-1x1"><img src="img/ph29_s.jpg" alt=""></li>
</ul>
<ul>
<li class="size-2x2"><img src="img/ph30_l.jpg" alt=""></li>
</ul>

</div>

<p><a id="bottom" href="#top">TOPに戻る</a></p>
</div><!-- /#container -->
<footer id="pc"><p><small>Copyright &copy; 2015 ○○○ All Rights Reserved.</small></p></footer>
</body>
</html>

style.css

/*====reset======*/
html, body, header, nav, h1, ul, li, img, p, a {
  margin: 0;
  padding: 0;
  line-height: 1.0;
}
ul {
  list-style: none;
}
a {
	text-decoration: none;
}
img {
  border: none;
  vertical-align: bottom;
}

/*IE8用リセット*/
 article, aside, dialog, figure, footer, header,
  hgroup, menu, nav, section { display: block; }


/* layout
=========================*/

#container {
  width: 960px;
  margin: 10px auto;
  overflow: hidden;
  background: #FFF;
}
.column {
  float: left;
}
header {
  width: 320px;
  overflow: hidden;
}
h1 {
  margin: 10px;
}
ul {
  width: 320px;
  overflow: hidden;
}
.column ul li{
  margin: 10px;
  float: left;
}
.column li.right {
  float: right;
}
footer#pc {
  width: 100%;
  height: 50px;
  background: #281605;
}
footer#pc p {
  text-align: center;
  color: #FFF;
  font-size: 18px;
  line-height: 50px;
}
footer#sp {
  display: none;
}
/*TOPに戻るボタン*/
a#bottom {
  position: fixed;
  bottom: 65px;
  right: 7%;
  z-index: 9999;
  width: 60px;
  height: 60px;
  display: block;
  background:url(../img/to-top.png);
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  opacity: 0.3;
}
a#bottom:hover {
  opacity: 0.8;
}

/*===レスポンシブ対応===*/
@media screen and (max-width:959px){
#container {
  width: 96.875%; /*100% - 3.125%*/
  margin:  3.125% auto;
}
.column {
  width: 33.333%;
}
header {
  width: 100%;
}
h1, .column ul li {
  margin: 3.125%; /*10px ÷ 320px × 100*/
}
ul {
  width: 100%;
}
.size-2x2 {
  width: 93.75%; /*300px ÷ 320px*/
}
.size-2x1 {
  width: 93.75%;
}
.size-1x2 {
  width: 43.75%; /*140px ÷ 320px*/
}
.size-1x1 {
  width: 43.75%;
}
img {
  max-width: 100%; /*フルードイメージ*/
}
}
@media screen and (max-width:640px){
#container {
  width: 320px;
  margin: 10px auto;
}
.column {
  width: 100%;
  float: none;
}
}