方法

ハウツーホーム

メニュー

アイコンバー メニューアイコン アコーディオン タブ 垂直タブ タブヘッダー フルページタブ ホバータブ トップナビゲーション レスポンシブTopnav アイコン付きのナビゲーションバー 検索メニュー 検索バー 固定サイドバー ページナビゲーション レスポンシブサイドバー フルスクリーンナビゲーション オフキャンバスメニュー Sidenavボタンにカーソルを合わせる アイコン付きサイドバー 水平スクロールメニュー 垂直メニュー ボトムナビゲーション レスポンシブボトムナビゲーション ボトムボーダーナビゲーションリンク 右揃えのメニューリンク 中央メニューリンク 等幅メニューリンク 固定メニュー スクロールでバーを下にスライド スクロールでナビゲーションバーを非表示 スクロールでナビゲーションバーを縮小 スティッキーナビゲーションバー 画像上のナビゲーションバー ホバードロップダウン ドロップダウンをクリックします カスケードドロップダウン Topnavのドロップダウン Sidenavのドロップダウン 応答ナビゲーションバーのドロップダウン サブナビゲーションメニュー ドロップアップ メガメニュー モバイルメニュー カーテンメニュー 折りたたまれたサイドバー 折りたたまれたサイドパネル ページ付け パン粉 ボタングループ 垂直ボタングループ スティッキーソーシャルバー ピルナビゲーション レスポンシブヘッダー

画像

スライドショー スライドショーギャラリー モーダル画像 ライトボックス レスポンシブ画像グリッド 画像グリッド タブギャラリー 画像オーバーレイフェード 画像オーバーレイスライド 画像オーバーレイズーム 画像オーバーレイタイトル 画像オーバーレイアイコン 画像効果 黒と白の画像 画像テキスト 画像テキストブロック 透明な画像テキスト フルページ画像 画像上のフォーム ヒーロー画像 背景画像をぼかす スクロールでBgを変更する サイドバイサイド画像 丸みを帯びた画像 アバター画像 レスポンシブ画像 中央の画像 サムネイル 画像の周りの境界線 チームに会う スティッキー画像 画像を反転する 画像を振る ポートフォリオギャラリー フィルタリングを備えたポートフォリオ 画像ズーム 画像拡大鏡ガラス 画像比較スライダー ファビコン

ボタン

アラートボタン アウトラインボタン 分割ボタン アニメーションボタン フェージングボタン 画像のボタン ソーシャルメディアボタン 続きを読む続きを読む 読み込みボタン ダウンロードボタン ピルボタン 通知ボタン アイコンボタン 次/前のボタン ナビゲーションのその他のボタン ブロックボタン テキストボタン 丸いボタン トップボタンまでスクロール

フォーム

ログインフォーム サインアップフォーム チェックアウトフォーム お問い合わせフォーム ソーシャルログインフォーム 登録フォーム アイコン付きのフォーム ニュースレター スタックフォーム レスポンシブフォーム ポップアップフォーム インラインフォーム 入力フィールドをクリア 数字の矢印を隠す テキストをクリップボードにコピーする アニメーション検索 検索ボタン フルスクリーン検索 ナビゲーションバーの入力フィールド Navbarのログインフォーム カスタムチェックボックス/ラジオ カスタム選択 トグルスイッチ チェックボックスをオンにします CapsLockを検出する Enterのトリガーボタン パスワードの検証 パスワードの可視性を切り替える マルチステップフォーム オートコンプリート オートコンプリートをオフにする スペルチェックをオフにする ファイルアップロードボタン 空の入力検証

フィルタ

フィルタリスト フィルターテーブル フィルタ要素 フィルタのドロップダウン ソートリスト スペルテーブル

テーブル

ゼブラストライプテーブル センターテーブル 全幅テーブル 並べたテーブル レスポンシブテーブル 比較表

もっと

