ホームページの自作
(HTML CSSの書き方)

ホームページを自分で書けば制作費用はゼロ円。
簡単に書けるし、修正も自分ですぐにできる。
アプリに頼る必要もない。業者に依頼する必要もない。制作費用は全くかからない。
年間2000円ほどでサーバをレンタルでき、変な広告も入らない自分・自社
オリジナルなホームページを自作して維持できる。

HTML入門

ホームページはビルダなどのアプリで作るのではなく、自分の手で そのプログラムを書こう。
簡単に作れる。ホームページは「HTML」という言語で プログラミングする。
実はプログラミングとは言えない簡単な構成なので誰でもすぐに修得できる。

「HTML」言語は表示したい文章や写真・図をホームページとして
表示させるためのプログラムだ。

例えば「ここに文章を大きく表示する、ここに写真を表示する」
などを「HTML」言語で記述してホームページとして表示させる、という仕組み。

HTMLで書いたプログラムや文章、写真などはレンタルサーバにアップして 公開すれば、
世界中の人に見てもらえる。レンタルサーバにアップするのも簡単。

HTMLはタグというもので挟む構成。
例えば  <h1>ねこの飼い方</h1>  というプログラムの書き方をする。
「ねこの飼い方」という文を<h1>と</h1>で挟んでいる構成。
<h1>の部分をタグという。<h1>タグは「題目」を表示させる命令になる。
つまり「ねこの飼い方」という文がホームページでは大きく表題のような表示になる。
このページの一番最初の「ホームページの自作」という部分が<h1>で表示している。

全体のプログラムは以下のような構成になる。
<html>
<head>
</head>
<body>
<h1>ねこの飼い方</h1>
</body>
</html>
これだけでホームページは出来上がり。上のプログラムをメモ帳で記述、保存 して、
保存したファイルをダブルクリックするとホームページが表示される。
(「ねこの飼い方」以外のタグの部分は半角英数で記述、メモ帳で「neko.html」と 保存する。
.の後はtxtではなくhtmlと書くように)

上のプログラムでは全体を<html>で挟んでいる。
その中に<head>で挟む領域と
<body>で挟む領域の2つの部分で構成される。
<body>で挟む領域に本文を書く。<head>で挟む領域は各種設定を書く。
例えばこんな感じになる。

ただし、本チャンで書くなら、もう少しまじない的な記述を付加して、
こんな風になる
意味を知りたい時はまたどこかで参照の事。


HTMLで色々書いてみる

<body>~</body>の間に色々プログラムを書いてみる。
プログラムと表示結果を見比べてみる。

プログラムの例


画像を表示させる

ホームページには写真や図を入れられるのが最大の利点。
写真や図を多用して、閲覧者への理解を深める事ができる。
ここでは<img>タグを使ってみる。
<img>タグを使ったプログラム例


表を表示させる

表を表示するための<table>タグという物がある。
ホームページを表示させるシステム(言語やブラウザ)は元々は研究所内で
論文を共有するためのもの。なので表を表示させる機能がある。
<table>タグを使ったプログラム例

CSSの使い方の説明

上述のプログラム例を見ると、全てが左に寄って、所々右に伸びて
あまり見栄えは良くない。それを少し良くするために使うのがCSSという
プログラムで、HTMLとは全く異なるもの。でも同一ファイルの中に書く。

ここではなるべく一読だけで、すぐCSSを書けるように説明する。
理解優先で説明するので定義や用語、細かい設定などは割愛している。
<html>を手書きで記述できる人向けに説明にしている。

ここでCSSを理解できれば、詳細や応用もどんどん理解してゆけるはず。
CSSはWebページの「見栄え」を良くするためだけに利用されるもの。
個人でページを自作する人にはそれほど利用価値はない。
見栄えが必要なのは企業だ。 見栄えに手間暇をかけたページほど中身がないものだ。

