Le centrage horizontal est l'une des méthodes de mise en page couramment utilisées. Il est principalement divisé en centrage des éléments en ligne et centrage des éléments en bloc. Le centrage des éléments de bloc est également divisé en centrage à largeur fixe et centrage à largeur variable. Le centrage des éléments en ligne peut être obtenu en utilisant text-align:center. Le centrage des éléments de bloc avec une largeur connue peut être obtenu en utilisant un positionnement absolu et en définissant
marge sur une valeur négative. la moitié de la largeur. Cependant, le centrage à largeur variable est plus couramment utilisé et plus compliqué que les deux ci-dessus. Nous avons souvent besoin d'utiliser le centrage à largeur variable dans l'affichage du numéro de page de pagination et à d'autres endroits. Il est plus pratique d'utiliser plusieurs niveaux. éléments de bloc utilisés.
1. Décalage d'imbrication d'étiquettes
Principe de mise en œuvre :
Associé à la mise en place du centrage à largeur fixe : premier Décalage au centre de l’écran et définissez la direction de sa marge pour décaler la moitié de la largeur. Alors, pouvez-vous penser à un moyen d'utiliser cette idée pour d'abord décaler 50 % vers la moitié droite de l'écran, puis la décaler dans la direction opposée ? Le plus difficile à mettre en œuvre est de ne pas savoir quelle est la largeur. J'ai aussi pensé que tant que la largeur du parent et la largeur de l'enfant sont égales, l'utilisation d'un pourcentage peut résoudre le problème. Alors, comment faire en sorte que la largeur de son parent soit la même que celle du mot ? Profitant de la propriété d'emballage de float : si l'élément parent est flottant et que la largeur et la hauteur ne sont pas définies, il essaiera d'envelopper les éléments enfants autant que possible.
Code de mise en œuvre :
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>不定宽度水平居中</title> <style> body{ background-color: #e5da31; } .container{ position: absolute; /*脱离文档流,其宽度将由子元素的宽度决定*/ left:50%; } .content{ position: absolute; left:-50%; background-color: #2ecc71; } </style> </head> <body> <p class="container"> <p class="content">标签嵌套</p> </p> </body> </html>
Effet de mise en œuvre :
Avantages et Inconvénients :
L'inconvénient est évident Il faut écrire des balises qui n'ont rien à voir avec le contenu du document. La compatibilité est bonne après quelques lignes de code supplémentaires. aucun problème pour le visualiser sur le navigateur IE6
Mise en page 2.flex-box
Principe de mise en œuvre :
Définissez d'abord un conteneur flexible, puis définissez son alignement de contenu sur l'alignement centré
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>不定宽度水平居中</title> <style> body { background-color: #e5da31; } .container { display: flex; /*定义一个flex容器*/ justify-content: center; /*定义容器的空间没有被全部占用时,内容的对其方式*/ } .content{ background-color: #2ecc71; } </style> </head> <body> <p class="container"> <p class="content">标签嵌套</p> </p> </body> </html>
Obtenir l'effet :
Analyse des avantages et des inconvénients :
C'est le plus simple à mettre en œuvre, mais, comme flex a une mauvaise compatibilité, utilisez-le avec prudence lorsqu'il est compatible avec les navigateurs bas de gamme.
3. Mise en page en ligne
Principe de mise en œuvre :
text-align:center peut centrer les éléments en ligne horizontalement Si vous changez l'élément de bloc en élément en ligne, vous pouvez utiliser text-align pour obtenir un centrage horizontal.
Code de mise en œuvre :
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>不定宽度水平居中</title> <style> body{ background-color: #e5da31; } .container{ text-align:center; } .content{ display: inline; background-color: #2ecc71; } </style> </head> <body> <p class="container"> <p class="content">标签嵌套</p> </p> </body> </html>
Effet de mise en œuvre :
Avantages et Analyse des inconvénients :
Il semble toujours un peu gênant d'utiliser text-align, qui est à l'origine utilisé pour modifier l'alignement du texte, pour obtenir un centrage horizontal. Ce conteneur externe est également redondant, mais en. afin de ne pas affecter d'autres parties du corps. Une partie de l'élément, pour l'instant. De plus, la compatibilité est bonne et peut être affichée normalement dans IE6.
Ce qui précède est l'intégralité du contenu de la petite discussion sur le centrage horizontal CSS présentée par l'éditeur. J'espère que vous soutiendrez le site Web PHP chinois ~
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!