Heim  >  Artikel  >  Web-Frontend  >  Wie entwerfe ich ein modernes Seitenleistenmenü mit HTML und CSS?

Wie entwerfe ich ein modernes Seitenleistenmenü mit HTML und CSS?

PHPz
PHPznach vorne
2023-08-31 21:53:051342Durchsuche

Wie entwerfe ich ein modernes Seitenleistenmenü mit HTML und CSS?

Wenn Sie über das Layout einer typischen Website nachdenken, werden Sie höchstwahrscheinlich rechts oder links vom Hauptinhaltsbereich eine Liste wichtiger Links (für Navigationslinks zu verschiedenen Abschnitten der Webseite) einfügen.

Diese Komponente wird „Seitenleiste“ genannt und oft als Menü auf Webseiten verwendet. Obwohl es weit verbreitet ist, fügen Entwickler dieses Element häufig zu Websites hinzu, um zwischen Seiten oder sogar zu verschiedenen Teilen einer Webseite zu navigieren.

Lassen Sie uns diese Funktion verstehen und versuchen, eine moderne Seitenleiste zu erstellen, die nur HTML und CSS verwendet.

Was ist ein Seitenleistenmenü?

Eine Seitenleiste ist eine statische Spalte, die sich rechts oder links vom Hauptinhaltsbereich befindet. Diese Komponente enthält Navigationslinks, Widgets oder andere notwendige Links innerhalb der Website (für die Startseite, den Inhalt oder andere Teile).

Im Folgenden finden Sie ein Beispiel, das zeigt, wie ein einfaches Seitenleistenmenü erstellt wird. Das Menü befindet sich links vom Hauptinhaltsbereich (das gleiche Layout wie die meisten Websites).

Beispiel

In diesem Beispiel verwenden wir CSS Grid, um die Webseite in zwei Teile zu unterteilen. 15 % einer Webseite machen das Seitenleistenmenü und 85 % den Hauptinhalt aus.

CSS-Raster

Durch die Einstellung display: Grid können Entwickler jedes Element in einen Rastercontainer umwandeln. Zum Hinzufügen von Spalten verwenden wir

grid-template-columns: value value;

Wert stellt die Breite der Spalte dar. Sie kann in Länge (px, cm, em) oder als Prozentsatz ausgedrückt werden.

Tag (Ankerelement)

Es wird verwendet, um externe Seiten innerhalb einer Webseite zu verlinken. Es kann auch zum Verknüpfen von Abschnitten innerhalb eines Dokuments verwendet werden. Das id-Attribut definiert das Element eindeutig.

<a href= "#"> </a>
Das

href-Attribut enthält die URL einer externen Seite oder die ID eines internen Teils des Dokuments.

