HTML5タグ 及び テンプレート

HTMLHTML5

目次一覧

 状態:結論(後で見返す用)  閲覧数:2,349  投稿日:2015-05-13  更新日:2020-03-31
コピペ用HTML基本形 / コピペ用HTML formタグあり / HTML5タグ使用テンプレート

フォーム内要素比較一覧 / <label> 要素/ <fieldset> 及び <legend> 要素

フォーム横並び最小構成 / 別案1 / 改良案1


コピペ用HTML基本形 / コピペ用HTML formタグあり / HTML5タグ使用テンプレート

 閲覧数:579 投稿日:2013-07-25 更新日:2020-04-05

コピペ用HTML基本形


コード
<!DOCTYPE html>
<html lang="ja">
 <head>
   <meta charset="utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <title></title>
   <link href="★★.css" rel="stylesheet">
   <script src="★★.js"></script>
   <style></style>
   <script></script>
 </head>
 <body>
 </body>
</html>


間違えやすい点
・linkタグのtype属性は省略可能だが、「rel="stylesheet"」は必要
・1タグの閉じタグは不要
・imgタグの閉じタグは不要
終了タグが不要なhtmlタグ

コピペ用HTML formタグあり


コード
<!DOCTYPE html>
<html lang="ja">
 <head>
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <title></title>
   <link href="xxxx.css" rel="stylesheet">
   <script src="xxxx.js"></script>
   <style></style>
   <script></script>
 </head>
 <body>
   <form action="xxxx.php" method="post"></form>
 </body>
</html>


formタグ
・「action属性」と「method属性」の記述順番は任意だが、(記述ミス防止の観点から)Webサービス内で統一させておいた方が良い
・「action属性」は省略可能
HTML5では、action属性を省略すると、送信先はそのHTMLファイル自身になる
・「method属性」の初期値は"get"

HTML5タグ使用テンプレート


<header> <main> <footer>
<!DOCTYPE html>
<html lang="ja">
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <title></title>
 <link href="★★.css" rel="stylesheet">
 <script src="★★.js"></script>
 <style></style>
 <script></script>
</head>
<body>
 <header>
   <nav>
     <ul>
       <li></li>
       <li></li>
     </ul>
   </nav>
 </header>

 <main>
   <h1></h1>
   <h2></h2>
 </main>

 <footer>
 </footer>

</body>
</html>


<header> <main> <article> <footer>
・article要素の定義
・article要素の中を取り出した際に単独でそれがコンテンツとして成立する

<!DOCTYPE html>
<html lang="ja">
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <title></title>
 <link href="★★.css" rel="stylesheet">
 <script src="★★.js"></script>
 <style></style>
 <script></script>
</head>
<body>
 <header>
   <nav>
     <ul>
       <li></li>
       <li></li>
     </ul>
   </nav>
 </header>

 <main>
   <h1></h1>
   <article>
     <h1></h1>
     <p></p>
   </article>
   <article>
     <h1></h1>
     <p></p>
   </article>
 </main>

 <footer>
 </footer>

</body>
</html>


<header> <main> <article> <figure> <figurecaption> <footer>

<!DOCTYPE html>
<html lang="ja">
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <title></title>
 <link href="★★.css" rel="stylesheet">
 <script src="★★.js"></script>
 <style></style>
 <script></script>
</head>
<body>
 <header>
   <nav>
     <ul>
       <li></li>
       <li></li>
     </ul>
   </nav>
 </header>

 <main>
   <h1></h1>
   <article>
     <h1></h1>
     <figure>
       <img src="..." alt="...">
       <figurecaption>画像のキャプション</figurecaption>
     </figure>
   </article>
   <article>
     <h1></h1>
     <figure>
       <img src="..." alt="...">
       <figurecaption>画像のキャプション</figurecaption>
     </figure>
   </article>
 </main>

 <footer>
 </footer>

</body>
</html>



1ページに複数articleタグを配置する場合、articleタグ内の見出しはh1タグ開始? それともh2タグ開始?
【レスポンシブ ハンバーガーメニュー コピペ CSS】ドロワーメニュー 2019 サンプル 作り方