フルスクリーンビデオ モーダルボックス モーダルを削除 タイムライン スクロールインジケーター プログレスバー スキルバー レンジスライダー ツールチップ 表示要素ホバー ポップアップ 折りたたみ可能 カレンダー HTMLに含まれるもの やることリスト ローダー 星評価 ユーザー評価 オーバーレイ効果 コンタクトチップ カード フリップカード プロフィールカード 製品カード アラート 叫ぶ ノート ラベル サークル スタイルHR クーポン リストグループ 箇条書きなしのリスト レスポンシブテキスト カットアウトテキスト 輝くテキスト 固定フッター スティッキーエレメ​​ント 等しい高さ Clearfix レスポンシブフロート スナックバー フルスクリーンウィンドウ スクロール図面 スムーズスクロール グラデーションBgスクロール スティッキーヘッダー スクロールでヘッダーを縮小 価格表 視差 アスペクト比 レスポンシブIframe 好き/嫌いを切り替える 非表示/表示を切り替えます ダークモードを切り替えます テキストを切り替えます トグルクラス クラスを追加 クラスを削除 アクティブクラス ツリー表示 プロパティを削除 オフライン検出 隠された要素を見つける Webページをリダイレクトする ズームホバー フリップボックス 垂直方向に中央に配置 DIVの中央ボタン ホバーでの遷移 矢印 ダウンロードリンク フルハイト要素 ブラウザウィンドウ カスタムスクロールバー スクロールバーを非表示 スクロールバーの表示/強制 デバイスルック コンテンツ編集可能な境界線 プレースホルダーの色 テキスト選択色 弾丸の色 垂直線 仕切り アイコンをアニメーション化する カウントダウンタイマー タイプライター 近日公開ページ チャットメッセージ ポップアップチャットウィンドウ 画面を分割 お客様の声 セクションカウンター スライドショーを引用 クローズ可能なリストアイテム 典型的なデバイスブレークポイント ドラッグ可能なHTML要素 JSメディアクエリ シンタックスハイライト JSアニメーション JS文字列の長さ JSべき乗 JSのデフォルトパラメータ 現在のURLを取得 現在の画面サイズを取得する Iframe要素を取得する

Webサイト

無料のウェブサイトを作成する ウェブサイトを作る 静的なWebサイトを作成する ウェブサイトを作る(W3.CSS) ウェブサイトを作る(BS3) ウェブサイトを作る(BS4) ウェブサイトを作る(BS5) Webサイトを作成して表示する リンクツリーWebサイトを作成する ポートフォリオを作成する 履歴書を作成する レストランのウェブサイトを作る ビジネスのウェブサイトを作る WebBookを作成する センターのウェブサイト 連絡先セクション ページについて ビッグヘッダー ウェブサイトの例

グリッド

2列のレイアウト 3列のレイアウト 4列のレイアウト グリッドの拡張 リストグリッドビュー 混合列レイアウト コラムカード ジグザグレイアウト ブログのレイアウト

グーグル

Googleチャート Google Fonts Googleフォントペアリング Googleセットアップアナリティクス

コンバーター

重量を変換する 温度変換 長さの変換 変換速度

ブログ

開発者の仕事を得る フロントエンド開発者になる。

方法-複数のステップで形成する


複数のステップでフォームを作成する方法を学びます。


フォームウィザード-マルチステップフォーム:

登録:

名前:

連絡先情報:

誕生日:

ログイン情報:


ステップ1)HTMLを追加します。

<form id="regForm" action="">

<h1>Register:</h1>

<!-- One "tab" for each step in the form: -->
<div class="tab">Name:
  <p><input placeholder="First name..." oninput="this.className = ''"></p>
  <p><input placeholder="Last name..." oninput="this.className = ''"></p>
</div>

<div class="tab">Contact Info:
  <p><input placeholder="E-mail..." oninput="this.className = ''"></p>
  <p><input placeholder="Phone..." oninput="this.className = ''"></p>
</div>

<div class="tab">Birthday:
  <p><input placeholder="dd" oninput="this.className = ''"></p>
  <p><input placeholder="mm" oninput="this.className = ''"></p>
  <p><input placeholder="yyyy" oninput="this.className = ''"></p>
