0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HTML・CSSの学び直し。

Last updated at Posted at 2025-05-19

HTML

タグ構成

<h1 id="id1">かちかちやま</h1>
  • 要素:h1のタグ全体
    • 要素名:h1
  • 属性(プロパティ):id="id1"
    • 属性名:id
    • 属性値:id1
  • リンクについて
    • アンカーリンク:ウェブページ内の特定の位置へ直接ジャンプできるように設定されたリンク

属性について

  • 属性は、タグに「もっと詳しい情報」を伝えるためのものです。
    • タグに「付け足し説明」をしてあげるイメージ。

書き方

<tag 属性名="値">コンテンツ</tag>
  • 属性名:何を指定するかの名前
  • 値:その属性に与える具体的な情報

<a href="https://example.com">リンク</a>

href が「属性」で、「リンク先URL」を指定してる

よく使う属性

属性名 よく使うタグ どんなときに使う?(意味)
id すべてのタグ 1つだけの名前をつける。
CSSやJSで特定の要素を操作したいとき。
class すべてのタグ 複数の要素に名前をつけて、グループでまとめて操作できる。
href <a> リンク先のURLを指定する。
src <img>など 画像や動画のファイル場所を指定する。
alt <img> 画像が表示できないときに出る代わりのテキスト。
title すべてのタグ マウスを乗せたときに出てくる説明文(ツールチップ)。
target <a> _blankにすると新しいタブでリンクが開く。
type <input> 入力欄の種類(例:textpasswordemailなど)。
value <input> 入力欄やボタンの中の初期値を指定。
name <input> フォームで送信するときのデータ名(サーバー側で使われる)。
placeholder <input> 入力欄に薄く表示されるヒント文字。
checked <input type="checkbox"> 最初からチェックを入れておく。
disabled フォームタグ 選択や入力ができなくなる。
required フォームタグ 入力が必須になる(空だと送信できない)。

終了タグが不要な要素

HTMLには2種類のタグがあります。

1. 内容を持つタグ

開始タグと終了タグでコンテンツを囲むタイプです。

  • :
    • <p>ここにテキストが入る</p>
    • <div>色々な要素を囲む</div>
    • <a>リンクのテキスト</a>
    • <h1>見出し</h1>

2. 内容を持たないタグ

開始タグだけで完結し、終了タグは不要なタイプです。
これらのタグは、それ自体が機能や情報を示し、中にコンテンツを置くことはありません。

  • :
    • <input> (入力フォーム)
    • <img> (画像)
    • <br> (改行)
    • <hr> (水平線)
    • <meta> (メタ情報)
    • <link> (CSSファイルなどの外部リソースのリンク)

CSS

セレクタ

セレクタとは、CSSをどの要素に対して適用するのかを指定するものです。

セレクタ {
  プロパティ: ;
}

