CSS と JavaScript を使用して管理ダッシュボードのレイアウトを構築するためのサンプル コード

CSS と JavaScript を使用して管理ダッシュボードのレイアウトを構築するためのサンプル コード

最終製品イメージ

あなたが作成するもの

この新しいチュートリアルでは、CSS と JavaScript を使用して、レスポンシブな管理ダッシュボード レイアウトを作成します。 これを構築するには、折りたたみ可能なサイドバー メニューなど、WordPress ダッシュボードからいくつかのアイデアを借用します。

チュートリアル全体を通して、多くの課題に直面しますが、これらの課題は、フロントエンドのスキルを向上させるための優れた実践的なヒントを提供してくれます。

では、早速、最終的な管理ダッシュボードのデモを見てみましょう (サイドバーの下部にある [折りたたむ]ボタンをクリックすると、折りたたみ可能なナビゲーション機能が表示されます。また、フルスクリーン バージョンを表示して、その応答性を確認してください)。

1. ページマークアップから始める

マークアップを開始するには、SVG、タイトル、セクションが必要です。

<svg style="display:none;">...</svg>
<header class="page-header">...</header>
<section class="page-content">...</section>

SVGスプライト

ご想像のとおり、どの管理コンソールでも多数のアイコンが必要です。 ありがたいことに、Envato Elements では便利なベクター アイコンのコレクションがどんどん増えています。このライブラリを活用して、これらのトレード アイコンとダッシュボード アイコンをダウンロードしてみましょう。

取引とダッシュボードのアイコン

Envato Elementsのトレードとダッシュボードのアイコン

imgsvgタグを介してページに直接含めるのではなく、さらに一歩進んで SVG スプライトを作成しましょう。 これを実現するには、すべてのアイコンを SVG コンテナーにラップします。 このコンテナは非表示にする必要があるため、 display: noneを適用します。 非表示にしないと、ページの上部に大きな空きスペースができてしまいます。

各アイコンは、一意の ID と、アイコンのサイズに応じて異なるviewBox属性を持つsymbol要素内に配置されます。 その後、 use要素 (後ほど説明します) を呼び出すことで、必要なときにいつでもターゲット アイコンをレンダリングできます。

それでは、SVG スプライトに必要なマークアップについて詳しく見ていきましょう。

<svg スタイル="display:none;">
  <シンボル id="下" ビューボックス="0 0 16 16">
    <ポリゴンポイント="3.81 4.38 8 8.57 12.19 4.38 13.71 5.91 8 11.62 2.29 5.91 3.81 4.38" />
  </シンボル>
  <シンボル id="ユーザー" ビューボックス="0 0 16 16">
    <PATH D = "M8,0A8,8,0,1,0,8,8,8,0,0,0,8,0zm8,15a7,7,0,1-5.19-2.32,2.71,2.71,0,0,0,1,1.7-133.11,1111111111111日.94-.34,17,1.17,0,0,0-.27-.7H0A3.61,3.61,0,0,5.15,7.49,3.18,3 1.13,1.13,0,0,0-.27.69,2.68,2.68,0,0,0,0,0,0,0,0,0,0,0,1.28.23,2.63,2.63,0,0,1,1.78,1A7,7,0,0,0,1,15Z " /> 
  </シンボル>
  
  <!-- ここにさらに記号 -->
</svg>

実際、組み込みの SVG スプライトを作成するために必要なのはこれだけです。

ヘッダ

管理ダッシュボードのレイアウトを続けて、ページ ヘッダーを見てみましょう。

その中で、次の要素のラッパーとして機能するnav要素を定義します。

  • ロゴ
  • 折りたたむボタン。モバイル画面でメニューを切り替えます。
  • メニュー自体には、メニュー リンク、2 つの見出し、および折りたたみ/展開ボタンが含まれます。 意味的には、2 つの別々のメニューを用意し、タイトルをそれらの外側に配置する方がおそらく正しいですが、必要に応じて別の方法を行うこともできます。