フォーム内要素比較一覧 / <label> 要素/ <fieldset> 及び <legend> 要素

 閲覧数:486 投稿日:2015-05-13 更新日:2020-03-09

フォーム内要素比較一覧


比較一覧表
属性名 必須 備考
action × 省略すると、送信先はそのHTMLファイル自身になる
name -
id × -

<label> 要素


項目名(ラベル)
・フォーム部品と項目名(ラベル)を関連付ける際に使用する
・複数使用可

フォーム部品とラベルを関連付ける2つの方法
・方法a.<label>~</label>の中にフォーム部品を配置する
・方法b.<label>タグのfor属性の値とフォーム部品のid属性の値を一致させる

コード例
<form action="xx.php" method="post">
 <label>テキスト<input type="text" name="xx"></label>
 <label>ファイル<input type="file" name="xx"></label>
 <label>ファイル(複数)<input type="file" name="xx" multiple></label>
 <label>メール<input type="email" name="xx"></label>
 <label>URL<input type="url" name="xx"></label>
 <label><input type="url" name="tweet_url" placeholder="画像投稿したツイートURLを入力してください。入力必須です" required><label>
 <label>検索<input type="search" name="xx"></label>
 <label>電話<input type="tel" name="xx"></label>
 <label>数値<input type="number" name="xx"></label>
 <label>日付<input type="date" name="xx"></label>
 <label>日時<input type="datetime" name="xx"></label>
 <label>ローカル日時<input type="datetime-local" name="xx"></label>
 <label>月<input type="month" name="xx"></label>
 <label>週<input type="week" name="xx"></label>
 <label>時間<input type="time" name="xx"></label>
 <label>レンジ<input type="range" name="xx"></label>
 <label>色<input type="color" name="xx"></label>
 <label for="★★">select 要素</label>
 <select name="xx" id="★★">
   <option value="">--オプションを選択してください--</option>
   <option value="a">あ</option>
   <option value="b">い</option>
 </select>
 <label for="☆☆">select 要素</label>
 <select name="xx" id="☆☆">
   <option value="a">あ</option>
   <option value="" selected>--オプションを選択してください--</option>
   <option value="b">い</option>
 </select>
 <label for="●●">textarea 要素</label>
 <textarea id="●●" name="xx" rows="5" cols="33" placeholder="初期値"></textarea>
 <input type="submit" value="送信">
</form>

HTML5では、「input 要素」「button 要素」を「フォームタグ」の外で直接記述しても良い
<input>: 入力欄 (フォーム入力) 要素

<fieldset> 及び <legend> 要素


<fieldset> 要素
フォーム入力項目をグループ化する際に使用
・グループ先頭には、<legend>~</legend>で入力項目グループにタイトルをつける
・フォーム入力項目をグループ化することで、Tabキーなどでグループ間を簡単に移動できるという利点がある

<legend> 要素
・<fieldset>タグでグループ化されたフォームの入力項目にタイトルを付けるために使用
・<fieldset>~<fieldset>内の先頭に1つだけ記述

コード例
<form>
 <fieldset>
   <legend>グループ名</legend>

   <label for="★★">項目名a</label>
   <input type="radio" id="★★" name="xx">

   <label for="☆☆">項目名b</label>
   <input type="radio" id="☆☆" name="xx">

   <button type="submit">送信</button>
 </fieldset>
</form>



フォーム横並び最小構成 / 別案1 / 改良案1

 閲覧数:414 投稿日:2015-05-13 更新日:2020-03-16

フォーム横並び最小構成


単純なフォームであればこれでOK
但し、Chosenのように動的生成するタイプでは不可だった
<style>
body {
 font-size: 125%;
 color: #333;
 background-color: #2196F3;
}

fieldset {
 width: 90%;
 margin: 20px;
 border: 0 none;
}

legend {
 font-size: 1.2em;
 width: 100%;
 border-bottom: 1px dotted #99c;
}

fieldset div {
 margin: 4px 0;
}

input, textarea, select {
 font-size: 1em;
 padding: 2px 5px 4px;
 border: 0 none;
 border-radius: 2px;
}