</div>

<div class="tab">Login Info:
  <p><input placeholder="Username..." oninput="this.className = ''"></p>
  <p><input placeholder="Password..." oninput="this.className = ''"></p>
</div>

<div style="overflow:auto;">
  <div style="float:right;">
    <button type="button" id="prevBtn" onclick="nextPrev(-1)">Previous</button>
    <button type="button" id="nextBtn" onclick="nextPrev(1)">Next</button>
  </div>
</div>

<!-- Circles which indicates the steps of the form: -->
<div style="text-align:center;margin-top:40px;">
  <span class="step"></span>
  <span class="step"></span>
  <span class="step"></span>
  <span class="step"></span>
</div>

</form>


ステップ2)CSSを追加します。

フォーム要素のスタイルを設定します。

/* Style the form */
#regForm {
  background-color: #ffffff;
  margin: 100px auto;
  padding: 40px;
  width: 70%;
  min-width: 300px;
}

/* Style the input fields */
input {
  padding: 10px;
  width: 100%;
  font-size: 17px;
  font-family: Raleway;
  border: 1px solid #aaaaaa;
}

/* Mark input boxes that gets an error on validation: */
input.invalid {
  background-color: #ffdddd;
}

/* Hide all steps by default: */
.tab {
  display: none;
}

/* Make circles that indicate the steps of the form: */
.step {
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbbbbb;
  border: none;
  border-radius: 50%;
  display: inline-block;
  opacity: 0.5;
}

/* Mark the active step: */
.step.active {
  opacity: 1;
}

/* Mark the steps that are finished and valid: */
.step.finish {
  background-color: #04AA6D;
}

ステップ3)JavaScriptを追加します。

var currentTab = 0; // Current tab is set to be the first tab (0)
showTab(currentTab); // Display the current tab

function showTab(n) {
  // This function will display the specified tab of the form ...
  var x = document.getElementsByClassName("tab");
  x[n].style.display = "block";
  // ... and fix the Previous/Next buttons:
  if (n == 0) {
    document.getElementById("prevBtn").style.display = "none";
  } else {
    document.getElementById("prevBtn").style.display = "inline";
  }
  if (n == (x.length - 1)) {
    document.getElementById("nextBtn").innerHTML = "Submit";
  } else {
    document.getElementById("nextBtn").innerHTML = "Next";
  }
  // ... and run a function that displays the correct step indicator:
  fixStepIndicator(n)
}

function nextPrev(n) {
  // This function will figure out which tab to display
  var x = document.getElementsByClassName("tab");
  // Exit the function if any field in the current tab is invalid:
  if (n == 1 && !validateForm()) return false;
  // Hide the current tab:
  x[currentTab].style.display = "none";
  // Increase or decrease the current tab by 1:
  currentTab = currentTab + n;
  // if you have reached the end of the form... :
  if (currentTab >= x.length) {
    //...the form gets submitted:
    document.getElementById("regForm").submit();
    return false;
  }
  // Otherwise, display the correct tab:
  showTab(currentTab);
}

function validateForm() {
  // This function deals with validation of the form fields
  var x, y, i, valid = true;
  x = document.getElementsByClassName("tab");
  y = x[currentTab].getElementsByTagName("input");
  // A loop that checks every input field in the current tab:
  for (i = 0; i < y.length; i++) {
    // If a field is empty...
    if (y[i].value == "") {
      // add an "invalid" class to the field:
      y[i].className += " invalid";
      // and set the current valid status to false:
      valid = false;
    }
  }
  // If the valid status is true, mark the step as finished and valid:
  if (valid) {
    document.getElementsByClassName("step")[currentTab].className += " finish";
  }
  return valid; // return the valid status
}

function fixStepIndicator(n) {
  // This function removes the "active" class of all steps...
  var i, x = document.getElementsByClassName("step");
  for (i = 0; i < x.length; i++) {
    x[i].className = x[i].className.replace(" active", "");
  }
  //... and adds the "active" class to the current step:
  x[n].className += " active";
}