う~ん・・・
どうしたのアイカちゃん?
あ、ユウキくん! 実は・・・
ホームページを作ってて、配置を変えるにはどうしたらいいかわからなくて・・・
うさタブに任せるッピ! 3分で片付けるッピよ~!
要素の配置について勉強しよう
元になるコード
<!DOCTYPE html>
<html lang="ja">
<head>
<style>
</style>
<meta charset="UTF-8">
</head>
<body>
<p class="A">文章を左揃えにします</p>
<p class="B">文章を中央揃えにします</p>
<p class="C">文章を右揃えにします</p>
</body>
</html>
上のコードを元に学習していくッピ!
【メモ帳】にコピーして用意するッピネ!
文章の配置を動かしてみる
試しに文字の場所を動かしてみるッピヨ~!
<style></style>の間に
.A {text-align: left; }
.B {text-align: center;}
.C {text-align: right;}
と入力するッピよ~
すごい! 文章が3つの場所にわかれてるわっ!
ふふふふ、これがCSSの魔法ッピ!
文字を左に寄せる text-align: left;
text-align は文章の配置を変えるプロパティッピ!
text-align: left; は文章を左に配置する命令文ッピヨ!
文字を中央に配置する text-align: center;
text-align: center;
これは文章を中央揃えする命令文ッピ!
文字を右に寄せる text-align: right;
最後は text-align: right;
これは文章を右に配置する文章ッピネ!
回り込み設定でブロックの場所を変えてみよう
あのね、ウサタブさん・・・
実はさっきのやり方、わたしが考えてるのとちょっと違って・・・
元になるコード
<!DOCTYPE html>
<html lang="ja">
<head>
<style>
.A {
background-color: red;
height: 150px;
width: 150px;
}
.B {
height: 150px;
width: 150px;
background-color: blue;
}
</style>
<meta charset="UTF-8">
</head>
<body>
<p class="A">ブロックを左に固定して、次の要素を回り込みします</p>
<p class="B">ブロックを右に固定して、次の要素を回り込みします</p>
</body>
</html>
これを、こんな風にできないかしら?
さっきのtext-alignでやっても、文章の位置が変わるだけで効果がなくって・・・
<style>
.A {
height: 150px;
width: 150px;
background-color: red;
text-align: left;
}
.B {
height: 150px;
width: 150px;
background-color: blue;
text-align: left;
}
</style>
なるほど~
アイカちゃんは、文章や画像のようなインライン要素ではなく、
<div>や<p>のようなブロック要素の配置を変えたいッピな~
それなら、ちょっと設定を変えて
text-alignの代わりに
.A {float: left;
.B {float: right;
と追加するッピよ~
すげえええ!!
さっき動かなかったものが動いてる!!
ふふふ、これがプログラミングの魔法ッピヨ!
グループのブロック要素と中身のインライン要素
HTMLの中身は
段落のグループであるブロック要素と
中身になるインライン要素に分かれるッピネ!
インラインとブロックで何が違うんだ?
ざっくりいうと、最初にやった
text-align: は インライン要素 に働きかけるプロパティ
float: はブロック要素に働きかけるプロパティッピ!
ブロック要素を動かす float
float は<div><p><main>など、
ブロック要素を動かすプロパティッピ!
text-align でブロック要素は動かせないから気をつけるッピヨ~
ブロックを左に動かす float: left;
float: left; はブロック要素を左に動かすプロパティッピ!
ブロックを左に動かす float: right;
float: right; はブロック要素を右に動かすプロパティッピ!
回り込みを解除しよう
むううううっ
どうしたのアイカちゃん?
あ、ユウキくん・・・
実はさっきのホームページの続きなんだけど・・・
元になるコード
<!DOCTYPE html>
<html lang="ja">
<head>
<style>
.A {
float: left;
background-color: red;
height: 150px;
width: 150px;
}
.B {
float: right;
height: 150px;
width: 150px;
background-color: blue;
}
</style>
<meta charset="UTF-8">
</head>
<body>
<p class="A">ブロックを左に固定して、次の要素を回り込みします</p>
<p class="B">ブロックを右に固定して、次の要素を回り込みします</p>
<p class="C">テスト</p>
</body>
</html>
こんな風になぜか真ん中に文字がきちゃうの・・・
これ、下に移動するってできないかなぁ~
これはオレも勉強してないな・・・ランプは知ってるか?
任せるッピ!
これは回り込みを解除することで解決できるッピヨ!
<style></style>の中に、
.C {
clear: both;
}
と追加するッピネ!
わっ! ちゃんと下に文章がきてる!
やったなアイカちゃん!
ブロックを中央に配置する
思ったんだけどさ、
これって中央にブロックを置くってできないのか?
もちろんできるッピヨ!
そういうときは margin タグを利用するッピネ!
<style></style>の間に
.D {
margin: auto;
background-color: yellow;
height: 150px;
width: 150px;
}
<p class="D">ブロックを中央に配置します</p>
と入力するッピよ~
おおおお! できてる!
中央にブロックを置くには、marginを使うのね!
ブロックを中央に揃える margin: auto;
中央にブロック要素を配置するには
margin: auto;
を使うッピネ!
float では左右にしか配置できないから注意するッピヨ~!
次のページでは float を使わずに横並びする方法が書いているッピヨ!
margin が効かずに困っている人にも必見のCSSを紹介するッピネ!