Maison > Article > interface Web > Qu'est-ce que la disposition CSS à double aile volante et la disposition du Saint Graal
Cet article présente principalement une brève discussion sur la disposition CSS à double aile volante et la disposition du Saint Graal. L'éditeur pense que c'est plutôt bon. Maintenant, je vais le partager avec vous et vous donner une référence. Suivons l'éditeur pour y jeter un œil, j'espère que cela pourra aider tout le monde.
La disposition à deux ailes et la disposition du Saint Graal sont deux façons d'obtenir une disposition adaptative à trois colonnes avec un milieu fixe des deux côtés. J'ai récemment trié des notes sur la façon de mettre en œuvre une disposition à trois colonnes, et j'ai décidé de sortir un article pour me souvenir de ces deux mises en page classiques.
1. Mise en page Saint Graal
Flottant, marges négatives, positionnement relatif, pas de balises supplémentaires
Rendu
Structure DOM :
<p class="header">Header</p> <p class="bd"> <p class="main">Main</p> <p class="left">Left</p> <p class="right">Right </p> </p> <p class="footer">Footer</p>
Style :
<style> body{padding:0;margin:0} .header,.footer{width:100%; background: #666;height:30px;clear:both;} .bd{ padding-left:150px; padding-right:190px; } .left{ background: #E79F6D; width:150px; float:left; margin-left:-100%; position: relative; left:-150px; } .main{ background: #D6D6D6; width:100%; float:left; } .right{ background: #77BBDD; width:190px; float:left; margin-left:-190px; position:relative; right:-190px; } </style>
Processus de changement de style des parties gauche, centrale et droite
1 La partie centrale doit changer en fonction du changement de largeur du navigateur, utilisez donc 100. % Ici, laissez les * gauche, milieu et droite flotter vers la gauche, car le milieu est à 100 % et les calques gauche et droit n'ont aucune position du tout
.left{ background: #E79F6D; width:150px; float:left; } .main{ background: #D6D6D6; width:100%; float:left; } .right{ background: #77BBDD; width:190px; float:left; }2. Après avoir réduit la marge du calque gauche de 150, j'ai constaté que le calque gauche montait parce qu'il était tellement négatif qu'il n'y avait pas de place pour le calque gauche. fenêtre, je n'ai pu que la déplacer vers le haut
.left{ background: #E79F6D; width:150px; float:left; margin-left:-150px; }
Selon la deuxième étape, cela peut être conclu. qu'il suffit de déplacer la largeur de la fenêtre pour qu'elle soit aussi large que celle la plus à gauche. Utilisez des marges négatives pour positionner les colonnes de gauche et de droite
.left{ background: #E79F6D; width:150px; float:left; margin-left:-100%; } .right{ background: #77BBDD; width:190px; float:left; margin-left:-190px; }<.>
4. Cependant, le problème est venu, le milieu était bloqué par les côtés gauche et droit, j'ai donc dû ajouter du rembourrage à la couche extérieure
.bd{ padding-left:150px; padding-right:190px; }
5. Cependant, après l'avoir ajouté, les colonnes de gauche et de droite ont également été mises en retrait, donc la méthode de positionnement relatif a été utilisée pour les déplacer l'une par rapport à l'autre. sortez et obtenez le résultat final
.left{ background: #E79F6D; width:150px; float:left; margin-left:-100%; position: relative; left:-150px; } .right{ background: #77BBDD; width:190px; float:left; margin-left:-190px; position:relative; right:-190px; }2. Disposition des ailes volantes doubles
Sans ajouter de balises supplémentaires, la mise en page du Saint Graal est déjà parfaite. La mise en page du Saint Graal utilise un positionnement relatif. La future mise en page aura des limites, et il existe de nombreux endroits pour modifier le contrôle de la largeur. les méthodes sont-elles plus simples et plus pratiques ?
Dans la discussion de Taobao UED, l'ajout d'un p supplémentaire élimine le besoin d'une disposition relative et utilise uniquement des marges flottantes et négatives. C'est ce que nous appelons la disposition à double aile volante.
Structure DOM : Ajout d'un p
<p class="header">Header</p> <p class="bd"> <p class="main"> <p class="inner"> Main </p>* </p> <p class="left">Left</p> <p class="right">Right </p> </p> <p class="footer">Footer</p>
Style :
Suppression des colonnes gauche et droite Positionnement relatif
Supprimez le rembourrage de la couche d'emballage et remplacez-le par la marge de p ajoutée dans la colonne du milieu
body{ padding:0; margin:0 } .header,.footer{ width:100%; background:#666; height:30px;clear:both; } .bd{ /*padding-left:150px;*/ /*padding-right:190px;*/ } .left{ background: #E79F6D; width:150px; float:left; margin-left:-100%; /*position: relative;*/ /*left:-150px;*/ } .main{ background: #D6D6D6; width:100%; float:left; } .right{ background: #77BBDD; width:190px; float:left; margin-left:-190px; /*position:relative;*/ /*right:-190px;*/ } .inner{ margin-left:150px; margin-right:190px; }3. Double vol ailes La différence entre la disposition et la disposition Holy Graal
La solution au problème de la disposition Holy Grail et de la disposition Double Flying Wing est la même dans la première moitié, à savoir :
Mise en page du Saint Graal
De plus, la disposition à double aile volante présente un autre avantage : elle transforme le principal en élément BFC. Lorsque la largeur de l'écran est réduite, le principal ne sera pas évincé et la disposition du Saint Graal sera évincée. .
Recommandations associées :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!