CodeGym /Cours Java /Frontend SELF FR /Création de mises en page complexes

Création de mises en page complexes

Frontend SELF FR
Niveau 22 , Leçon 4
Disponible

10.1 Mise en page à deux colonnes

La création de layouts complexes sur les pages web nécessite une compréhension approfondie des différentes méthodes de positionnement et de leur combinaison. Dans cette conférence, nous examinerons quelques exemples pratiques de création de layouts complexes en utilisant différentes techniques CSS, telles que Flexbox, Grid et le positionnement traditionnel.

Mise en page de blog avec navigation fixe

Ce layout inclut un en-tête, une barre de navigation fixe, le contenu principal et une barre latérale.

Exemple :

CSS
    
      body {
        margin: 0;
        font-family: Arial, sans-serif;
      }

      .header {
        background-color: #333;
        color: white;
        padding: 20px;
        text-align: center;
      }

      .navbar {
        position: fixed;
        top: 0;
        width: 100%;
        background-color: #444;
        color: white;
        padding: 10px;
        box-sizing: border-box;
        z-index: 1000;
      }

      .container {
        display: flex;
        margin-top: 60px; /* Hauteur de la navigation fixe */
      }

      .main-content {
        flex: 3;
        padding: 20px;
      }

      .sidebar {
        flex: 1;
        padding: 20px;
        background-color: #f4f4f4;
      }

      .footer {
        background-color: #333;
        color: white;
        padding: 20px;
        text-align: center;
        position: relative;
        margin-top: auto;
      }
    
  
HTML
    
      <div class="header">My Blog</div>
      <div class="navbar">Navigation</div>
      <div class="container">
        <div class="main-content">
          <h1>Main Content</h1>
          <p>Here is the main content of the blog.</p>
        </div>

        <div class="sidebar">
          <h2>Sidebar</h2>
          <p>Links and other content.</p>
        </div>
      </div>
      <div class="footer">Footer</div>
    
  

Dans cet exemple, la barre de navigation fixe reste en place lors du défilement de la page grâce à position: fixed. Le contenu principal et la barre latérale sont disposés en deux colonnes à l'aide de Flexbox.

10.2 Site web d'une seule page

Site d'une seule page avec en-tête et pied de page fixes

Ce layout inclut un en-tête, le contenu principal et un pied de page. L'en-tête et le pied de page restent visibles lors du défilement de la page.

Exemple :

CSS
    
      body {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
        margin: 0;
        font-family: Arial, sans-serif;
      }

      .header {
        background-color: #333;
        color: white;
        padding: 20px;
        text-align: center;
        position: sticky;
        top: 0;
        z-index: 1000;
      }

      .main {
        flex: 1;
        padding: 20px;
        background-color: #f4f4f4;
      }

      .footer {
        background-color: #333;
        color: white;
        padding: 20px;
        text-align: center;
        position: sticky;
        bottom: 0;
        z-index: 1000;
      }
    
  
HTML
    
      <div class="header">Sticky Header</div>
      <div class="main">
        <h1>Main Content</h1>
        <p>Here is the main content of the page. Scroll to see the sticky header and footer in action.</p>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque luctus lectus eu tortor vehicula, et convallis lacus varius. Integer at orci in nisl faucibus placerat.</p>
      </div>
      <div class="footer">Sticky Footer</div>
    
  

Dans cet exemple, l'en-tête et le pied de page restent visibles lors du défilement de la page grâce à position: sticky.

10.3 Barre de navigation à plusieurs niveaux

Ce layout inclut une barre de navigation à plusieurs niveaux qui utilise des listes imbriquées et des pseudo-classes pour créer des menus déroulants.

Exemple :

CSS
    
      body {
        margin: 0;
        font-family: Arial, sans-serif;
      }

      .navbar {
        background-color: #333;
        overflow: hidden;
      }

      .navbar ul {
        list-style-type: none;
        padding: 0;
        margin: 0;
        position: relative;
      }

      .navbar li {
        float: left;
      }

      .navbar li a {
        display: block;
        color: white;
        text-align: center;
        padding: 14px 16px;
        text-decoration: none;
      }

      .navbar li a:hover {
        background-color: #111;
      }

      .navbar li ul {
        display: none;
        position: absolute;
        background-color: #333;
      }

      .navbar li:hover ul {
        display: block;
      }

      .navbar li ul li {
        float: none;
      }

      .navbar li ul li a {
        padding: 14px 16px;
      }
    
  
HTML
    
      <div class="navbar">
        <ul>
          <li><a href="#">Home</a></li>
          <li><a href="#">Services</a>
            <ul>
              <li><a href="#">Web Design</a></li>
              <li><a href="#">SEO</a></li>
              <li><a href="#">Marketing</a></li>
            </ul>
          </li>
          <li><a href="#">About</a></li>
          <li><a href="#">Contact</a></li>
        </ul>
      </div>
    
  
1
Опрос
Flux de document,  22 уровень,  4 лекция
недоступен
Flux de document
Flux de document
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION