Maison >interface Web >tutoriel HTML >Problème de centrage horizontal et vertical du HTML
J'ai rencontré beaucoup de problèmes de centrage ces derniers temps, j'ai donc pris le temps de les résumer ici afin qu'ils puissent être facilement retrouvés à l'avenir
1. text
<p class="wrap"> 我在中间…… </p> .. height+line-height+text-center(只能居中单行) .wrap{ width:px; height:px; border:px solid red; text-align: center; line-height: px; }
ps:text-align:center centre simplement les éléments en ligne sous l'élément
1.2 display:table -cell (hauteur fixe multiligne centrée)
.wrap{ width:px; height:px; border:px solid red; text-align: center; display:table-cell; vertical-align: middle; } display:table-cell:ie67不管用,最好配合display:table;一起用
ie67 : (je ne l'utiliserai pas dans le futur, mais je le mettrai ici. )
Méthode 1 : (La hauteur de la balise em est égale à la hauteur du parent, donc centrer span et em est équivalent à centrer span sur le parent)
<p class="wrap"> <span> 我在中间…… 我在中间…… 我在中间…… 我在中间…… </span> <em></em> </p> .wrap{ width:px; height:px; border:px solid red; text-align: center; } .wrap span{ vertical-align: middle; display:inline-block; width:px; } .wrap em{ height:%; vertical-align: middle; display:inline-block; }
Méthode 2 : (En ajoutant une balise parent en position absolue à l'élément enfant, puis en faisant correspondre le positionnement relatif de l'élément enfant pour le centrer horizontalement et verticalement)
<p class="wrap"> <span class="span"> <span class="span">我在中间…… 我在中间…… 我在中间…… 我在中间……</span> </span> </p> .wrap{ width:px; height:px; border:px solid red; display:table; position:relative; overflow: hidden; } .wrap .span{ display:table-cell; vertical-align: middle; text-align: center; *position:absolute; top:%; left:%; } .wrap .span{ *position:relative; top:-%; left:-%; }
1.3rembourrage (rembourrage intérieur, il va sans dire)
.wrap{ width:px; border:px solid red; padding:px ; }
2. Élément centré
<p class="wrap"> <span></span> </p>
2.1 position : valeur négative de la marge absolue (la largeur et la hauteur doivent être disponibles pour calculer la marge)
.wrap{ width:px; height:px; position:absolute; top:%; left:%; margin-top:-px; margin-left:-px; border:px solid red; } .wrap span{ width:px; height:px; background:red; position: absolute; top:%; left:%; margin-top:-px; margin-left:-px; }
ps : CSS implémente p le centrage horizontal et centrage vertical de haut en bas
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>上下垂直居中 在线演示 pCSS5</title> <style> #main { position: absolute; width:400px; height:200px; left:50%; top:50%; margin-left:-200px; margin-top:-100px; border:1px solid #00F } /*css注释:为了方便截图,对CSS代码进行换行*/ </style> </head> <body> <p id="main">p水平居中和上下垂直居中<a href="http://www.pcss5.com/">pCSS5</a></p> </body> </html>
Introduction au principe du centrage horizontal et vertical
Position de positionnement absolue :l'absolu est utilisé ici, et à gauche et top sont utilisés pour définir la distance de l'objet vers le haut et vers la gauche à 50 %, mais si elle est définie sur 50 %, la boîte n'obtiendra pas réellement l'effet de centrage, donc définissez également margin-left:-200px;margin-top : -100px ;, voici une astuce, la valeur de margin-left est la moitié de la largeur, la valeur de margin-top est également la moitié de la hauteur de l'objet, et réglée sur négatif en même temps, ceci est réalisé Centré horizontalement et verticalement.
Pour plus d'articles liés à la question du centrage horizontal et vertical du HTML, veuillez faire attention au site Web PHP chinois !