CodeGym /Corsi /Frontend SELF IT /Elementi flottanti

Elementi flottanti

Frontend SELF IT
Livello 22 , Lezione 1
Disponibile

7.1 Proprietà float

Gli elementi flottanti utilizzando le proprietà float e clear erano uno dei primi metodi per creare layout complessi nel web design. Anche se i metodi moderni come Flexbox e Grid sono spesso preferiti, conoscere l'uso di float e clear è ancora importante per lavorare con progetti legacy o comprendere le basi del CSS.

Proprietà float

La proprietà float permette a un elemento di "galleggiare" a sinistra o a destra, avvolto da testo e altri elementi. Questa proprietà è particolarmente utile per creare layout con colonne e avvolgere un'immagine con testo.

Sintassi:

    
      .element {
        float: left; /* oppure right */
      }
    
  

Valori della proprietà float:

  • left: l'elemento galleggia a sinistra e gli elementi successivi lo avvolgono a destra
  • right: l'elemento galleggia a destra e gli elementi successivi lo avvolgono a sinistra
  • none: valore predefinito, l'elemento non galleggia
  • inherit: eredita il valore dall'elemento genitore

Esempio di utilizzo di float:

CSS
    
      .float-left {
        float: left;
        width: 200px;
        height: 200px;
        background-color: lightblue;
      }

      .float-right {
        float: right;
        width: 200px;
        height: 200px;
        background-color: lightgreen;
      }

      .content {
        background-color: lightgrey;
        padding: 10px;
      }
    
  
HTML
    
      <div class="float-left">Left Float</div>
      <div class="float-right">Right Float</div>
      <div class="content">
        <p>Questo è del contenuto che si avvolgerà intorno agli elementi flottanti. L'elemento flottante sinistro sarà posizionato a sinistra, e l'elemento flottante destro sarà posizionato a destra.</p>
      </div>
    
  

7.2 Proprietà clear

La proprietà clear è utilizzata per gestire il comportamento di avvolgimento degli elementi flottanti. Permette di prevenire l'avvolgimento di un elemento da parte di elementi flottanti da un lato specifico.

Sintassi:

    
      .element {
        clear: left; /* oppure right */
      }
    
  

Valori della proprietà clear:

  • left: l'elemento non sarà avvolto a sinistra
  • right: l'elemento non sarà avvolto a destra
  • both: l'elemento non sarà avvolto né a sinistra né a destra
  • none: valore predefinito, l'elemento è avvolto su entrambi i lati

Esempio di utilizzo di clear:

CSS
    
      .float-left {
        float: left;
        width: 200px;
        height: 200px;
        background-color: lightblue;
      }

      .float-right {
        float: right;
        width: 200px;
        height: 200px;
        background-color: lightgreen;
      }

      .clear {
        clear: both;
        background-color: lightcoral;
        padding: 10px;
      }

      .content {
        background-color: lightgrey;
        padding: 10px;
      }
    
  
HTML
    
      <div class="float-left">Left Float</div>
      <div class="float-right">Right Float</div>
      <div class="clear">Cleared Element</div>
      <div class="content">
        <p>Questo contenuto non si avvolgerà intorno agli elementi flottanti a causa dell'elemento cleared sopra.</p>
      </div>
    
  

Esempio di tecnica "clearfix":

CSS
    
      .container::after {
        content: "";
        display: table;
        clear: both;
      }
    
  
HTML
    
      <div class="container">
        <div class="sidebar">Contenuto Sidebar</div>
        <div class="main">Contenuto Principale</div>
      </div>
    
  

7.3 Vantaggi e svantaggi dell'uso di float

Vantaggi

  1. Semplicità d'uso:
    • Facilità nella creazione di layout semplici usando float
  2. Supporto esteso nei browser:
    • float è supportato da tutti i browser moderni, comprese le vecchie versioni
  3. Flessibilità nei layout:
    • Possibilità di creare diversi layout, inclusi l'avvolgimento di immagini con testo e la creazione di layout su più righe

Svantaggi

  1. Difficoltà nella gestione di layout complessi:
    • float può causare problemi nella creazione di layout complessi, specialmente quando è necessario l'allineamento verticale
  2. Problemi di altezza degli elementi genitori:
    • Gli elementi genitori possono "collassare" se tutti i loro elementi figli galleggiano. Ciò richiede l'uso di tecniche come clearfix per correggere
  3. Obsolescenza:
    • I metodi moderni come Flexbox e Grid offrono modi più potenti e flessibili per creare layout

Esempio di creazione di layout con float e clear

Creazione di un layout a due colonne con float e clear.

In questo esempio viene creato un layout a due colonne con una barra laterale (.sidebar) e contenuto principale (.main). Gli elementi .sidebar e .main galleggiano a sinistra, mentre l'elemento .footer con clear: both; previene l'avvolgimento.

CSS
    
      .container {
        width: 100%;
      }

      .sidebar {
        float: left;
        width: 25%;
        background-color: lightblue;
        padding: 10px;
      }

      .main {
        float: left;
        width: 75%;
        background-color: lightgreen;
        padding: 10px;
      }

      .footer {
        clear: both;
        background-color: lightcoral;
        padding: 10px;
        text-align: center;
      }
    
  
HTML
    
      <div class="container">
        <div class="sidebar">Contenuto Sidebar</div>
        <div class="main">Contenuto Principale</div>
        <div class="footer">Contenuto Footer</div>
      </div>
    
  

L'uso di float e clear rimane uno strumento importante nell'arsenale degli sviluppatori web, nonostante l'emergere di metodi più moderni. Comprendere il loro funzionamento aiuta nel supporto e nell'aggiornamento di progetti vecchi, oltre che nella creazione di layout semplici. I metodi moderni come Flexbox e Grid sono spesso preferiti per la creazione di layout complessi e adattivi, ma la conoscenza di float e clear è ancora rilevante.

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION