Layout a schermo diviso
Fa parte della sezione Frontend pratico del percorso HTML di Coddy. Lezione 29 di 35.
I layout a schermo diviso suddividono la finestra di visualizzazione in due sezioni distinte, in genere affiancate. Questo schema è efficace per confrontare contenuti, presentare due temi o separare la navigazione dal contenuto principale.
Per prima cosa, creiamo la struttura HTML:
<div class="split-screen">
<div class="split-screen__left">
<h2>Left Side</h2>
<p>This is the left side content.</p>
</div>
<div class="split-screen__right">
<h2>Right Side</h2>
<p>This is the right side content.</p>
</div>
</div>Ora aggiungiamo il CSS per creare il nostro layout a schermo diviso:
.split-screen {
display: flex;
flex-direction: column;
}
/* Sui dispositivi mobili, le sezioni si dispongono in verticale */
.split-screen__left {
background-color: #f0f0f0;
}
.split-screen__right {
background-color: #e0e0e0;
}
/* Sugli schermi più grandi, si affiancano */
@media (min-width: 768px) {
.split-screen {
flex-direction: row;
}
.split-screen__left,
.split-screen__right {
flex: 1;
}
}Questo layout inizia come una pila verticale sui dispositivi mobili, seguendo il nostro approccio mobile-first. Quando la larghezza dello schermo raggiunge 768px o più, il layout cambia in una divisione orizzontale.
Corpo della sfida:
Crea un layout a schermo diviso responsive per presentare un prodotto. Il lato sinistro dovrebbe mostrare le informazioni sul prodotto, mentre il lato destro dovrebbe mostrare l’immagine del prodotto.
Requisiti:
- Lo schermo diviso dovrebbe essere verticale sui dispositivi mobili (sotto i 768px) e orizzontale sugli schermi più grandi
- Il lato sinistro dovrebbe avere uno sfondo scuro (#222) e testo bianco
- Il lato destro dovrebbe avere uno sfondo chiaro (#f5f5f5)
- Aggiungi un padding di 2rem a entrambi i lati
- Sugli schermi più grandi di 768px, il lato sinistro dovrebbe occupare il 40% della larghezza e il lato destro il 60%
Sfida
FacileHai a disposizione una pagina HTML con due sezioni stilizzate con approccio mobile-first. Il tuo compito è trasformarla in un layout a schermo diviso che funzioni bene su desktop.
- Sugli schermi più grandi (min-width: 768px), disponile affiancate.
- Assegna allo schermo sinistro un colore di sfondo
rgb(74, 144, 226)e il colore del testorgb(255, 255, 255). - Assegna allo schermo destro un colore di sfondo
rgb(255, 255, 255)e il colore del testorgb(51, 51, 51).
Provalo tu
<!DOCTYPE html>
<html>
<head>
<title>Split Screen Layout</title>
<style>
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: Arial, sans-serif;
background: #f4f4f4;
}
.container {
display: flex;
flex-direction: column;
min-height: 100vh;
}
.left,
.right {
padding: 3rem;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
}
.left h1 {
font-size: 2.5rem;
margin-bottom: 1rem;
}
.right h2 {
margin-bottom: 1rem;
}
form {
display: flex;
flex-direction: column;
width: 100%;
max-width: 300px;
}
input {
padding: 10px;
margin-bottom: 15px;
border: 1px solid #ccc;
border-radius: 5px;
}
button {
padding: 10px;
border: none;
background: #4a90e2;
color: white;
font-weight: bold;
border-radius: 5px;
cursor: pointer;
transition: background 0.3s;
}
button:hover {
background: #357ab7;
}
@media (min-width: 768px) {
}
</style>
</head>
<body>
<div class="container">
<div class="left">
<h1>Welcome!</h1>
<p>Discover new opportunities, connect with others, and grow with us.</p>
</div>
<div class="right">
<h2>Sign Up</h2>
<form>
<input type="text" placeholder="Your Name">
<input type="email" placeholder="Your Email">
<button type="submit">Join Now</button>
</form>
</div>
</div>
</body>
</html>
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Frontend pratico
2Strategia mobile-first
Cosa significa «mobile-first»Tipografia mobile-firstNavigazione mobile-firstImmagini mobile-firstModuli mobile-firstSfida di riepilogo5Componenti dell’interfaccia utente
Menu a discesaSchedeBadgeSuggerimentiBanner di notificaSfida di riepilogo3Temi e stili visivi
Temi in CSSFondamenti della modalità scura/chiaraColori di accento ed evidenziazioneTemi tipograficiSfida di riepilogo6Schemi responsive
Layout del Santo GraalLayout a griglia di schedeLayout con barra laterale e contenutoLayout a schermo divisoHeader / footer fissiSfida di riepilogoEsercitati da solo: Playground Web