<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ HTML5 - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ エキスパートの手によるプログラミングチュートリアル記事を幅広く掲載。ウェブ開発、データサイエンス、DevOps、セキュリティ、開発者としてのキャリアなどについて学びましょう。 ]]>
        </description>
        <link>https://www.freecodecamp.org/japanese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ HTML5 - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/japanese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sun, 24 May 2026 19:36:52 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/japanese/news/tag/html5/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ HTML+CSS で取り組む初めての freeCodeCamp 認定プロジェクト [YouTube 動画講座] ]]>
                </title>
                <description>
                    <![CDATA[ freeCodeCamp カリキュラム [https://www.freecodecamp.org/japanese/learn/] では、講座を修了すると認定証が取得できます。 そのためには指定の認定プロジェクトを完成させる必要がありますが、いざ取り組もうと思ってもどこから手を付けたらいいか分からなくて挫折してしまう人も多いようです。 そこで、YouTube チャンネル freeCodeCamp Japanese [https://www.youtube.com/channel/UClLQp_GforzsmSpSec5M7Ww] にて HTML と CSS を扱う新講座を公開しました。日本語チャンネルとして初のオリジナル講座です。 この講座では、レスポンシブウェブデザイン認定証に必要な最初の認定プロジェクト「アンケートフォーム」に実際に取り組みながら、HTMLとCSSの基本、問題の解決方法、作業に役立つツールなどについて学習します。 認定プロジェクトに限らず、自分の力でウェブ開発に取り組むために役立つ知識が学べます。 この講座は私、松田が作成しました。私自身も freeCo ]]>
                </description>
                <link>https://www.freecodecamp.org/japanese/news/code-your-first-certification-project/</link>
                <guid isPermaLink="false">63ee20c7721fc106335f1955</guid>
                
                    <category>
                        <![CDATA[ HTML ]]>
                    </category>
                
                    <category>
                        <![CDATA[ HTML5 ]]>
                    </category>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Beginners ]]>
                    </category>
                
                    <category>
                        <![CDATA[ YouTube ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Video Courses ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ まつだようこ ]]>
                </dc:creator>
                <pubDate>Thu, 16 Feb 2023 23:30:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/japanese/news/content/images/2023/02/HTML-CSS_thumbnail2.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p><a href="https://www.freecodecamp.org/japanese/learn/">freeCodeCamp カリキュラム</a>では、講座を修了すると認定証が取得できます。</p><p>そのためには指定の認定プロジェクトを完成させる必要がありますが、いざ取り組もうと思ってもどこから手を付けたらいいか分からなくて挫折してしまう人も多いようです。</p><p>そこで、YouTube チャンネル <a href="https://www.youtube.com/channel/UClLQp_GforzsmSpSec5M7Ww">freeCodeCamp Japanese</a> にて HTML と CSS を扱う新講座を公開しました。日本語チャンネルとして初のオリジナル講座です。</p><p>この講座では、レスポンシブウェブデザイン認定証に必要な最初の認定プロジェクト「アンケートフォーム」に実際に取り組みながら、HTMLとCSSの基本、問題の解決方法、作業に役立つツールなどについて学習します。</p><p>認定プロジェクトに限らず、自分の力でウェブ開発に取り組むために役立つ知識が学べます。</p><p>この講座は私、松田が作成しました。私自身も freeCodeCamp カリキュラムを通してウェブ開発を学んだのですが、他のプログラミング教材にない freeCodeCamp の魅力だと感じたのが、この認定プロジェクトでした。</p><p>ざっくりとしたユーザーストーリーを基に自分で考えてコードを書いていく経験は、ただチュートリアルをこなしているだけでは得られない実力を付けるためにとても役立ったと感じています。</p><p>その経験を通して得たものを、この講座で解説しています。</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/japanese/news/content/images/2023/02/screenshot.png" class="kg-image" alt="screenshot" srcset="https://www.freecodecamp.org/japanese/news/content/images/size/w600/2023/02/screenshot.png 600w, https://www.freecodecamp.org/japanese/news/content/images/size/w1000/2023/02/screenshot.png 1000w, https://www.freecodecamp.org/japanese/news/content/images/size/w1600/2023/02/screenshot.png 1600w, https://www.freecodecamp.org/japanese/news/content/images/2023/02/screenshot.png 1920w" sizes="(min-width: 720px) 720px" width="1920" height="1080" loading="lazy"><figcaption>認定プロジェクトの課題に沿ってコードを書きながら学びます。</figcaption></figure><p>この講座では以下の流れでプロジェクトに取り組みます。</p><!--kg-card-begin: markdown--><ul>
<li>Visual Studio Code の導入
<ul>
<li>日本語言語パック、拡張機能のインストール</li>
</ul>
</li>
<li>HTML ボイラープレートを書く</li>
<li>ユーザーストーリーの確認</li>
<li>最低限のコードを書く
<ul>
<li>プレビューと自動テストの活用方法</li>
<li>MDN Web Docs の紹介</li>
</ul>
</li>
<li>HTML の改善</li>
<li>CSS を書く
<ul>
<li>開発者ツールの活用</li>
</ul>
</li>
<li>画像の追加方法</li>
<li>フォーラムでの質問方法</li>
</ul>
<!--kg-card-end: markdown--><p>本講座は YouTube で全編無料公開されています。(全 2.5 時間)</p><figure class="kg-card kg-embed-card" data-test-label="fitted">
        <div class="fluid-width-video-container">
          <div style="padding-top: 56.49999999999999%;" class="fluid-width-video-wrapper">
            <iframe width="200" height="113" src="https://www.youtube.com/embed/hft6dxPHPCU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" title="【HTML+CSS】初めてのfreeCodeCamp認定プロジェクト: アンケートフォームの作成" name="fitvid0"></iframe>
          </div>
        </div>
      </figure> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ HTML Tables - サンプルコード付きの表作成チュートリアル ]]>
                </title>
                <description>
                    <![CDATA[ もしあなたがデータを視覚的に表現する必要のあるプロジェクトを構築する場合、情報を読みやすく、分かりやすく表示する方法が必要になります。 HTML 要素を使って、データの種類に応じて異なる表示方法を選択することができます。 大抵の場合、大量のデータをうまく表示するのには表 (テーブル) が非常に便利です。そのため、この記事では HTML で表を使用する方法と、それをスタイルする方法について学びます。 まず初めに、HTML における表とはなんでしょうか？ HTML における表とは？ 表とは、行と列にデータを配置して表示したものです。実際、表はスプレッドシートのようなものです。HTML では表を使用して、画像、テキスト、リンクなどのデータを行と列に配置できます。 ウェブにおける表の使用は、表の作成やデザインを簡単にしてくれる素晴らしい HTML table タグのおかげで、近年ますます人気になりました。 HTML で表を作るには、タグが必要です。最も重要なのは、表の主要なコンテナになる <table> タグです。これは、表の開始位置と終了位置を示します。 一般的な HTML T ]]>
                </description>
                <link>https://www.freecodecamp.org/japanese/news/html-tables-table-tutorial-with-css-example-code/</link>
                <guid isPermaLink="false">63bda9e61a000106267c9497</guid>
                
                    <category>
                        <![CDATA[ HTML ]]>
                    </category>
                
                    <category>
                        <![CDATA[ HTML5 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Hitomi Kawahara ]]>
                </dc:creator>
                <pubDate>Tue, 24 Jan 2023 23:30:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/japanese/news/content/images/2023/01/uide-to-writting-a-good-readme-file--7-.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文:</strong> <a href="https://www.freecodecamp.org/news/html-tables-table-tutorial-with-css-example-code/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">HTML Tables – Table Tutorial with Example Code</a>
      </p><p>もしあなたがデータを視覚的に表現する必要のあるプロジェクトを構築する場合、情報を読みやすく、分かりやすく表示する方法が必要になります。</p><p>HTML 要素を使って、データの種類に応じて異なる表示方法を選択することができます。</p><p>大抵の場合、大量のデータをうまく表示するのには表 (テーブル) が非常に便利です。そのため、この記事では HTML で表を使用する方法と、それをスタイルする方法について学びます。</p><p>まず初めに、HTML における表とはなんでしょうか？</p><h2 id="html-"><strong>HTML における表とは？</strong></h2><p>表とは、行と列にデータを配置して表示したものです。実際、表はスプレッドシートのようなものです。HTML では表を使用して、画像、テキスト、リンクなどのデータを行と列に配置できます。</p><p>ウェブにおける表の使用は、表の作成やデザインを簡単にしてくれる素晴らしい HTML table タグのおかげで、近年ますます人気になりました。</p><p>HTML で表を作るには、タグが必要です。最も重要なのは、表の主要なコンテナになる <code>&lt;table&gt;</code> タグです。これは、表の開始位置と終了位置を示します。</p><h3 id="-html-table-"><strong>一般的な HTML Table タグ</strong></h3><p>その他のタグは、次の通りです。</p><ul><li><code>&lt;tr&gt;</code> - 行を表す</li><li><code>&lt;td&gt;</code> - データセルの作成に使われる</li><li><code>&lt;th&gt;</code> - 表の見出しの追加に使われる</li><li><code>&lt;caption&gt;</code> - キャプションの追加に使われる</li><li><code>&lt;thead&gt;</code> - 表に別のヘッダーを追加する</li><li><code>&lt;tbody&gt;</code> - 表の本体を示す</li><li><code>&lt;tfoot&gt;</code> - 表に別のフッターを作成する</li></ul><h2 id="html-table-"><strong>HTML Table 構文<strong>:</strong></strong></h2><pre><code class="language-html">&lt;table&gt;
  &lt;tr&gt;
    &lt;td&gt;Cell 1&lt;/td&gt;
    &lt;td&gt;Cell 2&lt;/td&gt;
    &lt;td&gt;Cell 3&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Cell 4&lt;/td&gt;
    &lt;td&gt;Cell 5&lt;/td&gt;
    &lt;td&gt;Cell 6&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</code></pre><!--kg-card-begin: html--><table>
  <tbody><tr>
    <td>Cell 1</td>
    <td>Cell 2</td>
    <td>Cell 3</td>
  </tr>
  <tr>
    <td>Cell 4</td>
    <td>Cell 5</td>
    <td>Cell 6</td>
  </tr>