CSSセレクタの種類

  • 1.ユニバーサルセレクタ:*(全部の要素にマーク)
  • 2.タイプセレクタ:pdivなどタグ名そのもの
  • 3.クラスセレクタ:classで指定したもの(例:.menu
  • 4.IDセレクタ:idで指定したもの(例:#header
  • 5.属性セレクタ:[type="text"]のように、属性で選ぶ
  • 6.擬似クラス::hoverや:nth-child()のような状態や順番の指定
  • 7.擬似要素:タグがつけられない範囲に対してCSSを適用するセレクタ

複雑なものをメインに、詳しく解説していきます。

属性セレクタ

HTMLのタグには、いろんな属性(hreftypedisabled など)がついています。
その属性をもとにスタイルを当てられるのが、属性セレクタです。

[属性名] {
  スタイル;
}

下記のとき、よく利用されます。

  • フォームの種類ごとに見た目を変えたい(inputtype属性)
  • リンク先が外部サイトか内部かでスタイルを変えたい(href属性)
  • disabledされてるボタンだけ見た目を変えたい
  • クラス名に特定の文字が含まれる要素をまとめて選びたい

使用例

<input type="text" placeholder="名前">
<input type="submit" value="送信">
<input type="checkbox" checked>
<a href="https://example.com/page1">ページ1</a>
<a href="https://example.com/page2">ページ2</a>
/* typeが"text"のinput要素にスタイルを適用 */
input[type="text"] {
  border: 1px solid green;
  padding: 5px;
}

/* typeが"submit"のinput要素にスタイルを適用 */
input[type="submit"] {
  background-color: #007bff;
  color: white;
  border: none;
}

/* hrefが特定のURLと完全に一致するa要素にスタイルを適用 */
a[href="https://example.com/page1"] {
  font-weight: bold;
}

擬似クラス

  • 「特定の状態になった要素」にスタイルを当てるための特別なセレクタです。
  • 例えば、「マウスがのったとき」とか、「最初の子だけ」とか、HTMLでは書けない状態や条件にCSSを適用できます。

いくつか種類があるので、それぞれ解説していきます。

1.式擬似クラス

  • 「子要素の中で〇番目の子だけにスタイルを当てたい!」というときに使える、ちょっぴり便利なルール付きセレクタです。
  • 式にはodd(奇数)/even(偶数)のキーワード、数字のみも可となります。
a::nth-child(n)

「親の中でn番目の要素」にスタイルを当てる

li:nth-child(2) {
  color: red;
}

➡️ liの2番目の要素だけが赤くなる

複雑な入れ子の場合の例

<div class="grandparent">
  <p>Grandparent's first child (paragraph)</p>
  <div class="parent">
    <span>Parent's first child (span)</span>
    <p>Parent's second child (paragraph)</p>
    <ul>
      <li>List item 1</li>
      <li>List item 2</li>
      <li>List item 3</li>
    </ul>
    <div>
      <a href="#">Link 1</a>
      <a href="#">Link 2</a>
      <a href="#">Link 3</a>
    </div>
  </div>
  <span>Grandparent's third child (span)</span>
</div>

上記のHTML要素のように複数入れ子になっている場合、
下記のようにCSSを指定することで「親要素.parentの中のul要素の中にある、2番目のli要素」にスタイルを適用できます。

.parent ul li:nth-child(2) {
  color: blue;
  font-weight: bold;
}
b:nth-of-type(n)

同じタグ(要素)の中でn番目を指定したいとき!

p:nth-of-type(1) {
  color: blue;
}

➡️ <p>の中で最初のやつだけ青に!

c:nth-last-of-type(n)

「同じタグの中で、後ろから数えて〇番目」にスタイルを当てたいとき!

p:nth-last-of-type(1) {
  color: red;
}

➡️ 最後の<p>タグだけが赤くなる!

※偶数指定の方法はいくつかあります。

  • even
#footlinks section:nth-child(even){
}
  • 2n
#footlinks section:nth-child(2n){
}
  • n + 2
#footlinks section:nth-child(n + 2){
}

2.兄弟擬似クラス

a:first-child/ last-child

最初または最後の要素に指定できる!

/* 最初と最後のアイテムを強調 */
li:first-child,
li:last-child {
  background-color: gold;
  font-weight: bold;
}
b:first-of-child/last-of-child

同じタグの中で最初の子または最後の子に指定できる!

3.その他擬似クラス

HTMLのルート要素(=ページ全体の一番上)に指定する

要素:root

選択された要素に指定

要素:focus

チェックされた要素に指定

要素:checked

要素が子要素を持たない(内部が空である)場合にスタイルを適用

要素:empty

/* 中身が空のdivに背景色を適用 */
    div:empty {
      background-color: lightcoral;
      color: white;
      text-align: center;
      padding: 20px;
    }

指定した要素(セレクタ)を除外する

要素:not(セレクタ)

/* div以外の要素に背景色を付ける */
*:not(div) {
      background-color: lightgray;
    }

リンクに使う4つの擬似クラスの優先順位

以下の4つには優先順位があるよ👇

a:link  a:visited  a:hover  a:active
擬似クラス 意味
:link まだクリックしていないリンク
:visited 一度訪れたことがあるリンク
:hover マウスを上にのせているとき
:active リンクをクリックして押してる最中

擬似要素

  • タグがつけられない範囲に対してCSSを適用するセレクタ
  • インライン要素として作成されるので、ブロックレベルにしたいときはdisplayを設定すること

使用例紹介

  • 段落やブロックの「最初の行」だけを対象にスタイルを変えられる擬似要素
p::first-line {
  font-weight: bold;     /* 最初の行だけ太字に */
  color: red;            /* 赤色に */
}
  • 段落やブロックの「最初の1文字」だけを特別に装飾できる擬似要素
p::first-letter {
  font-size: 2em;        /* 文字を大きく */
  color: blue;           /* 青色に */
  float: left;           /* 左に浮かせて段落と並べる */
  margin-right: 5px;     /* 文字の右に余白 */
}
  • ある要素の「あと」に、見た目だけの内容を追加できる機能
h1::after {
  content: "🌸";
}

結合子

セレクタ同士をつなげて、もっと細かく狙いたい場所を指定できるものです。
よく使う結合子をご紹介します。

1. セレクタ1>セレクタ2:子セレクタ(直下の子だけに適用)

  • セレクタ1の子要素であるセレクタ2にスタイルを適用します。
    • セレクタ1: 親となる要素。
    • セレクタ2: セレクタ1 の直接の子要素。
ul > li {
  font-weight: bold;
}
  • <ul>の直下の<li>だけに適用する
  • 例えば、
    <ul><li>OK</li><div><li>NG</li></div></ul>の場合、2つ目の<li>NG</li>は選ばれない。

2.セレクタ1 セレクタ2:子孫セレクタ

  • 「セレクタ1 の中に含まれる(子孫である)すべての セレクタ2にスタイルを適用する」という意味になります。
    • 親となる要素をセレクタ1で指定します。
    • セレクタ1 の子孫にあたる要素をセレクタBで指定します。
nav li,
nav a {
   background-color: yellow;
}
  • nav li<nav>の中にある<li>要素すべてに、黄色の背景がつく。
  • nav a<nav>の中にある<a>要素すべてに、黄色の背景がつく。

上記の例のように、違うセレクタを「,」でまとめてグループ化して、そのグループに同じスタイルを一気に適用できます!

3.セレクタ1+セレクタ2:隣接兄弟セレクタ

  • 同じ親要素を持つ要素の中で、「セレクタ1」の直後にある「セレクタ2」にスタイルを適用します。
    • セレクタ1 : 基準となる要素。
    • セレクタ2 : セレクタ1 の直後に続く兄弟要素。
<div class="parent">
  <p>最初の段落</p>
  <p>二番目の段落</p>
  <span>これはスパン</span>
  <p>三番目の段落</p>
</div>

<p>これは兄弟ではない段落</p>
/* p要素の直後に続くp要素にスタイルを適用 */
p + p {
  color: blue;
  margin-top: 20px;
}
  • 最初の段落 の直後に続く 二番目の段落 は青色になり、margin-top が適用されます。
  • 二番目の段落 の直後には <span>要素が続くため、三番目の段落 は p + pの対象になりません。
  • これは兄弟ではない段落 はdiv.parentの外にあり、同じ親を持たないので、対象外です。

4.セレクタ1~セレクタ2:一般兄弟セレクタ

  • 同じ親要素を持つ要素の中で、「セレクタ1」の後にあるすべての「セレクタ2」にスタイルを適用します。
    • セレクタ1: 基準となる要素。
    • セレクタ2: セレクタ1 の後に続くすべての兄弟要素。
<div class="parent">
  <p>最初の段落</p>
  <p>二番目の段落</p>
  <span>これはスパン</span>
  <p>三番目の段落</p>
</div>

<p>これは兄弟ではない段落</p>
/* p要素の後に続くすべてのp要素にスタイルを適用 */
p ~ p {
  color: green;
  border-left: 3px solid green;
  padding-left: 5px;
}
  • 最初の段落 の後に続く 二番目の段落 は緑色になり、左ボーダーが適用されます。
  • 最初の段落 の後に続く 三番目の段落 も緑色になり、左ボーダーが適用されます。間に <span>が挟まっていても適用されます。
  • これは兄弟ではない段落 は同じ親ではないので、対象外です。

結合子では、ul.myListなど、ある要素のクラス名・id名などの指定も可能です。

