Aujourd'hui, alors que les moniteurs des utilisateurs sont de plus en plus grands, l'ancienne disposition à largeur solide de 1024 x 768 devient de plus en plus obsolète. Pour les utilisateurs disposant de grands écrans, l'espace vide des deux côtés donne aux gens une impression sérieuse à première vue. gaspillage, en tant que concepteur de sites Web, vous avez la responsabilité de fournir à ce groupe d'utilisateurs une bonne interface utilisateur.
Bien entendu, afin de réduire ce gaspillage d'écran, l'utilisation d'une disposition fluide élastique est la meilleure solution. Elle permet d'utiliser pleinement l'espace de l'écran et d'afficher le contenu en plein écran, quelle que soit la résolution que vous utilisez. Cependant, en raison de diverses limitations, les pages Web actuelles ne sont pas encore prêtes à adopter pleinement une mise en page élastique et fluide (en particulier le piétinement gratuit des normes par les fabricants de navigateurs et la prise en charge incomplète des normes CSS, etc.). En tant qu'intermédiaire entre utilisateurs et fabricants, nous ne pouvons nous adapter à l'écart entre les deux qu'avec une mentalité compatible. Par conséquent, comme solution de transition, il existe une telle disposition : disposition élastique + largeur fixe.
L'élasticité mentionnée ici signifie que l'arrière-plan s'adapte à la largeur de l'écran, tandis que la largeur fixe signifie que le contenu du texte peut être automatiquement centré en écran large ou en écran étroit. Survivez dans les fissures pour répondre aux besoins des utilisateurs avec des résolutions de différentes tailles. La conception présentée ci-dessous est un exemple typique.
Sans plus tarder, passons aux choses sérieuses. Créons une structure de mise en page comme celle-ci.
Construisez d’abord la couche de structure :
Analysez la couche structurelle. Une page Web comprend généralement trois parties : l'en-tête, la zone de contenu et le pied de page. Nous plaçons l'en-tête et le contenu dans une couche conteneur, nommée wrapper, et séparons le pied de page, nommé wrapper. Pourquoi est-il conçu ainsi ? Nous voulons que ce pied de page soit absolument en bas, même lorsque la zone de contenu fait moins d'un écran.
Nous réglons la largeur des deux conteneurs, wrapper et footer, à 100% pour qu'ils s'adaptent automatiquement à la largeur de l'écran. Et définissez également la zone d’en-tête sur une largeur de 100 %. De cette façon, nous pouvons insérer une image qui peut être carrelée horizontalement dans l'en-tête et le pied de page, de sorte que l'arrière-plan de l'en-tête et du pied de page puisse remplir tout l'espace de l'écran horizontalement sur un grand écran.
Quant au contenu principal du texte, notre approche générale consiste à l’afficher au centre lorsque la résolution devient plus grande, en laissant un espace vide des deux côtés. Étant donné que la zone d'en-tête a été définie sur une largeur de 100 %, nous ajoutons une autre couche de conteneur à l'en-tête, qui sert de support au contenu réel du texte d'en-tête. Nous définissons ensuite une valeur de largeur fixe, par exemple 960 pixels. et laissez-le se centrer.
#inheader{width:960px;height:110px; margin:0 auto; } |
De cette façon, le texte principal de l'en-tête de la page flotte sur la couche supérieure de l'en-tête. Ces deux couches peuvent être définies avec des images d'arrière-plan différentes pour former une superposition. effet d'en-tête, qui peut automatiquement adapter une résolution d'écran plus grande.
De la même manière, le pied de page peut également être implémenté en utilisant cette méthode.
Dans la couche structurelle ci-dessus, je n'ai pas utilisé cette méthode dans la zone de contenu intermédiaire, mais j'ai apporté un petit changement. Nous pouvons voir que dans la zone de contenu, il n'y a pas de conteneur intégré, mais un seul conteneur. Que devons-nous faire si nous voulons éviter que les deux côtés du texte apparaissent vides en haute résolution. Bien sûr, vous pouvez utiliser les méthodes d'en-tête et de pied de page et ajouter un div à son contenu ? Bien entendu, afin de réduire l’imbrication, nous pouvons utiliser des solutions de contournement. Nous pouvons ajouter une très grande image à l'arrière-plan du corps et utiliser background-position pour positionner et centrer l'image afin que les images des deux côtés de la zone de contenu soient affichées.
Ce blog est un cas spécifique. Si vous regardez les images des deux côtés de ce blog en haute résolution puis réduisez la fenêtre, vous pouvez voir que seule une petite zone des images des deux côtés est affichée à 1024*. 768, tandis que le texte principal est toujours affiché au centre.
Pour démontrer l'effet, nous ajoutons d'autres ajustements de couleur, et le style final est le suivant :
*{marge:0;padding:0;} html, corps, #wrapper {hauteur : 100 % ; taille de police : 12 px ;} #wrapper{largeur:100%;arrière-plan:#777;} corps > #wrapper {hauteur : auto ; hauteur min : 100 % ;} #main {padding-bottom: 54px;min-width:960px;}/* Doit utiliser la même hauteur que le pied de page, la largeur minimale peut être résolue en ajoutant JS dans ie6*/ #header{text-align:center;color:#fff;background:#333;} #inheader{width:960px;height:110px;line-height:110px;margin:0 auto;background:#CC9933;} h3{font-size:14px;line-height:50px;} #inheader p{font-size:12px;line-height:30px;} #pied de page { position : relative ; margin-top: -54px; /* Valeur négative de la hauteur du pied de page*/ hauteur : 54px;/* hauteur du pied de page*/ largeur : 100 % ; min-width:960px;/*La largeur minimale est résolue en ajoutant JS dans ie6*/ clair : les deux ; arrière-plan : #666 ; texte-align:centre; couleur :#fff ; } #infoot{hauteur:54px;hauteur de ligne:54px;largeur:960px;marge:0 auto;arrière-plan:#CC9966;} #footer p{line-height:26px;} #content{background:#999;largeur:960px;marge:0 auto;hauteur:692px;} #content p{line-height:30px;padding:0 30px;color:#fff;} /*Remarque : Ce qu'il faut noter, c'est que la valeur de remplissage de #main, la hauteur du pied de page et la valeur de marge négative doivent être cohérentes. Voici la célèbre fermeture flottante universelle Clearfix Hack*/ .clearfix : après { contenu: "."; affichage : bloc ; hauteur : 0 ; clair : les deux ; visibilité : cachée ;} .clearfix {affichage : bloc en ligne ;} /* Se cache depuis IE-mac */ * html .clearfix { hauteur : 1 % ;} .clearfix {affichage : bloc ;} /* Fin du masquage depuis IE-mac */ |