</tbody></table>
<!--kg-card-end: html--><p>HTML table の概要とその作成方法を理解したところで、これらのタグを使用してより多くの機能を備えた表の作成方法を見てみましょう。</p><h2 id="html--1"><strong>HTML で表の見出しを追加する方法</strong></h2><p><code>&lt;th&gt;</code> は、表に見出しを追加するために使用されます。基本的なデザインでは、表の見出しは常に一番上の行になります。つまり、表の最初の行で <code>&lt;th&gt;</code> が宣言され、その後に表内の実際のデータが続きます。デフォルトでは、見出しになるテキストは中央揃えで太字になります。</p><p><code><strong><strong>&lt;th&gt;</strong></strong></code><strong> の使用例</strong></p><pre><code class="language-html">&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;First Name&lt;/th&gt;
    &lt;th&gt;Last Name&lt;/th&gt;
    &lt;th&gt;Email Address&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td&gt;Hillary&lt;/td&gt;
   &lt;td&gt;Nyakundi&lt;/td&gt;
   &lt;td&gt;tables@mail.com&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Lary&lt;/td&gt;
    &lt;td&gt;Mak&lt;/td&gt;
    &lt;td&gt;developer@mail.com&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</code></pre><!--kg-card-begin: html--><table>
  <tbody><tr>
    <th>First Name</th>
    <th>Last Name</th>
    <th>Email Address</th>
  </tr>
  <tr>
   <td>Hillary</td>
   <td>Nyakundi</td>
   <td>tables@mail.com</td>
  </tr>
  <tr>
    <td>Lary</td>
    <td>Mak</td>
    <td>developer@mail.com</td>
  </tr>
</tbody></table>
<!--kg-card-end: html--><p>上記の例を見ると、どの列にどの情報が含まれているかがわかります。これは、<code>&lt;th&gt;</code> タグを使っているおかげです。</p><h2 id="-"><strong>表にキャプションを追加する方法</strong></h2><p>表にキャプションを追加する主な用途は、表に表示されるデータに関する説明を提供することです。キャプションは表の上部または下部に配置でき、デフォルトでは常に中央に配置されます。</p><p>表にキャプションを挿入するには、<code>&lt;caption&gt;</code> タグを使用します。</p><h3 id="caption-"><strong>Caption 構文</strong></h3><pre><code class="language-html">&lt;table&gt;
  &lt;caption&gt;&lt;/caption&gt;
  &lt;tr&gt; &lt;/tr&gt;
&lt;/table&gt;
</code></pre><p><strong><strong><code>&lt;caption&gt;</code></strong> の使用例</strong></p><pre><code class="language-html">&lt;table&gt;
  &lt;caption&gt;Free Coding Resources&lt;/caption&gt;
  &lt;tr&gt;
    &lt;th&gt;Sites&lt;/th&gt;
    &lt;th&gt;Youtube Channels&lt;/th&gt;
    &lt;th&gt;Mobile Appss&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Freecode Camp&lt;/td&gt;
    &lt;td&gt;Freecode Camp&lt;/td&gt;
    &lt;td&gt;Enki&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;W3Schools&lt;/td&gt;
    &lt;td&gt;Academind&lt;/td&gt;
    &lt;td&gt;Programming Hero&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Khan Academy&lt;/td&gt;
    &lt;td&gt;The Coding Train&lt;/td&gt;
    &lt;td&gt;Solo learn&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</code></pre><!--kg-card-begin: html--><table>
  <caption>Free Coding Resources</caption>
  <tbody><tr>
    <th>Sites</th>
    <th>Youtube Channels</th>
    <th>Mobile Appss</th>
  </tr>
  <tr>
    <td>Freecode Camp</td>
    <td>Freecode Camp</td>
    <td>Enki</td>
  </tr>
  <tr>
    <td>W3Schools</td>
    <td>Academind</td>
    <td>Programming Hero</td>
  </tr>
  <tr>
    <td>Khan Academy</td>
    <td>The Coding Train</td>
    <td>Solo learn</td>
  </tr>
</tbody></table>
<!--kg-card-end: html--><h2 id="html-scope-"><strong>HTML のテーブルにおける Scope 属性の使用方法</strong></h2><p>scope 属性は、特定のヘッダーが列、行、またはそのグループのどれを対象としているかを定義するために使用されます。定義を理解するのは難しいかもしれませんが、大丈夫です。例を見れば理解しやすくなります。</p><p>scope 要素の主な目的は、対象のデータを示すことにより、ユーザーが推測に頼る必要を無くすことです。属性はヘッダーセル <code>&lt;th&gt;</code> で宣言され、<code>col</code>、<code>row</code>、<code>colgroup</code>、<code>rowgroup</code> の値を取ります。</p><p><code>col</code> と <code>row</code> の値は、ヘッダーセルがそれぞれ行または列の情報を提供していることを示します。</p><h3 id="scope-"><strong>Scope 構文</strong></h3><pre><code class="language-html">&lt;table&gt;
 &lt;tr&gt;
   &lt;th scope="value"&gt;
 &lt;/tr&gt;