ワイドスクリーン(>767px)では次のようになります。

ヘッダーレイアウト

ヘッダー構造:

<ヘッダークラ​​ス="ページヘッダー">
  <ナビ>
    <a href="#0">
      <img class="logo" src="logo.svg" alt="予測ロゴ">
    </a>
    <button class="toggle-mob-menu" aria-expanded="false" aria-label="メニューを開く">
      <svg 幅="20" 高さ="20" aria-hidden="true">
        <use xlink:href="#down"></use>
      </svg>
    </ボタン>
    <ul class="admin-menu">
      <li class="メニュー見出し">
        <h3>管理者</h3>
      </li>
      <li>
        <a href="#0">
          <svg>
            <xlink:href="#pages" を使用>
          </svg>
          <span>ページ</span>
        </a>
      </li>
      
      <!-- ここにリスト項目がさらにあります -->
      
      <li>
        <button class="collapse-btn" aria-expanded="true" aria-label="メニューを折りたたむ">
          <svg aria-hidden="true">
            <xlink:href="#collapse" を使用>
          </svg>
          <span>折りたたむ</span>
        </ボタン>
      </li>
    </ul>
  </nav>
</ヘッダー>

上記のコードでは次の 2 つの点に注意してください。

  • use要素を使用してターゲット アイコンを参照するにはどうすればよいですか?
  • トグル ボタンに追加した ARIA 属性 ( aria-expandedaria-labelaria-hidden )。 これらのプロパティは、コンポーネントのアクセシビリティを向上させるのに役立ちます。 後ほど、ボタンの状態に基づいてボタンの値を更新する方法について説明します。

一部

このセクションには 2 つのネストされたセクションが含まれます。

セクション1

最初のセクション内に、検索フォームと現在ログインしているユーザーに関する情報 (名前、アバター、通知) を配置します。

ワイドスクリーン(>767px)では次のようになります。

第一部レイアウト

部分構造:

<section class="検索とユーザー">
  <フォーム>
    <input type="search" placeholder="ページを検索...">
    <button type="submit" aria-label="フォームを送信">
      <svg aria-hidden="true">
        <use xlink:href="#search"></use>
      </svg>
    </ボタン>
  </フォーム>
  <div class="管理者プロフィール">
    <span class="greeting">...</span>
    <div class="通知">
      <span class="badge">...</span>
      <svg>
        <xlink:href="#users" を使用></use>
      </svg>
    </div>
  </div>
</セクション>

ここでも、送信ボタンにいくつかの ARIA 属性を追加したことに注目してください。

セクション2

2 番目の部分では、デモにダミー コンテンツを埋め込むために、記事のプレースホルダーをいくつか配置します。 これらには通常、表形式のデータ、グラフ、または何らかの形式のフィードが含まれます。

「ビューを作成するために使用するウィジェットは最大 5~7 個にしてください。そうでないと、ユーザーが集中して明確な概要を把握することが難しくなります。」 – Taras Bakusevych

ワイドスクリーン(>767px)では次のようになります。

第2部のレイアウト

UXのベストプラクティスに基づくと、それほど多くのセクションは必要ないかもしれない

部分構造:

<セクションクラス="ページコンテンツ">
  <セクションクラス="グリッド">
    <記事></記事>
    <記事></記事>
    <記事></記事>
    <記事></記事>
    <記事></記事>
    <記事></記事>
    <記事></記事>
    <記事></記事>
  </セクション>
</セクション>

2. 基本的なスタイルを定義する

管理コンソールのマークアップが準備できたので、CSS に移ります。 いつものように、最初のステップは、いくつかの CSS 変数と一般的なリセット スタイルを指定することです。

:根 {
  --ページヘッダーの背景色: #242e42;
  --page-header-bgColor-hover: #1d2636;
  --page-header-txt色: #dde9f8;
  --ページヘッダーの見出し色: #7889a4;
  --ページヘッダー幅: 220px;
  --page-content-bgColor: #f0f1f6;
  --page-content-txt色: #171616;
  --page-content-blockColor: #fff;
  --白: #fff;
  --黒: #333;
  --青: #00b9eb;
  --赤: #ec1848;
  --border-radius: 4px;
  --box-shadow: 0 0 10px -2px rgba(0, 0, 0, 0.075);
}
 
* {
  パディング: 0;
  マージン: 0;
  ボックスのサイズ: 境界線ボックス;
}
 
ul {
  リストスタイル: なし;
}
 
、
ボタン {
  色: 継承;
}
 
{
  テキスト装飾: なし;
}
 
ボタン {
  背景: なし;
  カーソル: ポインタ;
}
 
入力{
  -webkit-appearance: なし;
}
 
ボタン、
入力{
  境界線: なし;
}
 
svg {
  表示: ブロック;
}
 
体 {
  フォント: 16px/1.5 "Lato"、サンセリフ体;
}

: わかりやすくするために、このチュートリアルではすべてのCSS ルールを順に説明しません。 ここには 400 行近くの CSS があります。 必要に応じて、デモ プロジェクトのCSSタブをクリックしてすべて選択できます。

3. メインダッシュボードのスタイルを定義する

この時点で、ページのスタイル設定に焦点を当てる準備が整いました。

タイトルを設定

ヘッダーは固定位置の要素になります。 幅は 220 ピクセル、高さはビューポートの高さと同じになります。 コンテンツがビューポートの高さを超える場合は、垂直スクロールバーが表示されます。

nav要素は、高さが少なくとも 100% の flex コンテナーとして動作します。 覚えておいてください、その直接の子は 3 つです:

ロゴのモバイル メニュー切り替えボタンとメニュー。

トグル ボタンは小さい画面 (<768 ピクセル) でのみ表示されます。 必要なスタイルは次のとおりです。

/*カスタム変数はここに*/
 
.ページヘッダー{
  位置: 固定;
  上: 0;
  左: 0;
  右: 0;
  下部: 0;
  オーバーフロー:自動;
  パディング上部: 20px;
  幅: var(--page-header-width);
  色: var(--page-header-txtColor);
  背景: var(--page-header-bgColor);
}
 
.ページヘッダーナビゲーション{
  ディスプレイ: フレックス;
  flex-direction: 列;
  最小高さ: 100%;
}
 
.page-header .toggle-mob-menu {
  表示: なし;
}

ヒント:ページ全体の高さをカバーする絶対配置のヘッダーが必要な場合は、次のスタイルを追加します。

体 {
  位置: 相対的;
}
 
.ページヘッダー{
  位置: 絶対;
  上: 0;
  左: 0;
  高さ: 100%;
  
  /*これらのスタイルをコメント化します*/
  /*位置: 固定;
  上: 0;
  左: 0;
  右: 0;
  下部: 0;
  オーバーフロー: 自動;*/
}

メニュースタイル

メニューはフレックス コンテナーとして機能し、拡張されて親の高さ全体をカバーするようにflex: 1を割り当てます。

最後のメニュー項目はメニューの一番下に配置されるためmargin-top: autoに設定されます。 この動作は、ヘッダーのスクロールバーが表示されない場合により明確になります。 テストするには、いくつかのメニュー項目を削除するか、縦長の画面でデモを表示してみてください。

メニュー内のリンクとボタンもフレックス コンテナーとして機能し、そのコンテンツ (テキストとアイコン) は垂直に揃える必要があります。

メニュータイトルは他のメニュー要素に比べて小さくなります。 さらに、文字間の間隔を広げます。

これはメニュー スタイルの一部です。

/*カスタム変数はここに*/
 
.ページヘッダー .管理者メニュー {
  ディスプレイ: フレックス;
  flex-direction: 列;
  フレックス成長: 1;
  上マージン: 35px;
}
 
.page-header .admin-menu li:last-child {
  上マージン: 自動;
  下マージン: 20px;
}
 
.page-header .admin-menu li > * {
  幅: 100%;
  パディング: 12px 15px;
}
 
.page-header .admin-menu a,
.page-header .admin-menu ボタン {
  ディスプレイ: フレックス;
  アイテムの位置を中央揃えにします。
  フォントサイズ: 0.9rem;
  遷移: 背景 0.2 秒、カラー 0.2 秒。
}
 
.ページヘッダー .管理者メニュー .メニュー見出し h3 {
  テキスト変換:大文字;
  文字間隔: 0.15em;
  フォントサイズ: 12px;
  上マージン: 12px;
  色: var(--page-header-headingColor);
}

ページコンテンツスタイル

.page-contentセクションには 2 つのサブセクションが含まれていることに注意してください。

このセクションは、ビューポートの左側から 220 ピクセルの位置に配置されます。 さらに、 width: calc(100% - 220px)設定します。 left属性の値はタイトルの幅と等しいことに注意してください。

スタイル:

/*カスタム変数はここに*/
 
.ページコンテンツ{
  位置: 相対的;
  左: var(--page-header-width);
  幅: calc(100% - var(--page-header-width));
  最小高さ: 100vh;
  パディング: 30px;
  色: var(--page-content-txtColor);
  背景: var(--page-content-bgColor);
}

検索とユーザースタイル

また、 .search-and-userセクションには、検索フォームと.admin-profile 2 つの要素が含まれていることに注意してください。

レイアウトには CSS グリッドを使用します。 検索フォームは利用可能なスペースをすべて占有し、検索フォームとその兄弟フォームの間に 50 ピクセルの余白が設けられます。 二人の兄弟は縦に並びます。

フォーム内の送信ボタンは絶対位置に配置されます。 装飾的なアイコンのみが含まれるため、スクリーン リーダーがそれを解釈してアクセスできるようにするには、ARIA 属性が必要です。

両方の要素を含む.admin-profile垂直方向に中央揃えされたコンテンツを持つフレックス コンテナーとして機能します。バッジ (カウンター) 要素は親要素内に絶対位置に配置され、コンテンツは水平方向と垂直方向に中央揃えされます。

このセクションに必要なスタイルの一部を次に示します。

/*カスタム変数はここに*/
 
.検索とユーザー{
  表示: グリッド;
  グリッドテンプレート列: 1fr 自動;
  グリッド列の間隔: 50px;
  アイテムの位置を中央揃えにします。
  背景: var(--page-content-bgColor);
  下部マージン: 30px;
}
 
.検索とユーザーフォーム {
  位置: 相対的;
}
 
.search-and-user フォーム ボタン {
  位置: 絶対;
  上位: 50%;
  右: 15px;
  変換: translateY(-50%);
}
 
.検索とユーザー .管理者プロファイル {
  ディスプレイ: フレックス;
  アイテムの位置を中央揃えにします。
}
 
.検索とユーザー .管理者プロファイル .通知 {
  位置: 相対的;
}
 
.検索とユーザー .管理者プロファイル .バッジ {
  ディスプレイ: フレックス;
  アイテムの位置を中央揃えにします。
  コンテンツの中央揃え: 中央;
  位置: 絶対;
  上: -10px;
  右: -3px;
  幅: 18px;
  高さ: 18px;
  境界線の半径: 50%;
  フォントサイズ: 10px;
  色: var(--white);
  背景: var(--red);
}

グリッドスタイル

管理ダッシュボードの記事をレイアウトするには、CSS グリッドを使用します。 すべての記事の高さを 300 ピクセルに固定します。 親の幅全体に広がる最初の記事と最後の記事を除き、他のすべての記事は 2 列レイアウトの一部になります。

関連スタイル:

/*カスタム変数はここに*/
 
.ページコンテンツ.グリッド{
  表示: グリッド;
  グリッドテンプレート列: repeat(2, 1fr);
  グリッドギャップ: 30px;
}
 
