Lorsque nous concevons la page, nous devons souvent centrer le DIV et l'afficher horizontalement et verticalement par rapport à la fenêtre de la page, par exemple en centrant la fenêtre de connexion.
Jusqu'à présent, de nombreuses méthodes ont été explorées.
HTML :
Code XML/HTMLCopier le contenu dans le presse-papiers
- <corps>
-
<div class="maxbox" >
-
<div class="minbox align -center">div>
-
div>
-
corps>
-
Rendu (les méthodes suivantes ont les mêmes rendus) :
Le premier type : positionnement absolu CSS
Utilisez principalement le positionnement absolu, puis utilisez la marge pour ajuster à la position médiane.
Élément parent :
Code CSSCopier le contenu dans le presse-papiers
- .maxbox{
-
position : relative;
-
largeur : 500px;
-
hauteur : 500px;
-
marge : 5px ;
box-shadow : -
1px 1px 1px rgba (0, 0, 0, 0,8), -1px -1px 1px rgba(0, 0, 0, 0,8);
} -
-
Éléments enfants :
Code CSS
Copier le contenu dans le presse-papiers
- .minbox{
-
largeur : 200px;
-
hauteur : 200px;
box-shadow :
1px-
1px 1px rgba (0, 0, 0, 0,8), -1px -1px 1px rgba(0, 0, 0, 0,8);
}
-
Alignement central horizontal et vertical :
Code CSSCopier le contenu dans le presse-papiers
- .align-centre{
-
position : absolue;
-
gauche : 50%
-
haut : 50%
-
marge gauche : -100 px; /*largeur/-2* /
-
marge supérieure : -100px; /*hauteur/-2* /
} -
Deuxième type : positionnement absolu CSS Javascript/JQuery
Utilisez principalement le positionnement absolu, puis utilisez Javascript/JQuery pour vous ajuster à la position médiane. Par rapport à la première méthode, cette méthode améliore la flexibilité de la classe.
Élément parent :
Code CSS
Copier le contenu dans le presse-papiers
- .maxbox{
-
position : relative;
largeur-
: 500px;
hauteur-
: 500px;
marge-
: 5px ;
box-shadow :
1px-
1px 1px rgba (0, 0, 0, 0,8), -1px -1px 1px rgba(0, 0, 0, 0,8);
}
-
-
Éléments enfants :
Code CSS
Copier le contenu dans le presse-papiers
.minbox{
-
largeur-
: 200px;
hauteur-
: 200px;
box-shadow : 1px
-
1px 1px rgba (0, 0, 0, 0,8), -1px -1px 1px rgba(0, 0, 0, 0,8);
}
-
Alignement central horizontal et vertical :
Code CSS
Copier le contenu dans le presse-papiers
- .align-centre{
-
position : absolue;
-
gauche : 50%
-
haut : 50%
} -
-
JQuery :
Code JavaScript
Copier le contenu dans le presse-papiers
- $(fonction(){
$(-
".align-center").css(
-
"marge-gauche"-
: ($().align-center").width() /-2),
"marge-haut"-
: ($().align-center").height() /-2)
); -
}); -
-
-
Le troisième type : déplacement de positionnement absolu CSS3
En utilisant le positionnement absolu et la transformation CSS3 : traduire peut également obtenir le même effet.
Élément parent :
Code CSS
Copier le contenu dans le presse-papiers
.maxbox{
- position
: -
relative;
largeur :
500px-
;
hauteur :
500px-
;
marge :
5px-
;
box-shadow : 1px
1px-
1px rgba (0, 0, 0, 0,8), -1px -1px 1px rgba(0, 0, 0, 0,8);
}
-
Éléments enfants : -
Code CSS
Copier le contenu dans le presse-papiers
- .minbox{
-
largeur : 200px;
-
hauteur : 200px;
box-shadow : -
1px 1px 1px rgba (0, 0, 0, 0,8), -1px -1px 1px rgba(0, 0, 0, 0,8);
} -
-
Alignement central horizontal et vertical :
Code CSS
Copier le contenu dans le presse-papiers
- .align-centre{
-
position : absolue;
haut-
: 50%
gauche-
: 50%
-webkit-transform : traduire(-50%, -50%);
- -moz-transform : traduire (-50%, -50%);
- transformer : traduire(-50%, -50%);
/*Maj vers la gauche et vers le haut*/-
}
-
-
Quatrième type : Flexbox : [Modèle de boîte d'aménagement télescopique]
Rendre des éléments horizontaux et verticaux est trop simple avec le modèle Flexbox.
Vous devez modifier le code HTML ici :
Code XML/HTML
Copier le contenu dans le presse-papiers
<
- div class="maxbox align-center" >
<
- div class="minbox" >div>
- div>
-
Élément parent :
Code CSS
Copier le contenu dans le presse-papiers
- .maxbox{
-
position : relative;
-
largeur : 500px;
-
hauteur : 500px;
-
marge : 5px ;
box-shadow : -
1px 1px 1px rgba (0, 0, 0, 0,8), -1px -1px 1px rgba(0, 0, 0, 0,8);
} -
-
Éléments enfants :
Code C#
Copier le contenu dans le presse-papiers
- .minbox{
largeur : 200px -
hauteur : 200px -
box-shadow : 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8 - );
} -
Alignement central horizontal et vertical :
Code CSS
Copier le contenu dans le presse-papiers
- .align-centre{
-
affichage : flexion
-
affichage : -webkit-flex;
-
contenu-
: centre ; >
aligner les éléments : centre;
}
-
Comparaison de plusieurs méthodes :
Le premier ajustement de la marge de positionnement absolu CSS a une bonne compatibilité mais manque de flexibilité. Si de nombreuses cases doivent être centrées horizontalement et verticalement, des .align-center différents doivent être écrits en raison de leur largeur et de leur hauteur différentes.
Le second utilise un langage de script, qui présente une bonne compatibilité et compense les défauts du premier. L'effet du centrage horizontal et vertical ne sera pas affecté par les changements de largeur et de hauteur. - Le troisième type utilise de nouvelles propriétés de CSS3 et est compatible avec IE10, Chrome, Firefox et Opera. La compatibilité n'est pas très bonne et l'effet de centrage horizontal et vertical ne sera pas affecté par les changements de largeur et de hauteur. Grâce au modèle Flexbox, compatible avec Firefox, Opera et Chrome, IE est complètement anéanti. Cela n'affecte pas non plus l'effet de centrage horizontal et vertical en raison des changements de largeur et de hauteur.
Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.