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

PHPz
Freigeben: 2023-08-31 21:53:05
nach vorne
1375 Leute haben es durchsucht

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;
Nach dem Login kopieren

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>
Nach dem Login kopieren
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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!