.page-content .grid > 記事 {
  ディスプレイ: フレックス;
  高さ: 300px;
  背景: var(--page-content-blockColor);
  境界線の半径: var(--border-radius);
  ボックスシャドウ: var(--box-shadow);
}
 
.page-content .grid > article:first-child,
.page-content .grid > article:last-child {
  グリッド列: 1 / -1;
}

4. タイトルを切り替える

折りたたみ/展開ボタンをクリックするたびに、ヘッダーの状態が変わります。 展開されている場合は折りたたまれます (メニュー項目のアイコンバリアントのみが残ります)。逆の場合も同様です。

ヘッダーの展開/折りたたみ状態

この機能は 767 ピクセルを超える画面でのみ使用できることに注意してください。 小さい画面の場合、ヘッダーのレイアウトは異なりますが、これについては後で説明します。

ヘッダーが折りたたまれた状態の場合、本文はcollapsedクラスを受け取ります。 その時までに、次のようなことが起こっていました。

  • タイトルが縮小されます。 幅が220pxから40pxに変わります。
  • これに応じて、 .page-contentセクションが拡張されます。 具体的には、幅がwidth: calc(100% - 220px)からwidth: calc(100% - 40px)に変更されます。 さらに、 left属性の値は 220px ではなく 40px になります。
  • ロゴ、メニュータイトル、メニューリンクテキスト、メニューボタンテキストが消えます。
  • トグルボタンのaria-expanded属性値とaria-label属性値が更新されます。 また、アイコンは 180 度回転しているため、展開アイコンのように見えます。

この機能を実装する JavaScript コードは次のとおりです。

定数 body = document.body;
const collapseBtn = document.querySelector(".admin-menu ボタン");
const 折りたたみクラス = "折りたたみ";
 
折り畳みボタン.addEventListener("クリック", 関数() {
  this.getAttribute("aria-expanded") == "true"
    ? this.setAttribute("aria-expanded", "false")
    : this.setAttribute("aria-expanded", "true");
  this.getAttribute("aria-label") == "メニューを折りたたむ"
    ? this.setAttribute("aria-label", "メニューを展開")
    : this.setAttribute("aria-label", "メニューを折りたたむ");
  body.classList.toggle(折りたたまれたクラス);
});

関連するすべてのスタイル:

/*カスタム変数はここに*/
 
@media スクリーンと (最小幅: 768px) {
  .collapsed .page-header {
    幅: 40px;
  }
 
  .collapsed .page-header .admin-menu li > * {
    パディング: 10px;
  }
 
  .collapsed .page-header .logo,
  .collapsed .page-header .admin-menu span、
  .collapsed .page-header .admin-menu .menu-heading {
    表示: なし;
  }
 
  .collapsed .page-header .admin-menu svg {
    右マージン: 0;
  }
 
  .collapsed .page-header .collapse-btn svg {
    変換: 回転(180度);
  }
 
  .collapsed .page-content {
    左: 40px;
    幅: calc(100% - 40px);
  }
}

5. 管理メニュー項目にツールチップを表示する

ここで、さらに一歩進んで、折りたたみ可能なヘッダーに別の新しい機能を追加してみましょう。

前のセクションで述べたように、ヘッダーが折りたたまれると、メニュー リンクのテキストは消えます。 つまり、その時点では SVG アイコンのみが表示されます。 そこで、各リンクが何をするのかをユーザーにわかりやすく示すツールチップを表示しましょう。

これを実現するには、メニュー リンク (アイコン) にマウスを移動するたびに、プレーン テキストの値を持つtitle属性を追加します。 ただし、これはヘッダーが折りたたまれていて、ウィンドウの幅が少なくとも 768 ピクセルである場合にのみ発生します。

ツールチップ

対応する JavaScript は次のとおりです。

定数 body = document.body;
const menuLinks = document.querySelectorAll(".admin-menu a");
const 折りたたみクラス = "折りたたみ";
 
for (const link of menuLinks) {
  link.addEventListener("mouseenter", 関数() {
    body.classList.contains(collapsedClass) &&
    window.matchMedia("(最小幅: 768px)").matches
      ? this.setAttribute("タイトル", this.textContent)
      : this.removeAttribute("タイトル");
  });
}

6. 応答性を高める

幅 767 ピクセルの画面では、ページは次のようになります。

モバイルレイアウト

これはサイドバーの配置とはかなり異なりますね。 デスクトップ版と比較して最も重要な違いを強調してみましょう。

  • ヘッダーと.page-content両方に、 position: staticwidth: 100%指定されています。
  • nav要素の展開方向がcolumnからrowに変わります。
  • モバイル メニューの切り替えボタンが表示されます。
  • メニューはヘッダーの真下に配置されており、最初は非表示になっています。 トグルボタンをクリックするたびに、ボタンが表示されるようになります。
  • 折りたたみ/展開ボタンと.greeting要素は非表示になります。
  • .search-and-userセクションは、モバイル メニューの切り替えボタンの隣に絶対的に配置されます。

以下にレスポンシブ スタイルの一部を示します。

@media スクリーンと (最大幅: 767px) {
  .ページヘッダー、
  .ページコンテンツ{
    位置: 静的;
    幅: 100%;
  }
 
  .ページヘッダーナビゲーション{
    flex-direction: 行;
  }
 
  .page-header .toggle-mob-menu {
    表示: ブロック;
  }
 
  .ページヘッダー .管理者メニュー {
    位置: 絶対;
    左: 98px;
    上: 57px;
    上マージン: 0;
    zインデックス: 2;
    境界線の半径: var(--border-radius);
    背景: var(--page-header-bgColor);
    可視性: 非表示;
    不透明度: 0;
    変換: スケール(0.95);
    遷移: すべて 0.2 秒;
  }
  
  .page-header .admin-menu li:last-child,
  .検索とユーザー .管理者プロファイル .挨拶 {
    表示: なし;
  }
 
  .検索とユーザー{
    位置: 絶対;
    左: 131ピクセル;
    上: 10px;
    パディング: 0;
    グリッド列の間隔: 5px;
    幅: calc(100% - 141px);
    境界線の半径: var(--border-radius);
    背景: 透明;
  }
}

7. モバイルメニューに切り替える

トグルボタンをクリックするたびに、メニューの状態が変わります。 拡大すれば縮小し、その逆もまた同様です。

モバイルメニューのオープン状態

メニューが展開された状態では、body はmob-menu-openedクラスを受け取ります。 その時までに、次のようなことが起こっていました。

  • メニューが表示されます。
  • トグルボタンのaria-expanded属性値とaria-label属性値が更新されます。 また、アイコンは 180 度回転しているため、展開アイコンのように見えます。

必要な JavaScript コードは次のとおりです。

定数 body = document.body;
const トグルモバイルメニュー = document.querySelector(".toggle-mob-menu");
 
トグルモバイルメニュー.addEventListener("クリック", 関数() {
  this.getAttribute("aria-expanded") == "true"
    ? this.setAttribute("aria-expanded", "false")
    : this.setAttribute("aria-expanded", "true");
  this.getAttribute("aria-label") == "メニューを開く"
    ? this.setAttribute("aria-label", "メニューを閉じる")
    : this.setAttribute("aria-label", "メニューを開く");
  body.classList.toggle("mob-menu-opened");
});

関連する CSS:

.page-header .toggle-mob-menu svg {
  遷移: 変換 0.2 秒;
}
 
.ページヘッダー .管理者メニュー {
  遷移: すべて 0.2 秒;
}
 
.mob-menu-opened .toggle-mob-menu svg {
  変換: 回転(180度);
}
 
.mob-menu-opened .page-header .admin-menu {
  変換: スケール(1);
  可視性: 可視;
  不透明度: 1;
}

結論は

それでおしまい! 完全に機能する管理ダッシュボード レイアウトを正常に構築できました。 これを拡張して、さまざまな管理インターフェースを作成できます。 皆さんも私と同じようにこの旅行を楽しんでいただければ幸いです。

最後にもう1点。 私はアクセシビリティの専門家ではありませんが、いくつかの一般的な ARIA 属性を追加することで、このコンポーネントのアクセシビリティを高めようとしました。 このプロセス中に、参考のために WordPress と Codepen のダッシュボードを確認しました。 コードには他の ARIA 属性が含まれている場合があります。 たとえば、関連コンテンツを識別する役割を持つaria-controls属性を除外しましたが、これは Aria-Controls が Poop だからです。

何か見落としがあった場合、または何か違うやり方があると思われる場合は、下のコメント欄でお知らせください。

いつも読んでいただきありがとうございます!

CSS と JavaScript を少し使って管理ダッシュボードのレイアウトを構築する

CSS と JavaScript を使用して管理ダッシュボード レイアウトのサンプル コードを作成する方法については、これで終わりです。CSS 管理ダッシュボード レイアウトに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  MySQLフィルタリングレプリケーションのアイデアの詳細な説明

>>:  Docker Composeでコンテナ管理の問題を解決する

推薦する

JS配列の次元削減のいくつかの方法の詳細な説明

2次元配列の次元削減配列インスタンスメソッド concat と ES6 スプレッド演算子を使用した次...

MySQL トランザクションの概念と使用法の詳細な説明

目次情事の概念取引の状態取引の役割取引の特徴トランザクション構文トランザクション対応ストレージエンジ...

offsetWidth、clientWidth、scrollWidth、scrollTop、scrollLeft などのプロパティの図。

注 1: 上の画像の背景全体がこの Web ページのフルサイズであり、中央の小さなボックスがブラウザ...

Vueのトランジションとアニメーションの深い理解

1. DOM要素を挿入、更新、または削除するときに、適切な場合は要素にスタイルクラス名を追加します。...

Tomcat および Web アプリケーションの Docker デプロイメントの実装

1.dockerをオンラインでダウンロードする yum インストール -y epel-release...

MySQL に外部キー制約を追加する具体的な方法

このチュートリアルの動作環境: Windows 7 システム、MySQL 8 バージョン、Dell ...

HTML と埋め込み Flash の両方におけるスクロールバーの分析と処理

開発を行う際に、次のような状況に遭遇することがよくあります。 a.swf が Web ページに追加さ...

MySQL インデックスの使用方法 (単一列インデックスと複数列インデックス)

1. 単一列インデックスどの列にインデックスを作成するかを選択することは、パフォーマンス最適化プロ...

Centos7 での DNS サーバーの構築の概要

目次1. プロジェクト環境: 2: DNSサーバーの設定i: 前方解析を構成する: ii: 逆解像度...

「@INC で ExtUtils/MakeMaker.pm が見つかりません」というエラーを解決する

mha4mysql をインストールする場合の手順は、おおよそ次のようになります: unzip、per...

Linux での SELinux を理解する方法

目次1. SELinux の紹介2. SELinuxの基本概念2.1 仕事の種類2.2. セキュリテ...

Promise カプセル化 wx.request メソッド

前回の記事では、Promise を使用して小さなプログラム wx.request をカプセル化する実...

Docker-compose を使用して Django アプリケーションをオフラインでデプロイする方法

目次開発環境用のDocker-ceをインストールする開発環境用のDocker-composeをインス...

H5レイアウト実装手順における天井と底部の吸引を解決するための純粋なCSS

どのような製品について言及したいですか?最近、ユーザーがマーケティングの変化をよりよく観察できるよう...

マウスをホバーすると画像が折りたたまれる効果を実現する CSS

マウスをホバーすると画像が折りたたまれる効果を実現する CSS 1. 実施のポイント折り畳みは複数の...