プログラミング初学時に学ぶCSSとは?ファイル作成から実用例まで詳しく解説

公開日: 2022.03.11
更新日: 2024.01.29
プログラミング初学時に学ぶCSSとは

CSSとは

CSSとはCascadingStyleSheets(カスケーディングスタイルシート)の略で、HTMLと同じくマークアップ言語になります。

プログラミング言語と混同しやすいのでご注意ください。

なぜマークアップ言語といわれるのかというと、HTMLがWEBページの骨組みを作るのに対して、CSSはWEBページの肉付けをする役割を持っています。

つまり、WEBページの見た目を整える働きをしてくれます。

今回はそんなCSSについてハンズオンで手を動かしながらどのような操作ができるのか学んでいきましょう。

プログラミング初心者はまずHTML/CSSから!という風潮からも判るように、プログラムを書く前の基礎知識にもなります。

CSSハンズオン解説

それでは早速ファイルを作成しCSSを書いていきたいと思いますが、まずは環境構築ですね。

【推奨環境】

  • ブラウザ:GoogleChrome
  • エディタ:VSCode

【ハンズオンの流れ】

フォルダ作成
フォルダ作成
sampleフォルダをデスクトップ上に作成
学習用フォルダとしてドライブに保存してい置いてもいいと思います
ファイル作成
ファイル作成
index.html/styles.cssファイルの作成
VSCode上でファイルを作成します。
ファイル編集
ファイル編集
index.htmlに基本コードを書きます
ここでブラウザに表示させてみましょう。
ファイル更新
ファイル更新
styels.cssの編集
HTMLに対して色や文字の装飾を施してみましょう。

ファイル作成

デスクトップ上に「sample」というフォルダを作成しましょう。このフォルダの中にCSSファイルを格納していきます。

ファイルの作成を説明する画像

次にVSCodeを開いて、ファイルを作成していきます。

ファイル→フォルダを開くから先ほど作成した「sample」フォルダを選択しましょう。

フォルダを選択した状態で「新しいファイル」から「index.html」というファイルを作成します。

ファイル名は何でもいいのですが、indexとつけるのが慣習です。

注意事項
拡張子は必ず.htmlにしてください。動作確認ができなくなります。
htmlの基本コードを入力する画像

HTMLの基本コードを入力します。

1から手打ちでもいいのですが、せっかくなのでEmmetという自動補完機能を使いましょう。

!(エクスクラメーションマーク)を入力し、<!DOCTYPE html>を選択し、Enterを押下すると下記画像のように基本コードが補完されます。

htmlの基本コードを入力する画像

リンク作成

本題のCSSファイルを作成しますが、リンクも一緒に作成してしまいましょう。

index.htmlの<head>タグ内に<link rel="stylesheet" href="styles.css">と入力してください。

先ほどのEmmetを使うのであればlinkと入力するだけで <link rel="stylesheet" href=""> まで補完してくれます。

リンク先アドレスである styles.css をCtrl+クリック(macの場合はCommand+クリック)するとファイルが無いので作成するか聞かれます。「ファイルの作成」をクリックします。

これでCSSファイルとCSSファイルへのリンクを同時に作ることができました

cssでリンクを作成する画像

ファイル編集

index.htmlファイルを少し編集しましょう。

今回制作するのはホームページでよく見るヘッダー部分になります。

会社名が左にあり、メニューが右側に並んでいるよくあるヘッダーメニューです。

シンプルなメニューですが、CSSの大事なエッセンスが詰まっていますよ。

ファイル編集する画像
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
    <link rel="stylesheet" href="styles.css">
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>css株式会社</title>
</head>
<body>
    <header>
        <h1>
            <a href="#">css株式会社</a>
        </h1>
        <nav>
            <ul>
                <li><a class="menu-item" href="#">当社について</a></li>
                <li><a class="menu-item" href="#">事業内容</a></li>
                <li><a class="menu-item" href="#">会社概要</a></li>
                <li><a class="menu-item" href="#">お問い合わせ</a></li>
            </ul>
        </nav>
    </header>
</body>
</html>
全くcssが当たっていない文字の画像

まだindex.htmlしか編集していないので、まったくCSSがあたっていない状態です。

HTML要素は左上から積み重なっていくので、CSSを何も書かない場合は左上から順に並んでいきます。

要素を横並びに変更

それではCSSを使って要素を横並びにしてみましょう。

styles.css
header {
    padding: 30px 10px;
    top: 0;
    position: fixed;
    width: 100%;
    background-color: white;
    display: flex;
    align-items: center;
 }

display: flex;をすることで、header内の要素を横並びにすることができます。

メニューリストも横並びに変更

続いて、<ul>タグ内のメニューも横並びにしましょう。

styles.css
 ul {
    list-style: none;
    margin: 0;
    display: flex;
 }
メニューを横並びした画像

余白を設定

要素同士が近すぎてメニューとしてわかりにくいので、marginを使って余白を作りましょう。

ちなみに要素の外側の余白がmargin内側の余白がpaddingになります。

メニューに余白を設定した画像
<a>タグを使うと必ず青色の文字になり、下線が入ってしまいます。

テキストの装飾を削除

text-decoration: none;を指定して、下線を消しましょう。

ついでに文字色も黒色に変更します。

styles.css
a {	
    text-decoration: none;
    color: rgb(0, 0, 0);
 }
メニューのテキストを設定した画像

余分な余白を削除

これはCSSファイルを作ったときに最初にやっておくとよいことですが、初めから要素の外側や内側に微妙な余白があるので消しておきます。

styles.css
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
 }
 body {
    background-color: lightgray;
 }

どこまでがメニューなのかわかりにくいので、全体の背景色をライトグレーにしています。

メニュー部分に色をつけた画像

ホバー時の挙動を設定

最後にマウスホバーした際の挙動を設定しておきます。

クラス名:hoverとするだけホバー時の挙動を設定することができます。

styles.css
h1>a:hover {
     color: darkgray;
 }

.menu-item:hover {
    color: gray;
    text-decoration: underline;
 }

これですべての設定が終わり、それっぽいヘッダーメニューを作ることができました。

完成後のソースコード

styles.css
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
 }
 body {
    background-color: lightgray;
 }
 header {
    padding: 30px 10px;
    top: 0;
    position: fixed;
    width: 100%;
    background-color: white;
    display: flex;
    align-items: center;
 }
 h1>a:hover {
     color: darkgray;
 }
 a {	
    text-decoration: none;
    color: rgb(0, 0, 0);
 }
 .menu-item:hover {
    color: gray;
    text-decoration: underline;
 }
 nav {
    margin: 0 0 0 auto;
 }
 ul {
    list-style: none;
    margin: 0;
    display: flex;
 }
 li {
    margin: 0 0 0 20px;
    font-size: 14px;
 }

まとめ

いかがだったでしょうか。ヘッダーメニューを作ることで、要素を横並びにしたり、余白を付けたりホバーの挙動を設定したりと、様々なプロパティを使うことができました。

以下に今回使ったプロパティをまとめているので、こちらも参考にして下さい。

使用したCSSプロパティ一覧

参考サイト(MDN WebDocs):https://developer.mozilla.org/ja/

プロパティ名効果
box-sizing要素の幅(width)と高さ(height)の中にpaddingとborderを含めるかどうか
border-boxの場合、paddingとborderを幅(width)と高さ(height)に含める
margin要素の外側の余白
padding要素の内側の余白
background-color背景色*backgroundでも指定可能
top, bottom, left, right要素の位置指定
position要素の配置方法
widht要素の横幅
height要素の縦幅
display表示形式
値をflexにすると横並びにすることができる
align-items要素の配置指定
color文字色
text-decoration文字の装飾
list-style箇条書きの頭に付く「・」の設定
値をnoneにすることで非表示
font-sizeフォントサイズ

関連記事

資料請求

  • 短期集中で最速エンジニア転職を実現-転職成功者インタビュー一覧

    DMM WEBCAMPでは転職成功率98%を実現しています。本資料では、元警察官や元ラーメン屋など様々なバックグラウンドを持つ卒業生の声をお届けします。

    資料をダウンロードする
  • IT技術がもたらす3つの変化と身につけるべきスキル

    IT技術の発展により、今後10~20年程度で47%の仕事がなくなると言われています。どのような変化が訪れ、私達はどのようなスキルを身につけるべきかを解説します。

    資料をダウンロードする
  • 未経験がフリーランスエンジニアになる方法-年収アップで自由な働き方を手に入れる

    働き方改革やリモートワークの影響でフリーランスという働き方の人気は高まりつつあります。フリーランスエンジニアとして活躍するために必要な情報をお届けします。

    資料をダウンロードする

© 2024 WEBCAMP MEDIA Powered by AFFINGER5