&lt;/table&gt;
</code></pre><p><strong><strong><code>&lt;scope&gt;</code></strong> の使用例</strong></p><pre><code class="language-html">&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;&lt;/th&gt;
    &lt;th scope="col"&gt;Semester&lt;/th&gt;
    &lt;th scope="col"&gt;Grade&lt;/th&gt;
  &lt;/tr&gt;

  &lt;tr&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;Jan - April&lt;/td&gt;
    &lt;td&gt;Credit&lt;/td&gt;
  &lt;/tr&gt;

  &lt;tr&gt;
    &lt;td&gt;2&lt;/td&gt;
    &lt;td&gt;May - August&lt;/td&gt;
    &lt;td&gt;Pass&lt;/td&gt;
  &lt;/tr&gt;
    
  &lt;tr&gt;
    &lt;td&gt;2&lt;/td&gt;
    &lt;td&gt;September - December&lt;/td&gt;
    &lt;td&gt;Distinction&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</code></pre><!--kg-card-begin: html--><table>
  <tbody><tr>
    <th></th>
    <th scope="col">Semester</th>
    <th scope="col">Grade</th>
  </tr>

  <tr>
    <td>1</td>
    <td>Jan - April</td>
    <td>Credit</td>
  </tr>

  <tr>
    <td>2</td>
    <td>May - August</td>
    <td>Pass</td>
  </tr>
    
  <tr>
    <td>2</td>
    <td>September - December</td>
    <td>Distinction</td>
  </tr>
</tbody></table>
<!--kg-card-end: html--><p>ここで <code>scope</code> 属性は、ヘッダーセルが列、行、またはそのグループのどれに属しているかを示しました。</p><p>上の例では、コードに設定した通り、ヘッダーは列に属しています。属性を変更することで、さまざまな動作を確認できます。</p><h2 id="html--2"><strong>HTML のテーブルにおけるセル結合の使用方法</strong></h2><p>表内の 2 つ以上の列、または行にまたがるセルを見たことがあるのではないでしょうか。これは、セル結合と呼ばれます。</p><p>MS Office や Excel などのプログラムで作業したことがあれば、セルを選択してコマンドをクリックすることで、セル結合の機能を使っていたことでしょう。</p><p>同じ機能を HTML table に適用するには、2 つのセル属性 (水平結合用の <code>colspan</code> と垂直結合用の <code>rowspan</code>) を使用します。2 つの属性には、結合するセルの数を示す 0 より大きい数値が割り当てられます。</p><p><strong><strong><code>span</code></strong> の使用例</strong></p><pre><code class="language-html">&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Name&lt;/th&gt;
    &lt;th&gt;Subject&lt;/th&gt;
    &lt;th&gt;Marks&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td rowspan = "2"&gt;Hillary&lt;/td&gt;
    &lt;td&gt;Advanced Web&lt;/td&gt;
    &lt;td&gt;75&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Operating Syatem&lt;/td&gt;
    &lt;td&gt;60&lt;/td&gt;
  &lt;/tr&gt;
      &lt;tr&gt;
    &lt;td rowspan = "2"&gt;Lary&lt;/td&gt;
    &lt;td&gt;Advanced Web&lt;/td&gt;
    &lt;td&gt;80&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Operating Syatem&lt;/td&gt;
    &lt;td&gt;75&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td colspan="3"&gt;Total Average: 72.5&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
</code></pre><!--kg-card-begin: html--><table>
  <tbody><tr>
    <th>Name</th>
    <th>Subject</th>
    <th>Marks</th>
  </tr>
  <tr>
    <td rowspan="2">Hillary</td>
    <td>Advanced Web</td>
    <td>75</td>
  </tr>
  <tr>
    <td>Operating Syatem</td>
    <td>60</td>
  </tr>
      <tr>
    <td rowspan="2">Lary</td>
    <td>Advanced Web</td>
    <td>80</td>
  </tr>
  <tr>
    <td>Operating Syatem</td>
    <td>75</td>
  </tr>
  <tr>
    <td colspan="3">Total Average: 72.5</td>
  </tr>
</tbody></table><!--kg-card-end: html--><p>上記の例では、コードに記述した通り、複数行の 2 つのセル、複数列の 3 つのセルにまたがるセルがあります。結合を垂直方向と水平方向の両方に適用することができました。</p><blockquote>属性 <code><em><em><em><em>colspan</em></em></em></em></code> および <code><em><em><em><em>rowspan</em></em></em></em></code> を使用する場合は、セルが重複しないように、正しい値が割り当てられていることを確認してください。</blockquote><h2 id="html--3"><strong>HTML のテーブルに表ヘッダー、本体、フッターを追加する方法</strong></h2><p>Web サイトやその他のドキュメントに 3 つの主要なセクション (ヘッダー、本文、フッター) があるように、表にも同じものがあります。</p><p>表では、次の属性によって分割されます。</p><ul><li><code>&lt;thead&gt;</code> - 表に別のヘッダーを提供する</li><li><code>&lt;tbody&gt;</code> - 表の主要なコンテンツを含む</li><li><code>&lt;tfoot&gt;</code> - 表に別のフッターを作成する</li></ul><p><strong><strong><code>&lt;thead&gt;</code></strong>、<strong><code>&lt;tbody&gt;</code></strong>、<strong><code>&lt;tfoot&gt;</code></strong> の使用例</strong></p><pre><code class="language-html">&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th colspan="2"&gt;October&lt;/th&gt;
      &lt;th colspan="2"&gt;November&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;

  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Sales&lt;/td&gt;
      &lt;td&gt;Profit&lt;/td&gt;
      &lt;td&gt;Sales&lt;/td&gt;
      &lt;td&gt;Profit&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;$200,00&lt;/td&gt;
      &lt;td&gt;$50,00&lt;/td&gt;
      &lt;td&gt;$300,000&lt;/td&gt;
      &lt;td&gt;$70,000&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
    
  &lt;tfoot&gt;
    &lt;tr&gt;
      &lt;th colspan= "4"&gt;November was more produstive&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/tfoot&gt;
&lt;/table&gt;
</code></pre><!--kg-card-begin: html--><table>
  <thead>
    <tr>
      <th colspan="2">October</th>
      <th colspan="2">November</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>Sales</td>
      <td>Profit</td>
      <td>Sales</td>
      <td>Profit</td>
    </tr>
    <tr>
      <td>$200,00</td>
      <td>$50,00</td>
      <td>$300,000</td>
      <td>$70,000</td>
    </tr>
  </tbody>
    
  <tfoot>
    <tr>
      <th colspan="4">November was more produstive</th>
    </tr>
  </tfoot>
</table><!--kg-card-end: html--><p>上記の例では、月の名前がヘッダー、売上高と利益の両方の数値を持つ部分が表本体、最後に説明文の部分が表のフッターにあたります。</p><p>注意すべきもう 1 つの重要な点は、表には複数の本体部分 (tbody) を含めることができるということです。このような場合、各本体は関連する行をグループ化します。</p><h2 id="css-html-"><strong>CSS を使用して HTML のテーブルをスタイルする方法</strong></h2><p>表は現在広く使用されていますが、スタイルが設定されていない表を見つけることは非常に稀です。ほとんどの表には、色、フォント、重要な値の強調表示など、さまざまな形式のスタイルが使われています。</p><p>スタイリングは、表をプロフェッショナルで魅力的に見せるのに役立ちます。結局のところ、1 本の線だけで区切られたデータを読み手に見せたくはないですよね。</p><p>他の言語やツールでのスタイリングとは異なり、HTML では、<code>.css</code> 拡張子を持つ追加のファイルを使う必要があります。このファイルにスタイルを追加して、HTML ファイルにリンクします。 </p><p>以下に、スタイル付き表の例を含むコードプレイグラウンドが添付されています。さまざまなスタイルが表示にどのように影響するか、自由に試してみてください。</p><figure class="kg-card kg-embed-card"><iframe id="cp_embed_BaZQGYj" src="https://codepen.io/larymak/embed/preview/BaZQGYj?default-tabs=html%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=BaZQGYj" title="Embedded content" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-family: inherit; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-size: 22px; vertical-align: middle; width: 720px; overflow: hidden;"></iframe></figure><p>上記のコードプレイグラウンドでは、表を作成し、この記事で説明したいくつかの属性を使用してスタイルを設定しました。</p><p>CSS ファイルを使用してスタイルを設定し、表に色と境界線を追加して、読みやすく美しくしました。表には固定ヘッダーもあるため、大量のデータをスクロールしても特定の列のヘッダーを表示できます。</p><p>ここまで、表とは何かを学び、表をいくつか作成し、さらに一歩先を行ってスタイリングを適用しました。</p><p>しかし、知識があってもそれを適用する方法を知らなければ、何の役にも立ちません。では、デザインのどこで、またはいつ表を利用するべきでしょうか？</p><h2 id="table-"><strong>Table を使用すべきとき</strong></h2><p>プロジェクトを開発する際に表が役立つ状況は数多くあります。</p><ul><li>A チームとB チームの差、X チームの得点とY チームの得点など、共通の特徴を持つデータを比較対照したい場合に、表を使用できます。</li><li>数値データの概要を知らせたい場合にも使用できます。学生の成績や、EPL テーブル (サッカーの大会結果の表) のようにチームの得点を表示したい場合が良い例です。</li><li>また、表は、整頓された特定の情報を読み手がすばやく見つけるのに役立ちます。例えば、たくさんの名前のリストを調べる場合、表を使用してリストを細分化し、読みやすくできます。</li></ul><h2 id="--1"><strong>まとめ</strong></h2><p>テーブルは、表形式のデータを表す優れた方法であり、<code>&lt;table&gt;</code>、<code>&lt;tr&gt;</code>、<code>&lt;td&gt;</code> などの基本的な HTML 要素を使用して作成できます。</p><p>また、スタイルを追加して見栄えを良くし、CSS ファイルを使用してデータを明確に表示することもできます。</p><p>最後に、もう 1 つタスクを実行しましょう。</p><p>今日の記事で取り上げたことを要約するために、学んだことを使用して表を作成しましょう。その後、以下のピン留めされたコードプレイグラウンドとあなたのデザインを比較してみてください。</p><figure class="kg-card kg-embed-card"><iframe id="cp_embed_PojbMGW" src="https://codepen.io/larymak/embed/preview/PojbMGW?default-tabs=html%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=PojbMGW" title="Embedded content" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-family: inherit; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-size: 22px; vertical-align: middle; width: 720px; overflow: hidden;"></iframe></figure> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ HTML の select タグ – ドロップダウンメニュー (コンボリスト) の作成方法 ]]>
                </title>
                <description>
                    <![CDATA[ ユーザーが値を選択できるドロップダウンメニューを作成するには、HTML の select タグを使用します。これは、サーバーに送るデータを収集するのに役立つ機能です。 通常、select タグは form 要素内に置かれ、別のタグ <option> 内に選択肢の項目を置きます。select タグ単独で配置することもできますが、その場合も、特別な属性の一つである form を使用して form 要素と関連付けます。 このチュートリアルでは、コーディングプロジェクトでのデータ収集に使用できるように、select タグでドロップダウンメニューを作成する方法について紹介します。スタイリングが難しいことで有名な select タグのスタイリング方法についても触れます。 Select タグの属性 select タグを使ってドロップダウンメニューを作成する方法を説明する前に、select タグがとる属性について説明しておく必要があります。 以下がその属性です。  * name: サーバーに送信された後にデータを参照するのに使用されるため、form control には全て名前を付ける必要が ]]>
                </description>
                <link>https://www.freecodecamp.org/japanese/news/html-select-tag-how-to-make-a-dropdown-menu-or-combo-list/</link>
                <guid isPermaLink="false">63243fa7bdc7ab0726fce861</guid>
                
                    <category>
                        <![CDATA[ HTML ]]>
                    </category>
                
                    <category>
                        <![CDATA[ HTML5 ]]>
                    </category>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                    <category>
                        <![CDATA[ WEB DEVELOPMENT ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Hitomi Kawahara ]]>
                </dc:creator>
                <pubDate>Tue, 27 Sep 2022 23:30:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/japanese/news/content/images/2022/09/HTML-select-tag.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文:</strong> <a href="https://www.freecodecamp.org/news/html-select-tag-how-to-make-a-dropdown-menu-or-combo-list/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">HTML Select Tag – How to Make a Dropdown Menu or Combo List</a>
      </p><p>ユーザーが値を選択できるドロップダウンメニューを作成するには、HTML の select タグを使用します。これは、サーバーに送るデータを収集するのに役立つ機能です。</p><p>通常、select タグは form 要素内に置かれ、別のタグ <code>&lt;option&gt;</code> 内に選択肢の項目を置きます。select タグ単独で配置することもできますが、その場合も、特別な属性の一つである <code>form</code> を使用して form 要素と関連付けます。</p><p>このチュートリアルでは、コーディングプロジェクトでのデータ収集に使用できるように、select タグでドロップダウンメニューを作成する方法について紹介します。スタイリングが難しいことで有名な select タグのスタイリング方法についても触れます。</p><h2 id="select-"><strong>Select タグの属性</strong></h2><p>select タグを使ってドロップダウンメニューを作成する方法を説明する前に、select タグがとる属性について説明しておく必要があります。</p><p>以下がその属性です。</p><ul><li>name: サーバーに送信された後にデータを参照するのに使用されるため、form control には全て名前を付ける必要があります。</li><li>multiple: この属性により、ユーザーはドロップダウンメニューから複数のオプションを選択できます。</li><li>required: 通常、検証に使用されます。これにより、ユーザーがドロップダウンから少なくとも一つのオプションを選択しない限り、フォームは送信されません。</li><li>disabled: この属性により、ユーザーはオプションを操作できなくなります。</li><li>size: 数値で表される size 属性は、一度に表示されるオプションの数を指定するために使用されます。</li><li>autofocus: この属性は、select を含むすべてのフォーム入力で使用され、ページの読み込み時に入力がフォーカスされるように指定します。</li></ul><h2 id="select--1"><strong>Select タグを使ってドロップダウンメニューを作成する方法</strong></h2><p>select タグを使ってドロップダウンメニューを作成するには、まず form 要素が必要です。なぜなら、データをサーバーに送信するためには、form 要素内に送信ボタン (submit) も必要になるからです。</p><pre><code class="language-html">&lt;form action="#"&gt;
      &lt;label for="lang"&gt;Language&lt;/label&gt;
      &lt;select name="languages" id="lang"&gt;
        &lt;option value="javascript"&gt;JavaScript&lt;/option&gt;
        &lt;option value="php"&gt;PHP&lt;/option&gt;
        &lt;option value="java"&gt;Java&lt;/option&gt;
        &lt;option value="golang"&gt;Golang&lt;/option&gt;
        &lt;option value="python"&gt;Python&lt;/option&gt;
        &lt;option value="c#"&gt;C#&lt;/option&gt;
        &lt;option value="C++"&gt;C++&lt;/option&gt;
        &lt;option value="erlang"&gt;Erlang&lt;/option&gt;
      &lt;/select&gt;
      &lt;input type="submit" value="Submit" /&gt;
&lt;/form&gt;</code></pre><p>この例では、ドロップダウンとボタンを中央揃えにし、body の背景をライトグレーにするための簡単な CSS を追加します。</p><pre><code class="language-css">body {
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto;
     height: 100vh;
     background-color: #f1f1f1;
   }

input {
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto;
   }</code></pre><p>より洗練され、アクセスしやすいものにするために、セレクトボックスを label 要素と関連付け、label テキストをクリックしたときにフォーカスするようにすることもできます。次のコードでそれを実現できます。</p><pre><code class="language-html">&lt;form action="#"&gt;
      &lt;label for="lang"&gt;Language&lt;/label&gt;
      &lt;select name="languages" id="lang"&gt;
        &lt;option value="javascript"&gt;JavaScript&lt;/option&gt;
        &lt;option value="php"&gt;PHP&lt;/option&gt;
        &lt;option value="java"&gt;Java&lt;/option&gt;
        &lt;option value="golang"&gt;Golang&lt;/option&gt;
        &lt;option value="python"&gt;Python&lt;/option&gt;
        &lt;option value="c#"&gt;C#&lt;/option&gt;
        &lt;option value="C++"&gt;C++&lt;/option&gt;
        &lt;option value="erlang"&gt;Erlang&lt;/option&gt;
      &lt;/select&gt;
      &lt;input type="submit" value="Submit" /&gt;
&lt;/form&gt;</code></pre><p>送信ボタンをクリックしたときに 404 エラーが表示されないように、action 属性の値として番号記号 (#) を入力します。</p><p>そして、CSS を少し変更する必要があります。</p><pre><code class="language-css"> body {
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto;
     height: 100vh; 
     background-color: #f1f1f1;
   }

input {
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto;
   }

label {
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto;
   }

select {
     margin-bottom: 10px;
     margin-top: 10px;
   }</code></pre><p>最終的に次のような結果が得られます。</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/japanese/news/content/images/2022/09/select-one-2.gif" class="kg-image" alt="select-one-2" width="600" height="321" loading="lazy"></figure><p>これで終わりではありません。ページを開いてすぐ送信ボタンをクリックした場合、ドロップダウン項目のうちの一つがデフォルトで表示されており、選択されてしまいます。</p><p>しかし、ユーザーエクスペリエンスの観点から、これは好ましくありません。「言語を選択 (select a language)」をドロップダウンの最初の項目に設定することで、これを避けることができます。</p><pre><code class="language-html"> &lt;form action="#"&gt;
      &lt;label for="lang"&gt;Language&lt;/label&gt;
      &lt;select name="languages" id="lang"&gt;
        &lt;option value="select"&gt;Select a language&lt;/option&gt;
        &lt;option value="javascript"&gt;JavaScript&lt;/option&gt;
        &lt;option value="php"&gt;PHP&lt;/option&gt;
        &lt;option value="java"&gt;Java&lt;/option&gt;
        &lt;option value="golang"&gt;Golang&lt;/option&gt;
        &lt;option value="python"&gt;Python&lt;/option&gt;
        &lt;option value="c#"&gt;C#&lt;/option&gt;
        &lt;option value="C++"&gt;C++&lt;/option&gt;
        &lt;option value="erlang"&gt;Erlang&lt;/option&gt;
      &lt;/select&gt;
      &lt;input type="submit" value="Submit" /&gt;
&lt;/form&gt;</code></pre><p>また、ユーザーが項目を選択するためにセレクトボックスをクリックするときも、ドロップダウンが送信ボタンに重なって表示されます。これもユーザーエクスペリエンスを低下させる原因になり得ます。</p><p>これを解決するには、ドロップダウン内にデフォルトで決まった数の項目を表示し、その他の項目をスクロール表示するようにする <code>size</code> 属性が使用できます。</p><p>これにより、一部の項目が自動的にユーザーに表示されるため、ダミーの最初の項目を取り除くこともできます。</p><pre><code class="language-html"> &lt;form action="#"&gt;
      &lt;label for="lang"&gt;Language&lt;/label&gt;
      &lt;select name="languages" id="lang" size="4"&gt;
        &lt;option value="javascript"&gt;JavaScript&lt;/option&gt;
        &lt;option value="php"&gt;PHP&lt;/option&gt;
        &lt;option value="java"&gt;Java&lt;/option&gt;
        &lt;option value="golang"&gt;Golang&lt;/option&gt;
        &lt;option value="python"&gt;Python&lt;/option&gt;
        &lt;option value="c#"&gt;C#&lt;/option&gt;
        &lt;option value="C++"&gt;C++&lt;/option&gt;
        &lt;option value="erlang"&gt;Erlang&lt;/option&gt;
      &lt;/select&gt;
      &lt;input type="submit" value="Submit" /&gt;
&lt;/form&gt;</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/japanese/news/content/images/2022/09/select-two-2.gif" class="kg-image" alt="select-two-2" width="600" height="321" loading="lazy"></figure><p><code>multiple</code> 属性を使用すると、ユーザーがドロップダウンから複数の項目を選択できるようになります。</p><pre><code class="language-html"> &lt;form action="#"&gt;
      &lt;label for="lang"&gt;Language&lt;/label&gt;
      &lt;select name="languages" id="lang" multiple&gt;
        &lt;option value="javascript"&gt;JavaScript&lt;/option&gt;
        &lt;option value="php"&gt;PHP&lt;/option&gt;
        &lt;option value="java"&gt;Java&lt;/option&gt;
        &lt;option value="golang"&gt;Golang&lt;/option&gt;
        &lt;option value="python"&gt;Python&lt;/option&gt;
        &lt;option value="c#"&gt;C#&lt;/option&gt;
        &lt;option value="C++"&gt;C++&lt;/option&gt;
        &lt;option value="erlang"&gt;Erlang&lt;/option&gt;
      &lt;/select&gt;
      &lt;input type="submit" value="Submit" /&gt;
&lt;/form&gt;</code></pre><p><code>multiple</code> 属性により、デフォルトで四つの項目が表示されます。複数の項目を選択するには、Shift キーまたは Ctrl キーを押しながらマウスで選択する必要があります。</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/japanese/news/content/images/2022/09/select-three-2.gif" class="kg-image" alt="select-three-2" width="600" height="321" loading="lazy"></figure><p>select タグと <code>&lt;option&gt;</code> タグでできることはこれだけではありません。<code>&lt;select&gt;</code> タグ内に <code>&lt;optgroup&gt;</code> 要素を使用して、複数階層のセレクトボックスを作成することもできます。</p><p>次のように、先ほど作成したドロップダウンを複数階層のセレクトボックスに変換できます。</p><pre><code class="language-html">&lt;form action="#"&gt;
      &lt;label for="lang"&gt;Language&lt;/label&gt;
      &lt;select name="languages" id="lang"&gt;
        &lt;optgroup label="first-choice"&gt;
          &lt;option value="select"&gt;Select a language&lt;/option&gt;
          &lt;option value="javascript"&gt;JavaScript&lt;/option&gt;
          &lt;option value="php"&gt;PHP&lt;/option&gt;
          &lt;option value="java"&gt;Java&lt;/option&gt;
          &lt;option value="golang"&gt;Golang&lt;/option&gt;
        &lt;/optgroup&gt;
        &lt;optgroup label="second-choice"&gt;
          &lt;option value="python"&gt;Python&lt;/option&gt;
          &lt;option value="c#"&gt;C#&lt;/option&gt;
          &lt;option value="C++"&gt;C++&lt;/option&gt;
          &lt;option value="erlang"&gt;Erlang&lt;/option&gt;
        &lt;/optgroup&gt;
      &lt;/select&gt;
      &lt;input type="submit" value="Submit" /&gt;