/* flexbox styles */
fieldset div {
 display: flex;
 align-items: center;
}

label {
 order: 1;
 text-align: right;
 padding-right: 0.5em;
 white-space: nowrap;
 user-select: none;
 cursor: pointer;
 width: 10em; /* 項目の長さに応じて変更する */
}

input, textarea, select {
 order: 2;
 flex: 1 1 auto;
}

/* label state styles */
input:focus ~ label, textarea:focus ~ label, select:focus ~ label {
 color: #933;
}

input:checked ~ label {
 font-weight: bold;
}
</style>

<form action="/" method="post">
 <fieldset>
   <legend>投稿内容</legend>
   <div>
     <input id="name" name="name" type="text">
     <label for="name">name</label>
   </div>
   
   <div>
     <select id="experience" name="experience">
       <option value="1">1 year or less</option>
       <option value="2">2 years</option>
       <option value="3">3 - 4 years</option>
       <option value="5">5 years or more</option>
     </select>
     <label for="experience">experience</label>
   </div>
 </fieldset>
</form>

フォームの横並びレイアウトはCSSのFlexboxでラクに実装しよう

別案1


<style>
ul li {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
}

   ul span:first-of-type {
       flex-basis: 120px;
   }
   ul span:nth-of-type(2) {
       flex-basis: 210px;
       flex-grow: 1;
   }

ul input[type="text"], ul textarea {
   width: 100%;
   box-sizing: border-box;
}
</style>
<ul style="width:○○px">
<li><span>お名前</span>
<span><input type="text" name="name" size="20"></span></li>

<li><span>電話番号</span>
<span><input type="text" name="tel" size="20"></span></li>

<li><span>お問合せ内容</span>
<span><textarea name="content" cols="30" rows="5"></textarea></span></li>

<li><span>送信</span>
<span><input type="submit" value="送信"></span></li>
</ul>

CSSフレックスボックス(display:flex)の使い方

改良案1


Chosenに干渉しないよう改良
<style>
ul.formul li {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
}
span.flabel {
 flex-basis: 7rem;
 text-align:right;
}
ul.formul span:first-of-type label {
 margin-right:1rem;
}
ul.formul span:nth-of-type(2) {
 flex-grow: 1;
}
ul.formul input[type="text"], ul.formul textarea {
 width: 100%;
 box-sizing: border-box;
}
.chosen-container{
 width: 100%!important;
}
</style>



HTML5で画像ファイル存在判定

HTML5でiframeスクロールバーを表示しない方法が不明



週間人気ページランキング / 4-19 → 4-25
順位 ページタイトル抜粋 アクセス数
1 16進数カラーコード / 2進数 23
2 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 14
3 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 13
4 「マウスオーバー」「ロールオーバー」「ホバー」の違い | CSS 12
5 RGB ⇔ Lab | 色変換(色) 9
5 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 9
6 Design 0 8
6 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 8
7 Chrome でキャッシュを効かさない | Google Chrome(ブラウザ) 6
8 「z-index」効果を打ち消すスタイルシートは、「z-index:auto;」 5
8 「Chrome拡張機能」開発中に遭遇したエラー | Chrome 拡張機能 5
9 max-width: 100%の効果を打ち消すには、max-width: none; | CSS 4
10 「line-height」効果を打ち消すスタイルシートは、「line-height:normal; 3
10 「overflow」効果を打ち消すスタイルシートは、「overflow: auto;」 3
10 「群青色」「瑠璃色」「ウルトラマリンブルー」の違い 3
10 「bgcolor」「background-color」「background」の違い | CSS 3
11 HTML5でiframeスクロールバーを表示しない方法が不明 | HTML5(HTML) 2
11 「Midjourney」を使用してみた感想。2022 年 8 月 2 時点では、画像生成能力自体は素晴らしいと思いますが、UIが致命的に分かりづらかったです。 | AI画像生成 2
11 2進数 / Binary Number 2
11 鉄道会社毎のカラーコード | カラーコード(色) 2
2024/4/26 1:01 更新