初版作成 2014.2
最終更新 2024.04.01
「html & スタイルシート プロ顔負けのホームページ作成術」 西村文宏 成美堂出版
普通は別ファイルにしてヘッダでインクルードする
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
ヘッダの中に記述する方法
<head>
<style type="text/css">
h1 {
font-weight: normal;
}
</style>
</head>
一箇所だけ指定する方法
<p style="background:#ffffcc;">文章</p>
css ファイル中でのコメントは /* aaaaa */ のみ // はエラーが発生し、それ以降の設定が無効になる。 このエラーは発生に気がつきにくいので、嵌まる原因となる。 php の中と混同しないように
* { あらゆる要素に適用
margin-top: 0px;
}
body {
background: gray;
}
h1,h2 {
background: #000000;
color: #ffffff;
}
p {
color: darkblue;
text-indent: 1em;
}
>> 文字単位
□□□□<span class="pen1">○○○○</span>□□□□
蛍光ペン
span.pen1 {
background-color: yellow;
padding: 0.1em 0px;
}
アンダーライン
span.pen1 {
border-bottom: double 3px red;
}
span よりも strong の方がふさわしいかもしれない。
span の部分を省略して
.pen1 {
}
のように書くことも可能。
>> 段落単位
<p class="main">主要箇所</p>
<p class="note">注釈</p>
p.main {
line-height: 1.4;
}
p.note {
font-size: 80%;
color: green;
}
p は省略可能
>> 複数の要素をまとめたブロックに適用
<div class="bar">
</div>
div.bar {
background-color: green;
padding: 0.5em;
}
class は複数箇所に指定できるのに対して、
id は 1 つの html ファイルに 1 箇所しか設定できない。
ゆえに、ヘッダ、サイドメニュー、メイン記事、フッタなどの
領域ごとの設定に適する。
<div id="header">
</div>
#header {
background: red;
}
>> id とタグの組み合わせ
<div id="id1">
<h2>見出し2</h2>
</div>
#id1 h2 { /* div で囲まれた領域内のみ適用 */
margin: 0;
}
>> id とクラスの組み合わせ
<div id="toiawase">
<div class="inner">
</div>
</div>
#toiawase .inner{
background: #ffffff;
padding: 0 10px;
}
<div class="navi">
<ul>
<li>aaaa</li>
<li>bbbb</li>
</ul>
</div>
.navi {
padding: 0;
}
.navi ul {
background: #2088e1;
list-style: none;
margin: 0;
}
.navi ul li {
background: url(images/image.png) no-repeat 10px 16px;
border-bottom: #ffffff dotted 1px;
}
line-height: 1.4 行間 color: #7fffd4; 文字の色 background-color: black; 背景色 font-size: 240%; サイズ font-weight: bold; 太さ normal bold font-family: monospace; フォント monospace serif sans-serif text-align: right; 配置 left right center letter-spacing: 0.7em; 文字間隔 text-indent: 1em; 字下げ
border-style: solid double dotted dashed
border-color:
border-width: 0px 3px 3px 0px;
値の個数
1 上下左右
2 上下 左右
3 上 左右 下
4 上 右 下 左
margin: 0.5em 0px; 境界の外側の余白
margin-top:
margin-bottom:
margin-left:
margin-right:
padding: 0.1em; 境界の内側の余白
<p>
<img src="aaa.jpg" class="gazou">
画像の説明
</p>
<p class="stopfloat">
次の文章
</p>
img.gazou {
float: right;
border: double 4px #a52829
margin-left: 5px
}
p.stopfloat {
clear: both;
}
body {
background: url("aaa.jpg") no-repeat 10px 20px #ff00ff;
}
位置は左から 10px, 上から 20px
>> 画像を自由な位置に配置する
<div>
<img src="aaa.jpg" class="sakura">
</div>
img.sakura {
position: absolute;
top: 3px;
right: 3px;
}
>> 画像と文字を重ねる
<div class="base">
<img src="aaa.jpg" width="200" height="150"><br>
<div class="moji">
ここに文字を書く
</div>
</div>
div.base {
position: relative; /* 画像の左上を基準位置とする */
}
div.moji {
position: absolute;
top: 30px;
left: 30px;
width 130px;
}
div.base の中に div.moji が入れ子になっているので、
div.moji での position が div.base の左上になる。
<ul class="gazou">
ul.gazou li {
list-style-image: url("aa.gif");
}
ul li {
color: blue; /* 文字色 */
padding-left: 0.2em /* 画像と文字の間隔 */
}
<ul class="navi">
<li><a href="link1.html">メニュー1</a>あ</li>
<li><a href="link2.html">メニュー2</a>い</li>
<li><a href="link3.html">メニュー3</a>う</li>
</ul>
ul.navi {
background-color: blue;
color: yellow;
margin: 0px;
padding: 10px; /* background-color の領域 先頭記号は含まれない */
}
ul.navi li {
display: inline; /* 横に並べて表示
自動的に list-style-type: none になるようだ */
list-style-type: none; /* 先頭文字不要 */
margin: 1em; 3em; /* 上下のマージン (3em) は効かないようだ */
}
ul.navi a {
color: white;
text-decoration: none; /* リンクの下線を消す */
border: 1px blue solid
}
ul.navi a:hover { /* カーソルが上に乗ったときの色 */
border: 1px yellow solid;
background-color: #aaccff;
color: blue;
}
<p class="pri">
program list
等幅
</p>
p.pri {
white-space: pre;
font-family: monospace;
border: solid 1px green;
padding: 1em;
}
<p class="indent">
この段落は字下げする。
</p>
p.indent {
text-indent: 1em;
}
a:link { color: #4D82C4;} /* リンク */
a:visited{ color: #800080;} /* 訪問済リンク */
a:hover{ color: red;} /* カーソルが上にある */
a:active{ color: red;} /* クリックした瞬間 */