&lt;/form&gt;</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/japanese/news/content/images/2022/09/multi-select-1.png" class="kg-image" alt="multi-select-1" srcset="https://www.freecodecamp.org/japanese/news/content/images/size/w600/2022/09/multi-select-1.png 600w, https://www.freecodecamp.org/japanese/news/content/images/size/w1000/2022/09/multi-select-1.png 1000w, https://www.freecodecamp.org/japanese/news/content/images/2022/09/multi-select-1.png 1280w" sizes="(min-width: 720px) 720px" width="1280" height="800" loading="lazy"></figure><h2 id="select--2"><strong>Select 要素をスタイリングする方法</strong></h2><p>select 要素のスタイル設定は分かり辛く、ブラウザー内での表示方法も一貫しないことが多いです。しかし、次のような設定を試してみることもできます。</p><pre><code class="language-html"> &lt;form action="#"&gt;
      &lt;label for="lang"&gt;Language&lt;/label&gt;
      &lt;select name="languages" id="lang"&gt;
        &lt;option value="select"&gt;Select a Language&lt;/option&gt;
        &lt;option value="javascript"&gt;JavaScript&lt;/option&gt;
        &lt;option value="php"&gt;PHP&lt;/option&gt;
        &lt;option value="java"&gt;Java&lt;/option&gt;
        &lt;option value="golang"&gt;Golang&lt;/option&gt;
        &lt;option value="python"&gt;Python&lt;/option&gt;
        &lt;option value="c#"&gt;C#&lt;/option&gt;
        &lt;option value="C++"&gt;C++&lt;/option&gt;
        &lt;option value="erlang"&gt;Erlang&lt;/option&gt;
      &lt;/select&gt;
      &lt;input type="submit" value="Submit" /&gt;
&lt;/form&gt;</code></pre><pre><code class="language-css"> select {
        margin-bottom: 10px;
        margin-top: 10px;
        font-family: cursive, sans-serif;
        outline: 0;
        background: #2ecc71;
        color: #fff;
        border: 1px solid crimson;
        padding: 4px;
        border-radius: 9px;
      }</code></pre><p>上記の CSS コードスニペットでは、セレクトボックス内のテキストに次の外観を付与しました。</p><ul><li>フォントファミリー「cursive」と色「白」</li><li>アウトライン「0」: フォーカスされたときの不恰好なアウトラインを削除</li><li>背景「緑色」</li><li>境界線「1px、深紅色」</li><li>境界半径「4px」: 全辺にわずかに丸みを帯びた境界線を付与</li><li>パディング「4px」: 少し間隔を空ける</li></ul><p>これによりセレクトボックスの見栄えが良くなりました。</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/japanese/news/content/images/2022/09/select-styled-1.gif" class="kg-image" alt="select-styled-1" width="600" height="358" loading="lazy"></figure><h2 id="-"><strong>結論</strong></h2><p>select タグは、HTML でドロップダウンやコンボリストを作成する場合に非常に便利です。ラジオボタンとチェックボックスを一つのパッケージにまとめたようなものです。</p><p>ラジオボタンではリストから一つの項目しか選択できませんが、チェックボックスでは複数の項目を選択できることを覚えているでしょうか。select は、単一のアイテムのみまたは複数のアイテムを受け付けるようにも設定できるため、より柔軟です。</p><p>select タグの問題の一つは、スタイルが非常に難しいことです。合理的な解決策は、優れたユーティリティ クラスを提供する CSS ライブラリを使用して、select 要素やフォームのスタイルを設定することです。</p><p>このチュートリアルで select タグに慣れ、プロジェクトで使用できるようになったのであれば嬉しいです。</p><p>読んでいただきありがとうございます。引き続きコーディング頑張ってください。</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ HTML と Body: フルページ表示のために適切な幅と高さの CSS 設定 ]]>
                </title>
                <description>
                    <![CDATA[ CSS は難しいですが、自由度も高いです。そして、この高い自由度のおかげで、たとえ行き当たりばったりでもスタイルを適用することができます。 ページは一見問題なく読み込まれます。「クラッシュ」もしません。 ではページ全体の幅と高さを設定したい場合、HTML 要素にどのような設定をすればいいか分かりますか。body 要素についてはどうでしょう。 上手くいくことを願いながらただ当てずっぽうにスタイルを適用していませんか。 もしそうであっても、あなたは一人じゃありません。 これらの質問に対する答えは直感的ではないのですから。 私自身、どのプロパティをどの要素に適用すべきかを正確に把握せずに、両方の要素にスタイルを適用していたという罪深い過去があります。🤦‍♂️ 次の例のように、CSS プロパティが HTML と body の両方の要素に適用されていることは珍しくありません。 html, body {      min-height: 100%; } それって問題なの？ はい、かなり問題です。 上のスタイル定義は以下のような問題を引き起こします。 両方の要素の min-h ]]>
                </description>
                <link>https://www.freecodecamp.org/japanese/news/html-page-width-height/</link>
                <guid isPermaLink="false">632052d987a3a3073e97ed3d</guid>
                
                    <category>
                        <![CDATA[ PROGRAMMING ]]>
                    </category>
                
                    <category>
                        <![CDATA[ HTML ]]>
                    </category>
                
                    <category>
                        <![CDATA[ HTML5 ]]>
                    </category>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                    <category>
                        <![CDATA[ WEB DEVELOPMENT ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Hitomi Kawahara ]]>
                </dc:creator>
                <pubDate>Sun, 18 Sep 2022 23:30:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/japanese/news/content/images/2022/09/william-warby-WahfNoqbYnM-unsplash--1-.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文:</strong> <a href="https://www.freecodecamp.org/news/html-page-width-height/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">HTML vs Body: How to Set Width and Height for Full Page Size</a>
      </p><p>CSS は難しいですが、自由度も高いです。そして、この高い自由度のおかげで、たとえ行き当たりばったりでもスタイルを適用することができます。</p><p>ページは一見問題なく読み込まれます。「クラッシュ」もしません。</p><p>ではページ全体の幅と高さを設定したい場合、HTML 要素にどのような設定をすればいいか分かりますか。body 要素についてはどうでしょう。</p><p>上手くいくことを願いながらただ当てずっぽうにスタイルを適用していませんか。</p><p>もしそうであっても、あなたは一人じゃありません。</p><p>これらの質問に対する答えは直感的ではないのですから。</p><p>私自身、どのプロパティをどの要素に適用すべきかを正確に把握せずに、両方の要素にスタイルを適用していたという罪深い過去があります。🤦‍♂️</p><p>次の例のように、CSS プロパティが HTML と body の両方の要素に適用されていることは珍しくありません。</p><pre><code>html, body {
     min-height: 100%;
}</code></pre><h2 id="-"><strong>それって問題なの？</strong></h2><p>はい、かなり問題です。</p><p>上のスタイル定義は以下のような問題を引き起こします。</p><p>両方の要素の min-height (最小の高さ) を 100% に設定しても、body 要素はページ全体を埋めるようになりません。これは思っていた動作と異なるかと思います。結果として表示されたスタイルの値を開発ツールで確認してみれば、body 要素の高さがゼロになっていることが分かるでしょう。</p><p>一方で、HTML 要素はブラウザーの表示領域と同じ高さになっています。</p><p>次の Chrome Dev Tools のスクリーンショットを見てください。</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/japanese/news/content/images/2022/09/empty_body-3.png" class="kg-image" alt="empty_body-3" width="596" height="280" loading="lazy"><figcaption>body 要素には、上部のバーで示された初期値 8px のマージンがあります。 高さの値はゼロです。</figcaption></figure><h2 id="--1"><strong>なぜこんなことが起こるの？</strong></h2><p>パーセンテージをサイズの値として使用する場合、その要素はパーセンテージの基準として親要素を参照します。</p><p>HTML 要素は、目に見える表示領域の高さを高さ値として持つビューポートを参照します。しかし、上の例では HTML 要素の min-height を設定しているだけで、height プロパティの値は設定していません。</p><p>したがって、body 要素には、100% が何に等しいかの基準として参照する親の height 値がないことになります。</p><h2 id="--2"><strong>そして、問題は目に見えないかも</strong></h2><p>もし、ページを埋め尽くすほどのコンテンツがあった場合、この問題には気付かないかもしれません。</p><p>そして、より気付きにくくなる原因として、両方あるいは片方の要素に背景色を設定した場合、ビューポートはその色で埋め尽くされます。これによって、body 要素がビューポートと同じ高さを持つと錯覚してしまうのです。</p><p>それは間違いで、高さはゼロのままです。</p><p>先ほどの画像は次の CSS で表示されたものです。</p><pre><code>html, body {
    min-height: 100%;
}
body { background-color: dodgerblue; }</code></pre><h3 id="--3"><strong>逆継承？</strong></h3><p>奇妙な現象ではありますが、もし HTML 要素の背景色を個別に設定しない場合、HTML 要素には body 要素の背景色が適用されます。</p><h2 id="--4">では、レスポンシブなフルページの理想的な高さ設定は？</h2><p>何年もの間、答えは次の通りでした。</p><pre><code>html {
    height: 100%;
}
body {
    min-height: 100%;
}</code></pre><p>これにより HTML 要素は親となるビューポートを参照し、ビューポートの高さの 100% に等しい height の値を持つことができます。</p><p>HTML 要素に height 値が設定されたことで、body 要素に割り当てられた min-height は、body 要素の最小の高さを HTML 要素の高さと同じにします。</p><p>この設定はまた、コンテンツがページの見えている部分より大きい場合に、あわせて body の高さを大きくすることもできます。</p><p>唯一の欠点は、HTML 要素は見えているビューポートの高さを超えて大きくならないことです。ただし、body 要素が HTML 要素を超えて大きくなることは問題ないと考えられてきました。</p><h2 id="--5">最新の解決策はもっと簡潔です</h2><pre><code>body { min-height: 100vh; }</code></pre><p>この例では、単位 <code>vh</code> (viewport height) を使用することで、body がビューポートの全高に基づいて高さの最小値を設定できるようにしています。</p><p>先ほど述べた背景色と同じように、HTML 要素に height 値を設定しない場合、body 要素に与えられた height 値と等しい値が採用されます。</p><p>したがって、この解決策であれば以前の解決策の欠点であった HTML 要素のオーバーフローが回避され、両方の要素がコンテンツと共に大きくなります！</p><p>単位 <code>vh</code> の使用は、過去には一部のモバイル端末で異常をきたすこともありましたが、<a href="https://developers.google.com/web/updates/2016/12/url-bar-resizing">現在では Chrome と Safari ではビューポート単位は正常に動作するようです</a>。</p><h2 id="--6">ページの高さによっては水平スクロールバーが表示されることがあります</h2><p>えっ、どういうこと？</p><p>「ページ幅」じゃなくて？</p><p>いいえ、違います。</p><p>別の奇妙な現象として、ページの高さがブラウザーの水平スクロールバーをアクティブにする場合があります。</p><p>ページのコンテンツがビューポートの高さを超えると、右側の垂直スクロールバーがアクティブになります。これによって、同時に水平スクロールバーが表示される可能性があります。</p><h2 id="--7"><strong>どうやって修正するの？</strong></h2><p>ページ幅設定が原因であることを知っておくと安心かもしれません。</p><p>この問題は HTML 要素や body 要素だけでなく、要素を 100vw (viewport width) 単位に設定することに起因します。</p><p>ビューポート単位は垂直スクロールバーが占める約 10px の幅を考慮していません。</p><p>したがって、垂直スクロールバーがアクティブになると水平スクロールバーも表示されることがあるのです。</p><h2 id="--8"><strong>ページをフル幅に設定する方法</strong></h2><p>設定しないというのも一つの方法です。</p><p>HTML 要素と body 要素に幅を設定しない場合のデフォルトは画面全体のサイズになります。width の値を auto 以外に設定するときには、初めに CSS をリセットするようにしましょう。</p><p>デフォルトで、body 要素の全サイドのマージンが 8px に設定されていることを覚えていますか。</p><p>CSS リセットにより、これが削除されます。マージンを削除する前に幅を 100% に設定すると body 要素のオーバーフローを引き起こします。私がよく使う CSS リセットは次のコードです。</p><pre><code>* { 
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}</code></pre><h2 id="--9"><strong>好みの幅に設定する方法</strong></h2><p>必ずしも幅を設定する必要はありませんが、通常、私は設定するようにしています。</p><p>単なる癖かもしれません。</p><p>body 要素の幅を 100% に設定すると、ページ全体の幅になります。これは基本的に、幅の値を設定せずにデフォルトを許可することと同じです。</p><p>body 要素を小さなコンテナとして使用し、HTML 要素でページを埋めたい場合は、body に幅の最大値を設定することもできます。</p><p>例えば次のように設定できます。</p><pre><code>html { background-color: #000; } 
body {
    min-height: 100vh;
    max-width: 400px;
    background-color: papayawhip; 
    margin: 0 auto;
}</code></pre><h2 id="--10"><strong>結論</strong></h2><p>HTML 要素に height 値がない場合、body 要素の height や min-height を 100% に設定しても (コンテンツを追加する前は) 高さはゼロになります。</p><p>一方、HTML 要素に width 値がない場合は、body 要素の width を 100% に設定すると幅はフルページの幅になります。</p><p>これは直感に反するため、混乱するかもしれません。</p><p>レスポンシブなフルページの高さを実現するには、body 要素の min-height を 100vh に設定しましょう。</p><p>ページ幅を設定する場合、水平スクロールバーが意図せず表示されることを避けるため、100vw よりも 100% を選択しましょう。</p><p>私の YouTube チャンネルのチュートリアルでは、全画面サイズかつコンテンツと共に拡大する HTML ページ作成のために、CSS の高さと幅をどのように設定すればよいかを実際に再現しながら紹介しています。</p><figure class="kg-card kg-embed-card" data-test-label="fitted">
        <div class="fluid-width-video-container">
          <div style="padding-top: 56.49999999999999%;" class="fluid-width-video-wrapper">
            <iframe width="200" height="113" src="https://www.youtube.com/embed/dpuKVjX6BJ8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" title="HTML Page Width and Height Settings | CSS Full Screen Size" name="fitvid0"></iframe>
          </div>
        </div>
      </figure><p>CSS の幅と高さを設定する他の方法を知っていますか？</p><p>‌ぜひ教えてください！</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 基本の HTML5 テンプレート: ウェブ開発プロジェクトを始める際に便利な HTML ボイラープレートを紹介 ]]>
                </title>
                <description>
                    <![CDATA[ 新しくウェブサイトを開設する際、基礎が固まっていることは重要です。この記事では、HTML 5 ボイラープレートとは何か、そして基本のテンプレートをどのようにして作成するかについて解説します。 HTML 5 ボイラープレートとは？ ウィキペディア [https://ja.wikipedia.org/wiki/%E3%83%9C%E3%82%A4%E3%83%A9%E3%83%BC%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89] では次のように定義されています。 > ボイラープレートコード (英: boilerplate code、または単にボイラープレート) は、コンピュータプログラミングでは、殆ど、または全く変化することなく、複数の場所で繰り返される定型コードのセクションのこと。 HTML におけるボイラープレートとは、プロジェクト開始時に追加するテンプレートのことを指します。HTML ページの作成には必ずボイラープレートを使用するようにしましょう。 HTML 5 ボイラープレートの例 基本的な例がこ ]]>
                </description>
                <link>https://www.freecodecamp.org/japanese/news/basic-html5-template-boilerplate-code-example/</link>
                <guid isPermaLink="false">631d6fec87a3a3073e97e74b</guid>
                
                    <category>
                        <![CDATA[ HTML5 ]]>
                    </category>
                
                    <category>
                        <![CDATA[ HTML ]]>
                    </category>
                
                    <category>
                        <![CDATA[ WEB DEVELOPMENT ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Hitomi Kawahara ]]>
                </dc:creator>
                <pubDate>Wed, 14 Sep 2022 11:31:46 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/japanese/news/content/images/2022/09/jackson-so-_t-l5FFH8VA-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文:</strong> <a href="https://www.freecodecamp.org/news/basic-html5-template-boilerplate-code-example/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Basic HTML5 Template: Use This HTML Boilerplate as a Starter for Any Web Dev Project</a>
      </p><p>新しくウェブサイトを開設する際、基礎が固まっていることは重要です。この記事では、HTML 5 ボイラープレートとは何か、そして基本のテンプレートをどのようにして作成するかについて解説します。</p><h2 id="html-5-"><strong>HTML 5 ボイラープレートとは？</strong></h2><p><a href="https://ja.wikipedia.org/wiki/%E3%83%9C%E3%82%A4%E3%83%A9%E3%83%BC%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89">ウィキペディア</a>では次のように定義されています。</p><blockquote><strong>ボイラープレートコード</strong> (英: boilerplate code、または単に<strong>ボイラープレート</strong>) は、コンピュータプログラミングでは、殆ど、または全く変化することなく、複数の場所で繰り返される定型コードのセクションのこと。</blockquote><p>HTML におけるボイラープレートとは、プロジェクト開始時に追加するテンプレートのことを指します。HTML ページの作成には必ずボイラープレートを使用するようにしましょう。</p><h2 id="html-5--1"><strong>HTML 5 ボイラープレートの例</strong></h2><p>基本的な例がこちら。</p><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
  &lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="ie=edge"&gt;
    &lt;title&gt;HTML 5 Boilerplate&lt;/title&gt;
    &lt;link rel="stylesheet" href="style.css"&gt;
  &lt;/head&gt;
  &lt;body&gt;
	&lt;script src="index.js"&gt;&lt;/script&gt;
  &lt;/body&gt;
&lt;/html&gt;</code></pre><h3 id="html-"><strong>HTML の文書型とは？</strong></h3><p>HTML コードの一番最初の行では、文書型宣言を行う必要があります。文書型宣言によって、ブラウザはウェブページがどのようなバージョンの HTML で書かれているか認識することができます。</p><pre><code class="language-html">&lt;!DOCTYPE html&gt;</code></pre><p>もし、この一番最初の行を忘れてしまうと、 <code>&lt;article&gt;</code> <code>&lt; footer &gt;</code> <code>&lt;header&gt;</code> などの HTML 5 タグがブラウザによって認識されない可能性があります。</p><h3 id="html--1"><strong>HTML ルート要素とは？</strong></h3><p><code>&lt;html&gt;</code> タグは HTML ファイルの最上位要素です。その中に、<code>&lt;head&gt;</code> と <code>&lt;body&gt;</code> をネストします。</p><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
  &lt;head&gt;&lt;/head&gt;
  &lt;body&gt;&lt;/body&gt;
&lt;/html&gt;</code></pre><p>開始タグ <code>&lt;html&gt;</code> 内の <code>lang</code> 属性は、ページで使用する言語を設定します。スクリーンリーダーが文字を正しく発音できるようにする、といったアクセシビリティの観点からも言語の設定は大切です。</p><h3 id="html--2"><strong>HTML のヘッダータグとは？</strong></h3><p><code>&lt;head&gt;</code> タグには機械によって処理される情報を含めます。<code>&lt;head&gt;</code> タグの中には、機械に対して文書そのものの情報を提示する「メタデータ」をネストします。</p><pre><code class="language-html">&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="ie=edge"&gt;
    &lt;title&gt;HTML 5 Boilerplate&lt;/title&gt;
    &lt;link rel="stylesheet" href="style.css"&gt;
&lt;/head&gt;</code></pre><h3 id="utf-8-"><strong>UTF-8 文字エンコーディングとは?</strong></h3><p>UTF-8 は、ウェブページで使用すべき標準的な文字エンコーディングです。これは <code>&lt;head&gt;</code> 要素の中の <code>&lt;meta&gt;</code> タグで最初に表示する必要があります。</p><pre><code class="language-html"> &lt;meta charset="UTF-8"&gt;</code></pre><p><a href="https://www.w3.org/International/questions/qa-choosing-encodings">World Wide Web Consortium</a> によると、</p><blockquote>A Unicode-based encoding such as UTF-8 can support many languages and can accommodate pages and forms in any mixture of those languages. Its use also eliminates the need for server-side logic to individually determine the character encoding for each page served or each incoming form submission.</blockquote><blockquote>UTF-8 などの Unicode ベースのエンコーディングは、多くの言語をサポートし、それらの言語が混在するページやフォームに対応できます。 また、これを使用すると、サーバー側のロジックにより、提供される各ページまたは受信フォーム送信ごとに文字エンコードを個別に決定する必要がなくなります。（英文を翻訳）</blockquote><h3 id="html--3"><strong>HTML のビューポートタグとは？</strong></h3><p>このタグはデバイスの画面サイズに対するページの幅を与えます。例えば、モバイル端末の幅が 600px の場合、ブラウザのウィンドウの幅も 600px になります。</p><p>initial-scale はズーム度合いをコントロールします。initial-scale の値が 1 の場合、ブラウザによるデフォルトのズームが防止されます。</p><pre><code class="language-html">    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
</code></pre><h3 id="x-ua-compatible-"><strong>X-UA-Compatible とは？</strong></h3><p>この <code>&lt;meta&gt;</code> タグは、Internet Explorer の文書モードを指定します。 <code>IE=edge</code> は、サポートされている最高のモードです。</p><pre><code class="language-html">    &lt;meta http-equiv="X-UA-Compatible" content="ie=edge"&gt;
</code></pre><h3 id="html--4"><strong>HTML タイトルタグとは？</strong></h3><p><code>&lt;title&gt;</code> タグはウェブページのタイトルを指定します。このテキストは、ブラウザのタイトルバーに表示されます。</p><pre><code class="language-html">    &lt;title&gt;HTML 5 Boilerplate&lt;/title&gt;
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/japanese/news/content/images/2022/09/Screen-Shot-2021-07-30-at-4.15.25-AM.png" class="kg-image" alt="Screen-Shot-2021-07-30-at-4.15.25-AM" width="470" height="108" loading="lazy"></figure><h3 id="css-"><strong>CSS スタイルシート</strong></h3><p>このコードにより、カスタムの CSS を HTML ページにリンクすることができます。<code>rel="stylesheet"</code> によって、HTML ファイルと外部スタイルシートの関係性を定義します。</p><pre><code class="language-html">    &lt;link rel="stylesheet" href="style.css"&gt;
</code></pre><h3 id="html--5"><strong>HTML のスクリプトタグ</strong></h3><p>外部スクリプトタグは body の終了タグの直前に配置されます。ここで外部の JavaScript コードをリンクすることができます。</p><pre><code class="language-html">	&lt;script src="index.js"&gt;&lt;/script&gt;
</code></pre><h2 id="-"><strong>結論</strong></h2><p>HTML 5 ボイラープレートを HTML ページに追加するようにしましょう。このスターターコードには文書型、メタデータ、外部スタイルシート、スクリプトタグ等の重要な情報が含まれています。</p><p><br></p><p><br></p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