(注意)
HTMLやCSSを書いて自分のパソコンでその仕上がりを見るのはいい。
でも多くの人のパソコンで同じように表示される保証はない。先端仕様のプログラム
を駆使してもそれほど意味がないので、あまり複雑なものではなく、オーソドックスな
命令だけを使ってプログラムしたいものだ。

CSSの多数のプロパティやその個々の詳しい内容は他のCSS解説ページを参照するように。


CSSとHTMLの関係

CSSはHTMLのタグごとに表示スタイルを設定する為のもの。
例えば<p>タグの箇所の文字の色を赤にする命令とかを記述する。
1つのCSS命令でどのHTMLタグにそれを作用させるか、を設定する。
CSS命令はHTMLファイルの中に一緒に書き込む。(別ファイルにする方法もある)

まずはここのソースファイルを見てみて
HTMLファイルの<head>の領域で、
<style>と</style>で挟んだ間にCSS命令を書く。

CSSの命令は下の3行で1つ命令単位になっている。


p#xyz{
color:#123456;
}
この3行でCSS命令1つ分。続けて1行に書いても構わない。
p#xyz{ color:#123456;}
これで<p>タグを装飾する命令になっている。詳細後述

CSSの各部の名称

説明全体で使うので、まずは「セレクタ」、「プロパティ」という 2つの名称だけ覚える。

CSSの命令は以下の形をしている。


p#xyz{
    color:#123456;
}

「セレクタ」は{ の前に書く名前のようなもの。 これで装飾するHTMLタグを指定する。
その後ろに中カッコ{ }で「プロパティ」を囲む構成。
「プロパティ」は:の後に値を書き、最後に;で終わる。
{ }内に複数のプロパティを列記する。プロパティで装飾する内容を記述する。
例えば文字色はXX、文字のスタイルはYYという風に複数行が並ぶ形。詳細後述


各部の意味

例えばhtmlの記述中に
<p>日本の国土、国民はすばらしい</p>  
という<p>タグで挟んだフレーズがあり、その見栄えを良くするのに、
 
 
p#xyz{
    color:#123456;
    font-weight:bold;

 
 

というCSSを書く。
セレクタの「p」は<p>タグを差す。「#xyz」は 任意で付ける名前。
<p>タグの内xyzという名前がついた物を装飾する。
(例えば<p id=”xyz”>日本の国土</p>という部分)
この名前とタグ名でCSSを適用させる部分を決定する。
上述のCSSは<p>タグの中にid=”xyz”が付いた箇所だけに作用し、
他の<p>タグには影響しない。

<html>の方では、このCSSを受けるために<p id=”xyz”>と書く。
するとそのタグに挟まれた部分だけ文字色が#123456になり、フォントが 太文字になる。
(色の指定は16進数6ケタで表現する。例えば#ff23abとか)

 
 
p#xyz{
    color:#123456;
    font-weight:bold;

------------------
<p id=”xyz”>日本の国土、国民はすばらしい</p>
 

というように、CSSセレクタと<p>タグを対にして構成する。
このCSSのセレクタ「p#xyz」は<p>タグ内に
「id=”xyz”」が付いているものだけに作用する。

 

「#xyz」と「id=”xyz”」が対になっているのと同じように
「.xyz」と「class=”xyz”」も対で使う。.とclassになっただけ。
機能的には同じ。例えば・・・
 
p.xyz{
    color:#123456;
    font-weight:bold;

------------------
<p class=”xyz”>日本の国土、国民はすばらしい</p>
 
 
CSSの命令は <head>・・・</head>の領域の中に、
<style>・・・</style>の領域を作り、その 間に記述する。
別ファイルとして読み込む方法もある。
ここまでのソースコード表示結果

上のソースコードはテキストなのでそのままコピー&ペーストで使える。
色々自分で手を加えて実験すればいい。
ファイル保存はもちろん「.html」で、文字コードは 「UTF-8」を意識的に指定するように。
ソースコード中の<meta charset=”UTF-8”>とか、
<style type=”text/css”> の定文は何となく分かるでしょ。
おまじないを含めた本チャンのソースコード

 

写真と文章

自分は写真に文章を入れた構成を多用するので、そのCSSを記述・説明する。

日本の桜はソメイヨシノが多い。この桜は春先、葉っぱが出る前に満開に なる。樹全体が花でいっぱいに満たされる。その美しさは他の花樹木にはみられない 豪快さと美しさと優雅さが1つになっている。

平安時代の歌人があまりにたくさんの桜の歌を詠んだ事も、1000年を超えて 現代でも理解できる。日本人っていいな。

上のように写真の横に文章を入れる構成にするために次のCSSを書いた。

img.fl{ 
    float:left;
    padding:8px; 
} 

セレクタ「img.fl」は<img>タグのclass=”fl”に適用させるもの。
プロパティの「float:left;」は画像を左に寄せて右側に文章を流れ 込ませるもの。
プロパティの「padding:8px;」は<img>タグで指定する画像の 周囲に8ピクセル分の余白を入れるもの。

あと次のようなCSSも必要になる。流れ込み解除のCSSだ。

.cl{ 
     clear:both; 
} 

このセレクタにはタグを指定する部分がなく「.cl」だけ。
classの部分だけ 記しているので、色んなタグで利用できる。
このCSSは上述の「float」で設定した流し込む機能を解除するためのもの。
これによる解除を行わないと、続く文章も写真の右側に入ってしまう。

<html>側でこのCSSを利用するには
<img class=”fl” src=・・・・> といれると、
写真は左に寄り右に文章が流れ込む。
流れ込み文章のあとの<p>タグに <p class=”cl”> を入れると
それ以降の文章は流れ込まなくなる。
または流れ込み文章の一番最後の改行タグで
<br class=”cl”>としても良い。

ここまでのソースコード表示結果  
 

Boxのこと

CSSでboxという言葉(扱い)があるが、htmlタグではboxなどという物は何も存在 しない。
つまりboxの概念はあるが実体は何も無い。CSSのプロパティで width:300px height:400px と範囲などを設定するだけで、boxの扱いになる。 boxというプロパティなどもない。
width や height という範囲で囲んだ所が box になる。width, heightどちらか 1つでもboxになる。 そうして指定した範囲(つまり box )に色々プロパティで指定できる。

この「Boxのこと」という章では、上の説明文章は横に長く伸びている。CSSでwidthを 指定していないから(つまりboxを設定していない)。 下の紫の文字の部分はboxを設定した例になる。

box単位で囲み線を入れたり、背景色を指定したり、boxを表示する位置を指定したり できる。

この部分にboxを設定している。ソースコードでは長々と文章を書いているがboxで 囲まれているため、色んな形や色や文字設定になっている。
boxの設定は色々おかしな現象になる。入れ子にしたり重なるような設定にすると 何がなんだか分からない状態になるので、かなり慣れるまではシンプルな形態で 利用するのがいいだろう。またWebページを見る人のブラウザがどこまで対応して いるとかによって、表示形態が変になったりしかねない(アクセスビリティ)。
この部分もにboxを設定している。文字の色、背景色、囲み線を設定した例。
こういう装飾に時間をかけるよりは、文章の表現や写真に注力した方がいい。 筆者も偉そうな事は言えないが、できるだけ読み手に分かりやすいように表現や 構成を考察し、時間を置いてまた読み返して、分かり難い表現などは何度も 修正している。それでも完全ではない。

boxの設定には色んなプロパティがある。他のサイトを参照。
boxを設定したソースコードは下でみて。
ソースコードを参考に、色んなプロパティでどんな表示になるか実験してみるといい。

しかしページの閲覧者が自分と同じプラウザを使っているとは限らない。
boxの設定によっては変に重なったりするかも知れない。

こんな物を多用するよりは 伝えたい内容の充実に時間を割きたいものだ。

ここまでのソースコード  表示結果  

HTMLの書き方の一番最後のページ「表を表示させる」の所をCSSを使って修飾すると
こんな感じ。元々は横にだらーっと長くのびる物をBoxモデルでこじんまりにした。

「ねこの飼い方」