<!DOCTYPE html>
<html>
<head>
   <title> Sidebar menu </title>
   <style>
      #main-doc {
         display: grid;
         grid-template-columns: 15% 85%;
         grid-template-rows: auto;
         grid-template-areas: "advert content";
      }

      .item1 {
         padding: 10px;
      }

      #head {
         font-family: serif !important;
         color: #8b0000 !important;
         font-weight: 900;
         margin: 5px;
         padding: 0 5px 5px;
      }

      .main-section {
         font-family: Brush Script MT;
         font-size: 20px;
         color: #000080;
      }

      .item2 {
         background: linear-gradient(-35deg, #fff000, #ffb6c1, #afeeee);
         padding: 6px 8px 6px 16px;
         margin: 0
      }

      .contents {
         font-size: 26px !important;
         color: grey;
      }

      .item1 a {
         border-radius: 5px;
         padding: 6px 16px 6px 16px;
         display: block;
      }
      a:hover {
         color: red;
         transform: scale(1.1);
      }
   </style>
</head>
<body>
   <main id="main-doc">
   <div class="item1">
      <nav id="navbar">
         <header class="contents">
            <strong> Contents </strong>
         </header>
         <br>
         <a href="https://www.php.cn/link/115c51eb37365df2d4f4e2482b964822" class="nav-link"> Background </a>
         <br>
         <hr>
         <a href="#romance" class="nav-link"> Romance </a>
         <br>
         <hr>
         <a href="#relations" class="nav-link"> Relations </a>
         <br>
         <hr>
         <a href="#voice_actors" class="nav-link"> Voice Actors </a>
         <br>
         <hr>
         <a href="#costumes" class="nav-link"> Costumes </a>
         <br>
         <hr>
         <a href="#gallery" class="nav-link"> Gallery </a>
         <br>
         <hr>
      </nav>
   </div>
   <div class="item2">
   <header id="head">
      <h1> Animation Character </h1>
   </header>
   <section class="main-section" id="background">
      <header>
         <h1> Background </h1>
      </header>
      <hr>
      <p> This is placeholder text. This paragraph contains information about the background of the character. </p>
   </section>
   <section class="main-section" id="romance">
      <header>
         <h1> Romance <h1>
         <hr>
      </header>
      <p> This paragraph contains text related to the life of the character. </p>
   </section>
   <section class="main-section" id="relations">
      <header>
      <h1> Relations </h1>
      </header>
      <hr>
      <ul>
         <li> Mother <br>
         <p> Text about character's mother </p>
         <li> Father <br>
         <p> Information about the father. </p>
         <li> Sister <br>
         <p> Text about character's sister </p>
         <li> Friend <br>
         <p> Text about friend </p>
      </ul>
   </section>
   <section class="main-section" id="voice_actors">
      <header>
         <h1> Voice actors
            <hr>
         </h1>
      </header>
      <p> This contains information about voice actors in the animation </p>
   </section>
   <section class="main-section" id="costumes">
      <header>
         <h1> Costumes
            <hr>
         </h1>
      </header>
      <br>
      <br>
   </section>
</body>
</html>

Beispiel

Hier erstellen wir eine umschaltbare Seitenleiste. In diesem Beispiel erstellen wir eine Seitenleiste und positionieren sie links vom Inhaltsbereich. Wir haben eine Schaltfläche im Inhaltsbereich, die beim Klicken die von uns erstellte Seitenleiste einblendet.

Wir haben die CSS-Übergangseigenschaft verwendet, um die Position der Seitenleiste reibungslos zu ändern. Wenn auf die Schaltfläche geklickt wird, ändert sich die Position der Seitenleiste von 0 auf -160px (entspricht der Breite der Seitenleiste). Mit anderen Worten: Die Breite der Seitenleiste wird nach links verschoben.

<!DOCTYPE html>
<html>
<head>
   <title> Toggle Sidebar </title>
   <style>
      body {
         margin: 0;
      }
      .container {
         display: flex;
         min-height: 90px;
      }
      .sidebar {
         position: relative;
         left: 0;
         margin-right: 20px;
         width: 160px;
         background-color: #ccc;
         transition: all 0.20s;
      }

      .sidebar.collapsed {
         left: -160px;
         margin-right: -150px;
      }
   </style>
</head>
<body>
   <div class="container">
      <div class="sidebar" id="sidebar">
         <strong> Sidebar menu </strong>
         <ul>
            <a href="#" class="nav-link">
               <li> Link 1 </li>
            </a>
            <a href="#" class="nav-link">
               <li> Link 2 </li>
            </a>
            <a href="#" class="nav-link">
               <li> Link 3 </li>
            </a>
            <a href="#" class="nav-link">
               <li> Link 4 </li>
            </a>
         </ul>
      </div>
      <div class="content">
         <h2> This is an example. This contains the main content area. </h2>
         <br> Click the button below to toggle the sidebar <br>
         <br>
         <button onclick="document.getElementsByClassName('sidebar')[0].classList.toggle('collapsed')"> toggle Sidebar </button>
      </div>
   </div>
</body>
</html>

Fazit

In diesem Artikel haben wir zwei Arten von Seitenleistenmenüs auf Webseiten besprochen. Eine davon ist die Basis-Seitenleiste und die andere ist die umschaltbare Seitenleiste. Sie sind alle ausschließlich mit HTML und CSS gestaltet.

Das obige ist der detaillierte Inhalt vonWie entwerfe ich ein modernes Seitenleistenmenü mit HTML und CSS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen