完成編
.gazou-no-oya{
float: left; ←左によせてならべる
float: right; ←右によせてならべる
}
.gazou-no-oya{
float: left;
width: 500px;
}
つまり、floatを設定していないタグまでも、勝手に、左によってしまうのです。
次のページで、くわしく見てみましょう。
section{
clear: left; ←「左によせる」をなくす
clear: right; ←「右によせる」をなくす
clear: both; ←「どちらも」なくす
}
section{
clear: both;
}
*{
border: solid red 1px;
}
//この米印のマーク(*:アスタリスク)とは「すべて」という意味で使われます。
実は、HTMLファイルにタグを追加すると、サイト上には目に見えない【ブロック】のようなものがつくられています。
サイトのレイアウトは、このブロックを意識(いしき)する事で、わかりやすくなります。
ブロックを目で見れるようにするために、ブロックのボーダーラインを表示してみたいと思います。
CSSファイルに以下を追加して、ボーダーラインを表示させてください。
今のサイト
(サンプル)
完成イメージ
(サンプル)
.gazou-no-oya{
float: left;
width: 33%;
}
今のサイト
(サンプル)
完成イメージ
(サンプル)
正解イメージ
(サンプル)
.gazou-no-oya{
text-align: left; ←左によせる
text-align: right; ←右によせる
text-align: center; ←真ん中によせる
}
.gazou-no-oya{
float: left;
width: 33%;
text-align: center;
}
h1 {
width: 100%; ←ヨコの長さ
background-color: #74cfae; ←背景の色
text-align: center; ←文字を中央にする
font-size: 70px; ←文字のサイズ
color: #eeeeee; ←文字の色
}
余白(よはく)を設定するプロパティは2つあります。
padding (パディング)とmargin (マージン)といい、下のような違いがあります。
padding (パディング) → ボーダーラインの【内の余白】
margin (マージン) → ボーダーラインの【 外の余白】
※【パディングは半端なく使う→パ内】【マージンはマジで外れ(はずれ)→マ外】と覚えると、覚えやすい…?
それぞれ【px】で、長さを指定できます。
料理
padding
(パディング)
margin
(マージン)
赤い線はボーダーライン
h1 {
padding: 10px;
}
padding (パディング)とmargin(マージン)の書き方は以下です。
※paddingのみを書いていますが、marginも同じ書き方です。
h1 {
margin: 0px;
}
h1 {
padding: 100px;
}
こんな感じになればOKです。
たぶんこんな感じになっていると思います。
{
padding: 10px 15px 20px 10px;
} //上が10px・右が15px・下が20px・左が10pxの余白になる
{
padding: 10px 20px 10px;
} //上が10px・左右が20px・下が10pxの余白になる
{
padding: 10px 20px;
} //上下が10px・左右が20pxの余白になる
{
padding: 10px;
} //上下左右10pxの余白になる
paddingやmarginは、下のように◯◯pxを複数(ふくすう)書くことができます。
その書き方によって、それぞれのpxが、どの余白(よはく)なのか?がかわります。
※paddingのみを書いていますが、marginも同じ書き方です。
今回は上下だけで良いので、どのような書き方になるでしょうか?
【上下のpaddingは100px】、【左右のpaddingは0px】になるようにしてください。
サンプルの完成イメージは以下です。
#ryouri {
〰省略(しょうりゃく)〰
}
<h1 id="ryouri">料理</h1>
* {
margin: 0; padding: 0;
}
「すべて」を指定するためには、【*(アスタリスク)】をセレクタにすれば良いんでしたね?
これをCSSの一番上に書いておけば、ブラウザの勝手な設定が消えます。
まぁ今回はそこまでしなくても良いので、知識(ちしき)として知っておいてください。この作業のことを【初期化】(しょきか)と言ったりします。
そんな時は下のコードように、セレクタを,(カンマ)で区切って書きます。
※もちろんclassやidを指定する時にも使えます。
よく使われるので覚えておきましょう。
h1,h2,header {
margin: 0; padding: 0;
}
position: static;(スタティック)
通常の位置に配置 (初期値)
position: relative;(レラティブ) + 【 left 】または【 right 】
通常の位置を基準とした相対的な配置
position: absolute;(アブソリュート)) + 【 left 】または【 right 】
ウィンドウまたは親ボックスを基準とした絶対的な配置
position: fixed;(フィクスド)) + 【 left 】または【 right 】
ウィンドウを基準とした絶対的な配置 + 位置の固定
float(フロート)とは、また違ったブロックの動かし方、と考えれば良いかと思います。
position(ポジション)は以下の種類(しゅるい)があり、なかなかややこしくなりますので、今は詳しくはやりません。※今のサイトに試さなくてもOKです。
ケースバイケースなので「これが正解!」というものはなく、個人の好みやセンスが出ます。そこらへんは、また必要が出てきたら学びましょう。
※ここらへんをマスターするのは基本的(きほんてき)にプログラマーではなく、WEBデザイナーの仕事です。まぁ一人で開発(かいはつ)する時は、当然、全部自分でやらないといけませんのが。
今の時点で、3つの項目の内、1つ目の項目(たとえば料理)まで出来ていると思います。後は、ほかの項目も同じようにしてあげるだけですが、実は、ちょっと問題が発生します。
3つ目の項目の背景色が消えてしまうのです。
例:mainタグの背景色を黄色に設定していた場合
では、バグ修正も終わったところで、サイトを完成させちゃいましょう。
完成イメージのサンプルサイトがこちらです。( http://kinocode.xyz/x/ ) (クリックしたら開きます)
もし、もっと違うレイアウトにチャレンジしてみたいなら、自由に変えて見ても良いですが、以下の条件は必ずクリアしてください。
好きな項目(こうもく)が3項目(サンプルでは「料理・漫画・ゲーム」)
その項目ごとに3つの内容(ないよう)(サンプルでは「たこ焼き・焼きそば・お好み焼き」など)を用意する。
それぞれの内容に、画像とリンクを用意する。
必ず、上の条件を含めたサイトを作ってください。
またサンプル通りに作ったとしても、内容によってうまくいかない部分も出てくると思います。(特に文字数や文字の大きさによるズレなど)そんな時はドンドン質問して進めていきましょう。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>はじめてのサイト</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<div id="site-name">
私の好きなもの
</div>
<nav>
- ホーム - 料理 - ゲーム - 漫画
</nav>
</header>
<main>
<section>
<h1 id="ryouri">料理</h1>
<article>
<div class="gazou-no-oya">
<a href="https://ja.wikipedia.org/wiki/たこ焼き" target=“_blank”>たこ焼き</a>
<img src="imgs/takoyaki.jpg" class="gazou">
</div>
<div class="gazou-no-oya">
<a href="https://ja.wikipedia.org/wiki/焼きそば">焼きそば</a>
<img src="imgs/yakisoba.jpg" class="gazou">
</div>
<div class="gazou-no-oya">
<a href="https://ja.wikipedia.org/wiki/お好み焼き">お好み焼き</a>
<img src="imgs/okonomiyaki.jpeg" class="gazou">
</div>
</article>
<div class="ryouri-no-hosoku">
<aside>
おすすめのソース
<ol>
<li>- おたふくソース</li>
<li>- OKソース</li>
</ol>
</aside>
</div>
</section>
<section>
<h1 id="game">ゲーム</h1>
<article>
<div class="gazou-no-oya">
<a href="https://minecraft.net/" target=“_blank”>マインクラフト</a>
<img src="imgs/mine.gif" class="gazou">
</div>
<div class="gazou-no-oya">
<a href="https://ja.wikipedia.org/wiki/ドラゴンクエスト" target=“_blank”>ドラゴンクエスト</a>
<img src="imgs/DQ.jpg" class="gazou">
</div>
<div class="gazou-no-oya">
<a href="http://www.capcom.co.jp/monsterhunter/" target=“_blank”>モンスターハンター</a>
<img src="imgs/MH.jpeg" class="gazou">
</div>
</article>
</section>
<section>
<h1 id="manga">漫画</h1>
<article>
<div class="gazou-no-oya">
<a href="https://minecraft.net/" target=“_blank”>ワンピース</a>
<img src="imgs/one.jpg" class="gazou">
</div>
<div class="gazou-no-oya">
<a href="https://ja.wikipedia.org/wiki/ドラゴンクエスト" target=“_blank”>ドラゴンボール</a>
<img src="imgs/db.jpg" class="gazou">
</div>
<div class="gazou-no-oya">
<a href="http://www.capcom.co.jp/monsterhunter/" target=“_blank”>ハンターハンター</a>
<img src="imgs/hh.jpg" class="gazou">
</div>
</article>
</section>
</main>
<footer>
<p>このサイトは◯◯のよって運用されています。</p>
</footer>
</body>
</html>
*{
margin: 0px;
padding: 0px;
}
main {
background-color: #eeeeee;
color: #74cfae;
overflow: auto;
}
header {
width: 100%;
padding: 5px 0px;
background-color: #eeeeee;
color: #74cfae;
}
section{
clear: both;
}
nav {
font-size: 20px;
}
p {
font-size: 30px;
}
aside {
clear: both;
text-align: center;
font-size: 30px;
}
footer {
clear: both;
height: 200px;
width: 100%;
padding: 5px 0px;
background-color: blue;
text-align: right;
color: #eeeeee;
font-size: 15px;
}
#site-name{
width: 100%;
font-size: 80px;
}
#ryouri {
clear: both;
width: 100%;
padding: 100px 0px;
text-align: center;
font-size: 60px;
color: #eeeeee;
background-color: #74cfae;
}
#game {
clear: both;
width: 100%;
padding: 100px 0px;
text-align: center;
font-size: 60px;
color: #eeeeee;
background-color: #7f7fff;
}
#manga {
clear: both;
width: 100%;
padding: 100px 0px;
text-align: center;
font-size: 60px;
color: #eeeeee;
background-color: #ff84c1;
}
.gazou-no-oya{
float: left;
width: 33%;
font-size: 30px;
text-align: center;
}
.gazou {
clear: both;
height: 300px;
width: 90%;
}