vue en grille
Conception Web réactive - Vue en grille
Qu'est-ce que la vue en grille ?
De nombreuses pages Web sont conçues sur la base d'une grille, ce qui signifie que la page Web est organisée en colonnes.
L'utilisation de la vue grille nous aide à concevoir des pages Web. Cela facilite l'ajout d'éléments aux pages Web.
Les vues de grille réactives comportent généralement 12 colonnes, 100 % de largeur et sont automatiquement mises à l'échelle lorsque la fenêtre du navigateur est redimensionnée.
Créer une vue grille réactive
Ensuite, nous créons une vue grille réactive.
Assurez-vous d'abord que tous les éléments HTML ont l'attribut box-sizing défini sur border-box.
Assurez-vous que les marges et les bordures sont contenues dans la largeur et la hauteur de l'élément.
Ajoutez le code suivant :
* { box-sizing: border-box; }
Pour afficher plus de contenu de dimensionnement de boîte, veuillez cliquer sur : Propriété de dimensionnement de boîte CSS3.
L'exemple suivant montre une page Web réactive simple, contenant deux colonnes :
Exemple
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta charset="utf-8"> <title>php中文网</title> <style> * { box-sizing: border-box; } .header { border: 1px solid red; padding: 15px; } .menu { width: 25%; float: left; padding: 15px; border: 1px solid red; } .main { width: 75%; float: left; padding: 15px; border: 1px solid red; } </style> </head> <body> <div class="header"> <h1>Chania</h1> </div> <div class="menu"> <ul> <li>The Flight</li> <li>The City</li> <li>The Island</li> <li>The Food</li> </ul> </div> <div class="main"> <h1>The City</h1> <p>Chania is the capital of the Chania region on the island of Crete. The city can be divided in two parts, the old town and the modern city.</p> <p>Resize the browser window to see how the content respond to the resizing.</p> </div> </body> </html>
Exécuter l'exemple »
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
L'exemple ci-dessus contient deux colonnes.
Le système de grille à 12 colonnes permet un meilleur contrôle des pages Web réactives.
On peut d'abord calculer le pourcentage de chaque colonne : 100% / 12 colonnes = 8,33%.
Spécifiez la classe dans chaque colonne, class="col-" est utilisé pour définir le nombre d'étendues de chaque colonne :
Instance
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta charset="utf-8"> <title>php 中文网</title> <style> * { box-sizing: border-box; } .header { border: 1px solid red; padding: 15px; } .row:after { content: ""; clear: both; display: block; } [class*="col-"] { float: left; padding: 15px; border: 1px solid red; } .col-1 {width: 8.33%;} .col-2 {width: 16.66%;} .col-3 {width: 25%;} .col-4 {width: 33.33%;} .col-5 {width: 41.66%;} .col-6 {width: 50%;} .col-7 {width: 58.33%;} .col-8 {width: 66.66%;} .col-9 {width: 75%;} .col-10 {width: 83.33%;} .col-11 {width: 91.66%;} .col-12 {width: 100%;} </style> </head> <body> <div class="header"> <h1>Chania</h1> </div> <div class="row"> <div class="col-3"> <ul> <li>The Flight</li> <li>The City</li> <li>The Island</li> <li>The Food</li> </ul> </div> <div class="col-9"> <h1>The City</h1> <p>Chania is the capital of the Chania region on the island of Crete. The city can be divided in two parts, the old town and the modern city.</p> <p>Resize the browser window to see how the content respond to the resizing.</p> </div> </div> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton "Exécuter l'instance" pour afficher l'instance en ligne
Toutes les colonnes flottent vers la gauche, avec un remplissage de 15px :
CSS :
float : gauche ;
rembourrage : 15px;
bordure : 1px rouge uni;
}
Enroulez chaque ligne avec <div>. Le nombre total de colonnes doit totaliser 12 :
<div class="col-3"> ...</div>
<div class= "col-9">...</div>
</div>
La ligne de la colonne flotte vers la gauche et ajoute un flottant clair :
CSS :
contenu : "";
clear: les deux;
display: block;
}
On peut en ajouter styles et couleurs, améliorez-le :
Instance
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta charset="utf-8"> <title>php 中文网</title> <style> * { box-sizing: border-box; } .row:after { content: ""; clear: both; display: block; } [class*="col-"] { float: left; padding: 15px; } .col-1 {width: 8.33%;} .col-2 {width: 16.66%;} .col-3 {width: 25%;} .col-4 {width: 33.33%;} .col-5 {width: 41.66%;} .col-6 {width: 50%;} .col-7 {width: 58.33%;} .col-8 {width: 66.66%;} .col-9 {width: 75%;} .col-10 {width: 83.33%;} .col-11 {width: 91.66%;} .col-12 {width: 100%;} html { font-family: "Lucida Sans", sans-serif; } .header { background-color: #9933cc; color: #ffffff; padding: 15px; } .menu ul { list-style-type: none; margin: 0; padding: 0; } .menu li { padding: 8px; margin-bottom: 7px; background-color :#33b5e5; color: #ffffff; box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); } .menu li:hover { background-color: #0099cc; } </style> </head> <body> <div class="header"> <h1>Chania</h1> </div> <div class="row"> <div class="col-3 menu"> <ul> <li>The Flight</li> <li>The City</li> <li>The Island</li> <li>The Food</li> </ul> </div> <div class="col-9"> <h1>The City</h1> <p>Chania is the capital of the Chania region on the island of Crete. The city can be divided in two parts, the old town and the modern city.</p> <p>Resize the browser window to see how the content respond to the resizing.</p> </div> </div> </body> </html>
Exécuter l'instance»
Cliquez sur "Exécuter l'instance" bouton pour afficher l'instance en ligne