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でコンテナ管理の問題を解決する

推薦する

JavaScript ウェブページ入門開発詳細説明

パート3: ❤バックエンドデータ受信を見落とす3つの方法❤ (おすすめ集)パート 2: Web フォ...

単一の MySQL テーブルで数千万のデータを処理するアイデアを共有する

目次プロジェクトの背景改善案データ特性を観察するマルチプロセスアイデアの要約データ処理スキルプロジェ...

Linux での Makefile の書き方と使い方の詳細な説明

目次メイクファイルMakefile の命名とルールMakefile の仕組みMakefile変数Ma...

startup.bat をダブルクリックすると Tomcat がクラッシュする問題の解決方法の詳細な説明

Tomcat を学習したばかりのプログラマーにとって、これはよくある間違いです。 1. 環境変数の問...

Linux システム AutoFs 自動マウント サービスのインストールと構成

目次序文1. サービスプログラムをインストールする2. メイン設定ファイルを書く3. サブ構成ファイ...

Tomcat を使用して Centos 環境に SpringBoot WAR パッケージをデプロイする

戦争パッケージを準備する1. 既存のSpringBootプロジェクトを準備し、pomに依存関係を追加...

Linux 時間サブシステムの時間表現例の詳細な説明

序文Linux カーネルでは、元のコードとの互換性を保つため、または特定の仕様に準拠するため、また現...

MySQL 8.0.16 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.16圧縮パッケージのインストールと設定方法を参考までに紹介します。...

DockerのTLS(SSL)証明書の有効期限の問題を解決する

問題現象: [root@localhost ~]# docker イメージをプル xxx.com.c...

Dockerはbusyboxを使用してベースイメージを作成します

Docker イメージの最初の行は FROM alpine などのイメージで始まりますが、最初のベー...

vue+springbootでログイン認証コードを実現

この記事では、ログイン認証コードを実装するためのvue+springbootの具体的なコードを例とし...

MySQL Community Server 圧縮パッケージのインストールと設定方法

今日は、MySQL をインストールしたかったので、公式 Web サイトにアクセスして、MySQL の...

MySQL 5.7 スレーブノードからマルチスレッド マスター スレーブ レプリケーションを構成する方法の詳細な説明

序文MySQL は MySQL 5.6 からマルチスレッド レプリケーションをサポートしていますが、...

自動検索提案機能のスタイルファイルを入力します: suggestion.css

コードをコピーコードは次のとおりです。 .sugLayerDiv{位置:相対; overflow:h...

Vue3.0 における Ref と Reactive の違いの詳細な分析

目次参照と反応参照反応的RefとReactiveの違いshallowRef と shallowRea...