5.スペースがないクラス

セレクタA.セレクタB

スペースがない場合、「セレクタA」と「セレクタB」の両方のクラス(またはタグとクラス)を同時に持っている要素を指定します。

CSSセレクタの優先順位

  • CSSでは、!importantのついている指定は最優先として扱います。
  • 残りは、使用しているセレクタの種類から優先度を計算します。
    • 計算結果の優先度が同じだった場合、後の指定を優先

優先度早見表

セレクタの種類 優先度ポイント
インラインスタイル 1000点 <p style="color: red;">
IDセレクタ(#id 100点 #header
クラス(.class
属性([type="text"]
擬似クラス(:hoverなど)
10点 .btn, [type="text"], :hover
タグセレクタ(div など)
擬似要素(::beforeなど)
1点 div, p, ::after
ワイルドカード(* 0点 *(ほぼ優先度なし)

例:同じ<p>タグにすべて当たるとしても…
#mainが最も強い → 緑になります!

/* 優先度:10点 */
.btn {
  color: blue;
}

/* 優先度:1点 */
p {
  color: red;
}

/* 優先度:100点 */
#main {
  color: green;
}

color:文字色

image.png

color : #eee;

background:背景設定

  • HTML要素の背景色や、背景画像を設定できます。
  • backgroundプロパティで設定できるのは、ContentPaddingBorder の領域となります。
     
    よく使うプロパティは以下です。
プロパティ 内容
background-color 背景の色
background-image 背景に画像を設定する
background-repeat 背景画像を繰り返すかどうか
background-position 背景画像の表示位置
background-size 背景画像のサイズ
background-attachment スクロール時の背景の動き
background-blend-mode 複数の背景画像や色を「混ぜる」

個人的に複雑なものを、解説していきます。

1.background-repeat

背景画像を繰り返すかどうかを指定します。

div {
  background-repeat: no-repeat; /* 繰り返さない */
}
意味
repeat 縦横に繰り返す(初期値)
no-repeat 繰り返さない
repeat-x 横だけ繰り返す
repeat-y 縦だけ繰り返す

2.background-position

背景画像の表示位置を指定します。

div {
  background-position: center top;
}

指定方法

1.キーワード指定

意味
left, right, center 横方向の位置
top, bottom, center 縦方向の位置
background-position: left top;  /* 画像の左上を切り取って表示 */
background-position: center center;  /* 画像の中央を切り取って表示  */
background-position: right bottom;  /* 画像の右下を切り取って表示  */

1つだけ設定した際は、
横方向と縦方向の両方に同じ値が適用されます。

/*横も縦も中央に設定*/
background-position: center;

2.数値指定

background-position: 20px 10px;  /* 左から20px、上から10pxの位置 */
background-position: 50% 50%;    /* 横・縦ともに中央 */
background-position: 100% 0%;    /* 右上 */

3.background-size

背景画像の大きさを調整します。

div {
  background-size: cover;
}
意味
auto 元のサイズ(初期値)
cover 背景画像を要素全体に表示し、要素の領域を完全に覆うようにする
contain 背景画像が要素内に収まるように、縦横比を保ったまま可能な限り拡大します。要素からはみ出ることはありません。
幅 高さ 100px 50px のように指定
  • contain
    • 画像の縦横比を維持したまま、要素の幅または高さのいずれかが要素いっぱいに広がるように縮小・拡大されます。
    • 画像全体が必ず表示されます。
    • 要素のアスペクト比と画像のそれが異なる場合、画像が表示されない領域(余白)が上下または左右に発生する可能性があります。
    • 画像が引き伸ばされることはありません。
    • 例えるなら: 映画館のスクリーンに、画像全体が収まるように表示されるイメージです。スクリーンの形と映画の画面の形が違う場合、余白ができますが、映画の映像は全て見ることができます。
  • cover
    • 画像の縦横比を維持したまま、要素の幅または高さのいずれかが要素いっぱいに広がるように拡大・縮小されます。
    • 要素全体を覆うことを優先するため、画像の一部がトリミングされる可能性があります。
    • 画像が表示されない余白は発生しません。
    • 画像が引き伸ばされることはありません。
    • 例えるなら: 壁一面にポスターを貼るイメージです。壁の形とポスターの形が違う場合、ポスターの一部が壁からはみ出すことがありますが、壁はポスターで完全に覆われます。

4.background-attachment

背景画像を「固定して動かさない」か「コンテンツと一緒にスクロールさせる」かを決めます。

div {
  background-attachment: fixed;
}
意味
scroll 一緒にスクロール(初期値)
fixed 背景だけ固定して動かない
local コンテンツに合わせて動く
  • scrollは、スクロールして見上げたり見下ろしたりすると、画像も一緒に動いて見えなくなったり、再び見えたりします。
  • fixedは、上下にスクロールしても、背景画像は常に同じ位置に固定されて見えます。
  • localは、要素のコンテンツと一緒に背景がスクロールします。

5.background-blend-mode

  • 背景画像や背景色が複数ある場合に、それらをどのように合成するかを制御するために使用されます。
  • このプロパティは、以下の要素の組み合わせに適用されます。
    • background-image (複数指定可)
    • background-color
  • これらの背景が重なっている場合に、それぞれがどのように混ざり合って最終的な色になるかを指定します。
background-image: url("画像1.jpg"), url("画像2.jpg");
background-color: rgba(255, 0, 0, 0.5);
background-blend-mode:  <mode>;
モード名 効果のイメージ
normal ブレンドは行われず、一番上の背景が下の背景をそのまま覆い隠します。
multiply(使用頻度高) 上下の色を掛け合わせます。暗い色が優先され、全体的に暗くなります。白い部分は透明になり、黒い部分は黒のまま残ります。
screen(使用頻度高) 上下の色を反転させて掛け合わせます。明るい色が優先され、全体的に明るくなります。黒い部分は透明になり、白い部分は白のまま残ります。
overlay(使用頻度高) multiplyscreenを組み合わせたようなモードです。下のレイヤーの明るい部分はより明るく、暗い部分はより暗くなります。コントラストが上がります。
darken 上下のピクセルを比較し、より暗い色のピクセルが表示されます。
lighten(使用頻度高) 上下のピクセルを比較し、より明るい色のピクセルが表示されます。
color-dodge 下のレイヤーを明るくし、コントラストを下げます。
color-burn 下のレイヤーを暗くし、コントラストを上げます。
difference 上下の色の差分を表示します。似た色だと黒っぽく、異なる色だと鮮やかになります。
luminosity 下のレイヤーの色相と彩度を保ち、上のレイヤーの明度を適用します。

background-imageを複数指定した場合:

  • 最初に書いた画像が一番手前(一番上)のレイヤー。
  • 次に書いた画像がその下(奥)のレイヤー。
  • 一番最後に書いた画像が、そのすぐ下のレイヤーになります。
    そして、すべてのbackground-imageの一番下に、background-colorが配置されます。

※画像が1枚しかないときは、画像と色の比較となります。

レイヤーのイメージ図は下記です。

[一番手前(一番上)のレイヤー: background-image (1つ目)]
[その下のレイヤー: background-image (2つ目)]
[さらにその下のレイヤー: background-image (3つ目)]
-------------------------------------------------
[一番奥(一番下)のレイヤー: background-color]

適用される順番

  • 指定された複数の背景画像(一番下層の画像から順に、background-colorとブレンドされる)、または一番上の背景画像とbackground-colorの間に適用されます。
  • 複数のbackground-imageがある場合、一番上の画像から順に、そのすぐ下の画像や色とブレンドされていきます。
  • 例えば、background-image: url(img1.png), url(img2.png); background-color: blue;の場合、img1.pngimg2.pngがブレンドされ、その結果が blue とブレンドされます。ブレンドモードを複数指定することで、それぞれのブレンド方法を制御できます。

background一括指定

  • backgroundプロパティをそれぞれ一括で指定することも可能です。
  • 各プロパティの順番は決まっていますが、必ずしも全部書く必要はありません。
    • 書かない部分はデフォルト値が使われるから、必要なものだけ書けばOKです。

positionsizeを両方指定したい場合のみ決まりがあります。
→はじめにpositionの値をかき、/ で区切ってsizeをかきましょう!

基本構文

background: [color] [image] [repeat] [position] [attachment] [size];

使用例

div {
  background: url("flower.jpg") no-repeat center center / cover #fefefe;
}

上記はそれぞれに分割すると、下記の意味となります。

background-image: url("flower.jpg");
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-color: #fefefe;

テキストプロパティ

フォント関連

プロパティ名 意味・効果 よく使う値例 補足
font-style 文字のスタイルを指定します。 normal, italic, oblique italicで斜体、normalで通常、obliqueで斜め体。
font-weight 文字の太さを指定します。 normal, bold, lighter, 100, 700 boldで太字、数字で細かく指定可能(100が細く、700が太く)。
font-size 文字の大きさを指定します。 16px, 1em, larger, smaller pxem、相対単位でも指定可能。

上記以外にも色々あるので、紹介していきます。

1.text-align

  • テキスト(文字)を左寄せ・中央寄せ・右寄せにできるCSSです。
  • ブロックレベル要素にしか指定できないプロパティです。
  • インライン要素に設定したい時は、ブロックレベルに指定すると、中のインライン要素全体が設定されます。

主な値は下記です。

説明
left 左に寄せる(初期値)
center 真ん中に揃える
right 右に寄せる
justify 両端揃え(行の左右がそろう)

2.letter-spacing

  • 文字間隔を設定できます。
p {
  letter-spacing: 0.5px; /* 文字間を0.5ピクセル広げる */
}

h1 {
  letter-spacing: 2px; /* 文字間を2ピクセル広げる */
}

.tight-text {
  letter-spacing: -1px; /* 文字間を1ピクセル狭める */
}

3.vertical-align

  • imgを設定すると、下に余白ができることがあります。
    • これはimgタグがインライン要素であり、インライン要素の挙動として文字を表示するために領域確保をする時、gやjなどの下にはみ出る「しっぽ」分も確保しているため起こり得ます。
  • 画像にはしっぽがないので、隙間があるように見えます。
    • 解決するためにvertical-alignを設定するとよいでしょう。
img {
  vertical-align: buttom;
}

指定できる値

  • baseline: 初期値。
  • top: 要素の上端に揃える。
  • buttom: インラインのディセンダ領域削除。画像の下の隙間を削除したい時などに利用する。
  • text-top: 親要素のテキストの上端に揃える。
  • text-buttom: 親要素のテキストの下端に揃える。
  • 文字の位置をbaselineから下に9px下げることもできる。
nav a {
  vertical-align: -9px;
}

表にも指定可

  • 表セルの中の文字や画像の見え方を変更できる
意味 よくある見え方
top 上に寄せる セルの上端にくっつく
middle 中央に配置する(初期値) だいたい真ん中に見える
bottom 下に寄せる(セルの一番下の枠線に揃える) セルの下端にくっつく

スクリーンショット 2025-05-19 10.26.20.png

4.line-height

行の高さ(行間) を指定するために使われます。

line-height: 30px;
  • 上記は、「その要素内のテキストの一行の高さが30ピクセルになる」という指示です。
  • 例えば、font-sizeが16pxのテキストにline-height: 30px;を設定した場合、文字自体の高さは16pxですが、一行全体が占める垂直方向の空間は30pxになります。
  • 残りの30px - 16px = 14pxが、テキストの上下に均等に(7pxずつ)分配される行間(leading)として機能します。

px以外のline-heightの値

1.単位なしの数値 (推奨されることが多い)
line-height: 1.5;
  • これは「フォントサイズの倍率」として機能します。
  • 例えば、font-size: 16px;なら1.524pxになります。
    この方法だと、font-sizeが変わっても自動的に行間が調整されるため、レスポンシブデザインに適しています。
2.em
line-height: 1.5em;`
  • これは「その要素のフォントサイズ」を基準にした倍率です。
  • em単位は入れ子になった場合に親の影響を受けるため、font-sizeが変化すると、行の高さも連鎖的に変化する可能性があります。
3.%
line-height: 150%;
  • これも「その要素のフォントサイズ」を基準にした割合です。
  • emと同じように動作します。

リスト

用途 タグ 順序あり? 主な使い方
箇条書き <ul><li> メニュー・買い物リストなど
順序付き手順 <ol><li> 手順、ランキングなど
用語の説明 <dl><dt><dd> - 辞書のような説明リスト

リストに使用できるプロパティ

プロパティ名 意味・効果 よく使う値例 補足
list-style-type リストマークの種類を変える disc, circle, square, decimal, none マークの見た目を変更できる
list-style-position リストマークの位置を変える outside, inside insideにするとマークがテキストと揃う
list-style-image リストマークを画像に変更する url('star.png'), none 小さなアイコン画像を指定できる
list-style 上記3つをまとめて指定するショートハンド square inside, url('dot.png') outside 一括で指定したいときに便利!

From

要素名 設定できる属性 意味・効果 よく使う値例 補足
input type 入力フィールドの種類を指定 text, password, email, radio, checkbox, submit, button 例: テキスト入力用は type="text"、パスワード用は type="password"
value 初期値を指定 "sample" 初期状態で入力される値を設定
placeholder 入力欄にヒントテキストを表示 "Enter your name" 入力欄に薄く表示されるヒント文字
name フォーム送信時の識別名 "username" サーバーに送信するデータ名
required 必須項目として指定 required この項目が必須であることを指定
maxlength 入力できる最大文字数 10 最大文字数を指定
textarea rows テキストエリアの高さ(行数) 4 表示する行数を指定
cols テキストエリアの幅(文字数) 50 幅を指定
placeholder ユーザーへのヒントテキスト "Enter your message" 入力がないときに表示されるヒント文字
name フォーム送信時の識別名 "message" サーバーに送信するデータ名
required 必須項目として指定 required 入力を必須にする
button type ボタンの種類を指定 submit, reset, button 例: submit は送信ボタン、reset はリセットボタン
name ボタンに名前をつける "submitButton" サーバーに送信する際の識別に使う
disabled ボタンを無効化する disabled ユーザーがクリックできないようにする
select name フォーム送信時の識別名 "options" サーバーに送信するデータ名
multiple 複数選択を可能にする multiple 複数のオプションを選択可能にする
size 表示される選択肢の行数 5 表示行数を指定
fieldset disabled フォームの入力を無効化(フォーム全体に影響) disabled フォーム内のすべての要素を無効化
form 関連するフォームのID form="form1" <form>タグのIDと関連付ける
legend フィールドセットのタイトルを指定 "Personal Info" グループ化されたフォーム要素のタイトル
  • input: ユーザーがデータを入力するための最も基本的なフォーム要素。type属性で入力の種類を指定します。

  • textarea: 複数行のテキストを入力できる領域。行数や幅を指定でき、長文の入力に使用します。

  • button: ユーザーがクリックして操作を実行するボタン。type属性で役割(送信、リセットなど)を指定します。

  • select: ドロップダウンリストを作成するための要素。複数選択可能にすることもできます。

  • fieldset: フォーム内の関連する要素をグループ化するためのコンテナ。legendタグでタイトルを付けることができます。

リサイズプロパティ

プロパティ 意味・効果 使用例
resize: none; サイズ変更を完全に禁止する textarea { resize: none; }
resize: both; 縦横どちらにもサイズ変更できる(初期値) textarea { resize: both; }
resize: vertical; 縦方向のみサイズ変更できる textarea { resize: vertical; }
resize: horizontal; 横方向のみサイズ変更できる textarea { resize: horizontal; }
resize: inline;(非推奨) インライン方向のみ(ブラウザ対応が少ない) ほとんど使わないでOK

テーブル

基本構造

サンプルコード
/*html*/
<table>
      <tr>
        <th>セル1</th>
        <th>セル2</th>
        <th>セル3</th>
      </tr>
      <tr>
        <th>セル4</th>
        <th>セル5</th>
        <th>セル6</th>
      </tr>
</table>
    
/*style*/

table,
th,
td {
  border: 1px solid blueviolet;
}

スクリーンショット 2025-05-12 10.21.13.png

セルの連結

サンプルコード
/*html*/
 <table>
      <tr>
        <th colspan="3">セル1</th>
      </tr>
      <tr>
        <th>セル4</th>
        <th>セル5</th>
        <th>セル6</th>
      </tr>
    </table>
    <br />
    <table>
      <tr>
        <th>セル1</th>
        <th>セル2</th>
        <th rowspan="3">セル3</th>
      </tr>
      <tr>
        <th>セル4</th>
        <th>セル5</th>
      </tr>
</table>

スクリーンショット 2025-05-12 10.23.58.png

表の横列のグループ化

タグ 意味 どんな部分に使う?
<thead> 表の「見出し部分」 タイトルや列名(例:商品名、価格など)
<tbody> 表の「中身(本文)」 実際のデータ(例:商品リスト、点数など)
<tfoot> 表の「まとめや合計」 合計行や注釈など(例:合計金額、備考など)
サンプルコード
/*html*/
 <table>
      <thead>
        <tr>
          <th>商品名</th>
          <th>価格</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>りんご</td>
          <td>100円</td>
        </tr>
        <tr>
          <td>バナナ</td>
          <td>80円</td>
        </tr>
      </tbody>
      <tfoot>
        <tr>
          <td>合計</td>
          <td>180円</td>
        </tr>
      </tfoot>
</table>

その他プロパティ

border-collapse

:テーブルのセル間の境界線(ボーダー)をどう表示するかを決めるプロパティ

border-collapse: collapse;
意味
collapse セルの境界線を1本にまとめる(通常使われる)
separate セル間にスペースを入れて、境界線を別々に表示する

caption-side

:テーブルのキャプションがどこに表示されるかを決めるプロパティ

table {
  caption-side: top;
}
意味
top キャプションを上部に表示
bottom キャプションを下部に表示

iframe

自分のページの中に、別のページを埋め込むことができます、

たとえばこんなことができます:
- YouTube動画をページに埋め込む
- Googleマップを表示する
- 他の自分のページを小窓で見せる

<iframe src="https://example.com" width="300" height="200"></iframe>
属性名 説明
src 表示するページのURL
width 横幅(px または %)
height 高さ(px または %)
title iframeの内容を説明する(アクセシビリティ向け)
frameborder 枠線の有無(古いやり方。CSS推奨)
allowfullscreen フルスクリーン許可(動画などで使用)
loading 読み込みタイミング(lazyで遅延読込)

calc関数

CSSで長さを指定するときに、計算式を使えるようにする関数です。

単位が違うものもOKです。(%、px、em、vh など)
例:calc(2em + 30px)

アウトライン

フォーカスの見た目をコントロールするときに、使用されるプロパティです。

borderと似ているけれど違う

比較ポイント outline border
配置・レイアウトに影響 しない(レイアウトが崩れない) する(要素の大きさに影響)
角の丸み(border-radius 効かない 効く
表示位置 ボックスのボーダー周り(外側) ボーダー(内側)
指定 上下左右別々に指定することは不可 上下左右別々に指定することが可
主な用途 キーボード操作時のフォーカス表示など 枠線のデザイン装飾など

各プロパティの紹介

プロパティ名 意味・説明
outline-width アウトラインの太さ 1px, 2px など
outline-style 線のスタイル(solid, dotted, dashed など) solid(実線)
outline-color 線の色 blue, rgba(...) など
outline(ショートハンド) 上3つをまとめて一括で指定 outline: 2px solid red;
outline-offset アウトラインを外側にどれだけ離すかを指定 outline-offset: 4px;

よくある使い方の例

フォーカス時の見た目変更(例:フォーム入力中)

input:focus {
  outline: 2px solid #66f;
  outline-offset: 2px;
}

content

CSSで「内容(テキストや画像など)を追加するため」のプロパティ!
「疑似要素」の中だけで使用できます。

<h1>CSSで内容を追加する方法</h1>
h1::before {
  content: '特別コラム:';
  display: block;
  font-size: small;
  color: #f6d;
}

h1::after {
  content: url(images/sakura.png);
  display: block;
}

未来の自分のために、誰かのためにこの記事が役に立てば幸いです✨🧚🏻

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?