Le bloc au centre de css. Css outils de centrage. Comment aligner le bloc DIV au centre à l'aide de champs automatiques

                                  14h18.15

Si vous coupez un site créé à partir de HTML, vous verrez une sorte de structure en couches. De plus, son apparence sera semblable à celle de la tarte aux bouffées. Si vous le pensez, alors vous n’avez probablement pas mangé. Par conséquent, commencez par satisfaire votre faim, puis nous vous dirons comment positionner la couche div au centre de votre site:

Avantages de la mise en page avec une balise

Il existe deux principaux types de structure de chantier:

  • Tabulaire;
  • Bloquer.

La mise en page tabulaire était dominante à l'aube de la naissance d'Internet. Ses avantages incluent la précision d'un positionnement donné. Mais, néanmoins, il présente des inconvénients évidents. Les principaux sont le gros du code et la faible vitesse de téléchargement.

Lors de l'utilisation d'une disposition de tableau, la page Web ne sera pas affichée tant qu'elle n'est pas complètement chargée. Lors de l'utilisation de blocs div, les éléments sont affichés immédiatement.

En plus de la vitesse de téléchargement élevée, la construction en bloc du site permet à plusieurs reprises de réduire la quantité de code HTML. Y compris par l'utilisation de classes CSS.

Cependant, une présentation tabulaire doit être utilisée pour structurer l'affichage des données sur la page. Un exemple classique de son utilisation est le mappage des tables.

Construction de blocs par balises

  également appelé couches, et les blocs eux-mêmes couches. Cela est dû au fait que, lorsque certaines valeurs de propriété sont utilisées, elles peuvent être superposées, comme les calques de Photoshop.

Outils de positionnement

Dans la disposition en blocs, il est préférable de positionner les couches à l'aide des outils de feuilles de style en cascade. La propriété principale de CSS, responsable de la localisation

est un flotteur.
  Syntaxe de la propriété:
float: gauche | droit | aucun | hériter,
  Où

  • left - alignement de l'élément sur le bord gauche de l'écran. Enveloppez les autres éléments à droite;
  • right - alignement à droite, enveloppe d'autres éléments - à gauche;
  • none - pas d'emballage permis;
  • inherit - héritage de la valeur de l'élément parent.

Prenons un exemple simple de positionnement de blocs div à l'aide de cette propriété:

Bloc gauche




Nous allons maintenant essayer d'utiliser la même propriété pour positionner la troisième div au centre de la page. Malheureusement, float n'a pas de valeur centrale. Et lorsqu'un nouveau bloc est défini sur la valeur d'alignement droite ou gauche, il se déplace vers le côté spécifié. Par conséquent, il ne reste que les trois blocs à spécifier float: left:


  Mais ce n'est pas la meilleure option. Lorsque vous réduisez la fenêtre, tous les calques sont alignés verticalement sur une seule ligne et, lorsque vous augmentez la taille, ils restent sur le bord gauche de la fenêtre. Par conséquent, nous avons besoin d’un moyen plus parfait de centrer la division.

Couches de centrage

Dans l'exemple suivant, nous utiliserons un conteneur de couches dans lequel nous placerons les éléments restants. Cela résout le problème de décalage de blocs les uns par rapport aux autres lorsque la fenêtre est redimensionnée. Le centrage du conteneur au milieu est effectué en définissant les propriétés de la marge sur zéro, à partir du bord supérieur et auto sur les côtés (marge: 0 auto):

Bloc gauche

Unité centrale




  Le même exemple montre comment centrer la div horizontalement. Et si vous modifiez un peu le code ci-dessus, vous pouvez obtenir un alignement vertical des blocs. Pour ce faire, il vous suffit de changer la longueur du conteneur de calque (le réduire). C'est-à-dire qu'après la modification de sa classe css, cela devrait ressembler à ceci:

Après le changement, tous les blocs seront alignés strictement au milieu. Et leur position ne changera pas avec la taille de la fenêtre du navigateur. Voici à quoi ressemble verticalement le centrage de la div au centre:


  Dans l'exemple suivant, nous avons utilisé plusieurs nouvelles propriétés CSS pour centrer les couches à l'intérieur du conteneur:


  Une brève description des propriétés css et de leurs valeurs que nous avons utilisées dans cet exemple pour centrer la div dans une div:
  • display: inline-block - aligne l’élément du bloc sur la ligne et lui associe un autre élément;
  • vertical-align: middle - aligne l'élément au milieu par rapport au parent;
  • margin-left - définit la marge à gauche.

Comment faire un lien à partir d'une couche

Cela peut sembler étrange, mais c'est possible. Parfois, un bloc div en tant que lien peut être nécessaire pour créer différents types de menus. Prenons un exemple pratique d'implémentation d'une couche de liaison:

  Lien vers notre site



  Dans cet exemple, en utilisant la ligne display: block, nous définissons le lien avec la valeur de l'élément block. Et pour que toute la hauteur de la div devienne un lien, définissez la hauteur: 100%.

Masquer et afficher des éléments de bloc

Les éléments de bloc offrent plus d'opportunités pour étendre les fonctionnalités de l'interface que la présentation tabulaire obsolète. Il arrive souvent que la conception du site soit unique et reconnaissable. Mais pour une telle exclusivité doivent payer un manque d'espace libre.

Cela est particulièrement vrai de la page principale, le coût de la publicité sur lequel est le plus élevé. Par conséquent, il y a un problème pour "pousser" une autre bannière publicitaire. Et ici, l’alignement de div sur le centre de la page ne s’échappera pas!

Une décision plus rationnelle consiste à masquer un bloc. Voici un exemple simple d'une telle implémentation:

Ceci est un bouton magique. Cliquez dessus pour masquer ou afficher le bloc masqué.



Centrer verticalement des éléments avec CSS est une tâche qui présente une certaine difficulté pour les développeurs. Cependant, il existe plusieurs méthodes pour le résoudre, qui sont assez simples. Cette leçon présente 6 options pour le contenu de centrage vertical.

Commençons par une description générale du problème.

Défi de centrage vertical

Le centrage horizontal est très simple et facile. Lorsque l'élément centré est en ligne, utilisez la propriété d'alignement par rapport à l'élément parent. Lorsqu'un élément est bloc, nous lui donnons une largeur et définissons automatiquement les marges gauche et droite.

La plupart des personnes, à l'aide de la propriété text-align:, accèdent à la propriété vertical-align pour se centrer verticalement. Tout semble assez logique. Si vous avez utilisé des modèles tabulaires, vous avez probablement probablement activement utilisé l'attribut valign, ce qui renforce la conviction selon laquelle l'alignement vertical est la bonne façon de résoudre le problème.

Mais l'attribut valign ne fonctionne que dans les cellules de tableau. Et la propriété vertical-align lui ressemble beaucoup. Il affecte également les cellules du tableau et certains éléments de chaîne.

La valeur de la propriété vertical-align est relative à l'élément de ligne parent.

  • Dans une ligne de texte, l'alignement est effectué par rapport à la hauteur de la ligne.
  • Dans une cellule de tableau, l'alignement est utilisé par rapport à la valeur calculée par un algorithme spécial (généralement, une hauteur de ligne est obtenue).

Mais, malheureusement, la propriété vertical-align ne fonctionne pas dans les éléments de bloc (par exemple, les paragraphes à l'intérieur d'un élément div). Cette situation peut donner à penser qu’il n’ya pas de solution au problème de l’alignement vertical.

Mais il existe d'autres méthodes de centrage d'éléments de bloc dont le choix dépend de ce qui est centré par rapport au conteneur extérieur.

Méthode de hauteur de ligne

Cette méthode fonctionne lorsque vous souhaitez centrer verticalement une ligne de texte. Il vous suffit de définir une hauteur de ligne supérieure à la taille de la police.

Par défaut, l'espace libre sera distribué uniformément au-dessus et au-dessous du texte. Et la ligne sera centrée verticalement. Souvent, la hauteur de la ligne est égale à la hauteur de l'élément.

HTML:

Texte désiré

CSS:

  #child (line-height: 200px;)

Cette méthode fonctionne dans tous les navigateurs, bien qu'elle ne puisse être utilisée que pour une ligne. La valeur de 200 px dans l'exemple est choisie arbitrairement. Vous pouvez utiliser toute valeur supérieure à la taille de la police du texte.

Centrer l'image en utilisant line-height

Et si le contenu est une image? La méthode décrite ci-dessus fonctionnera-t-elle? La réponse réside dans une autre ligne de code CSS.

HTML:

CSS:

  #parent (line-height: 200px;) #parent img (vertical-align: middle;)

La valeur de la propriété line-height doit être supérieure à la hauteur de l'image.

Méthode de table CSS

Comme mentionné ci-dessus, la propriété vertical-align est utilisée pour les cellules de tableau, où elle fonctionne correctement. Nous pouvons exporter notre élément en tant que cellule de tableau et utiliser la propriété vertical-align pour le centrer verticalement.

Note:  Le tableau CSS n'est pas le même que le tableau HTML.

HTML:

Le contenu

CSS:

  #parent (display: table;) #child (affichage: table-cell; vertical-align: middle;)

Nous définissons la sortie de table pour l'élément div parent et sortons l'élément div incorporé sous forme de cellule de tableau. Vous pouvez maintenant utiliser la propriété vertical-align pour le conteneur interne. Tout ce qui s'y trouve sera centré verticalement.

Contrairement à la méthode décrite ci-dessus, dans ce cas, le contenu peut être dynamique, car l'élément div changera de taille en fonction de son contenu.

L'inconvénient de cette méthode est qu'elle ne fonctionne pas dans les anciennes versions d'IE. Vous devez utiliser la propriété display: inline-block pour le conteneur imbriqué.

Positionnement absolu et champs négatifs

Cette méthode fonctionne également dans tous les navigateurs. Mais il demande que l'élément centré ait une hauteur.

Dans l'exemple de code, le centrage simultané est effectué horizontalement et verticalement:

HTML:

Le contenu

CSS:

  # parent (position: relative;) # enfant (position: absolue; haut: 50%; gauche: 50%; hauteur: 30%; largeur: 50%; marge: -15% 0 0 -25%;)

Commencez par définir le type des éléments de positionnement. Ensuite, pour l'élément div imbriqué, définissez les propriétés top et left sur 50%, ce qui correspond au centre de l'élément parent. Mais le centre du coin supérieur gauche de l'élément imbriqué. Par conséquent, vous devez le relever (la moitié de la hauteur) et le déplacer vers la gauche (la moitié de la largeur), puis le centre coïncidera avec le centre de l'élément parent. Il est donc nécessaire de connaître la hauteur de l'élément dans ce cas. Ensuite, nous définissons l'élément avec des valeurs négatives des champs supérieur et gauche égales à la moitié de la hauteur et de la largeur, respectivement.

Cette méthode ne fonctionne pas dans tous les navigateurs.

Positionnement absolu et étirement

Dans l'exemple de code, le centrage est effectué verticalement et horizontalement.

HTML:

Le contenu

CSS:

  # parent (position: relative;) # enfant (position: absolue; haut: 0; bas: 0; gauche: 0; droite: 0; largeur: 50%; hauteur: 30%; marge: auto;)

L'idée de cette méthode est d'étirer l'élément imbriqué sur les 4 bordures de l'élément parent en définissant les propriétés top, bottom, right et left sur 0.

Le paramétrage de la génération automatique des champs de tous les côtés aura pour résultat de définir des valeurs égales sur les 4 côtés et d'afficher notre élément incorporé div au centre de l'élément parent.

Malheureusement, cette méthode ne fonctionne pas dans IE7 et inférieur.

Rembourrage égal en haut et en bas

Dans cette méthode, un remplissage égal est spécifié en haut et en bas de l'élément parent.

HTML:

Le contenu

CSS:

  # parent (remplissage: 5% 0;) # enfant (remplissage: 10% 0;)

Dans le code CSS de l'exemple, les retraits en haut et en bas sont définis pour les deux éléments. Pour un élément imbriqué, les retraits de réglage serviront au centrage vertical. Et le remplissage de l'élément parent y centre l'élément imbriqué.

Pour le redimensionnement dynamique des éléments, des unités de mesure relatives sont utilisées. Et pour les unités de mesure absolues devront faire les calculs.

Par exemple, si l'élément parent a une hauteur de 400 px et que l'élément imbriqué est de 100px, des retraits de 150px sont requis au-dessus et au-dessous.

150 + 150 + 100 = 400

Utiliser% permet aux calculs de quitter le navigateur.

Cette méthode fonctionne partout. L'inconvénient est la nécessité de calculs.

Note:  Cette méthode fonctionne en définissant les marges extérieures de l'élément. Vous pouvez également utiliser des champs à l'intérieur de l'élément. La décision d’appliquer des champs ou des tirets doit être prise en fonction des spécificités du projet.

Div flottant

Cette méthode utilise un élément div vide qui flotte et permet de contrôler la position de notre élément imbriqué dans le document. Notez que le div flottant est placé avant notre élément imbriqué dans le code HTML.

HTML:

Le contenu

CSS:

  #parent (height: 250px;) #floater (float: left; height: 50%; width: 100%; margin-bottom: -50px;) #child (clair: les deux; hauteur: 100px;)

Nous décalons le div vide vers la gauche ou vers la droite et fixons sa hauteur à 50% de l'élément parent. Ainsi, il remplira la moitié supérieure de l'élément parent.

Comme cette div est flottante, elle est supprimée du flux de documents normal et nous devons annuler l'habillage du texte pour l'élément imbriqué. L’exemple utilise clear: les deux, mais c’est suffisant d’utiliser la même direction que le décalage de l’élément div vide flottant.

La limite supérieure de l'élément div imbriqué se trouve directement sous la limite inférieure de l'élément div vide. Nous devons déplacer l'élément imbriqué jusqu'à la moitié de la hauteur de l'élément vide flottant. Pour résoudre le problème, utilisez la valeur négative de la propriété margin-bottom pour un élément div vide flottant.

Cette méthode fonctionne également dans tous les navigateurs. Cependant, son utilisation nécessite un élément div vide supplémentaire et une connaissance de la hauteur de l'élément imbriqué.

Conclusion

Toutes les méthodes décrites sont faciles à utiliser. La difficulté est qu'aucun d'entre eux ne convient à tous les cas. Vous devez analyser le projet et choisir celui qui convient le mieux à vos besoins.

Je pense que beaucoup d’entre vous qui ont eu à faire avec la mise en page ont fait face au besoin d’aligner des éléments verticalement et savent quelles difficultés se posent lors de l’alignement d’un élément au centre.

Oui, pour l'alignement vertical, CSS a une propriété spéciale vertical-align avec beaucoup de valeurs. Cependant, dans la pratique, cela ne fonctionne pas comme prévu. Essayons de le comprendre.


  Comparez les approches suivantes. Alignement avec:

  • des tables,
  • les retraits,
  • hauteur de ligne,
  • étirement
  • marge négative
  • transformer,
  • pseudo-éléments
  • flexbox.
  A titre d'illustration, considérons l'exemple suivant.

Il y a deux éléments div, l'un imbriqué dans l'autre. Nous leur donnons les classes correspondantes - externe et interne.


  Le défi consiste à aligner l'élément interne avec le centre de l'élément externe.

Pour commencer, considérons le cas où les dimensions de l’unité externe et interne sont connus. Ajoutez la règle display: inline-block à l'élément interne et text-align: center et vertical-align: middle à l'élément externe.

Rappelez-vous que l'alignement ne s'applique qu'aux éléments ayant un mode d'affichage inline ou inline-block.

Définissons la taille des blocs, ainsi que les couleurs d'arrière-plan pour voir leurs frontières.

Extérieur (largeur: 200px; hauteur: 200px; texte-align: centre; vertical-align: milieu; couleur de fond: #ffc;) .inner (affichage: bloc en ligne; largeur: 100px; hauteur: 100px; couleur de fond : #fcc;)
  Après avoir appliqué les styles, nous verrons que l'unité intérieure est alignée horizontalement, mais pas verticalement:
http://jsfiddle.net/c1bgfffq/

Pourquoi est-ce arrivé?  Le fait est que la propriété vertical-align affecte l'alignement. l'élément lui-même, pas son contenu  (sauf quand il est appliqué aux cellules d'un tableau). Par conséquent, l'application de cette propriété à l'élément externe n'a rien donné. De plus, l'application de cette propriété à l'élément interne ne fait rien non plus, car les blocs en-ligne sont alignés verticalement par rapport aux blocs voisins et, dans notre cas, nous avons un bloc en ligne.

Pour résoudre ce problème, il existe plusieurs techniques. Ci-dessous, nous examinons de plus près chacun d'entre eux.

Alignement de la table

  La première solution qui me vient à l’esprit est de remplacer le bloc externe par une table à partir d’une seule cellule. Dans ce cas, l'alignement sera appliqué au contenu de la cellule, c'est-à-dire au bloc interne.


http://jsfiddle.net/c1bgfffq/1/

L'inconvénient évident de cette solution est que, du point de vue de la sémantique, il est erroné d'utiliser des tableaux pour l'alignement. Le deuxième inconvénient est que pour créer une table, vous devez ajouter un autre élément autour du bloc externe.

Le premier moins peut être partiellement supprimé en remplaçant les balises table et td par une div et en définissant le mode d'affichage de la table en CSS.


  .outer-wrapper (display: table;) .outer (display: table-cell;)
  Néanmoins, le bloc externe restera toujours une table avec toutes les conséquences qui en découlent.

Alignement en retrait

  Si les hauteurs des blocs intérieur et extérieur sont connues, l’alignement peut être défini à l’aide des empreintes verticales du bloc intérieur, à l’aide de la formule: (H extérieur - H intérieur) / 2.

Extérieur (hauteur: 200px;) .inner (hauteur: 100px; marge: 50px 0;)
http://jsfiddle.net/c1bgfffq/6/

Le moins de la solution est qu'il n'est applicable que dans un nombre limité de cas lorsque les hauteurs des deux blocs sont connues.

Alignement avec la hauteur de ligne

S'il est connu que le bloc interne ne doit pas occuper plus d'une ligne de texte, vous pouvez utiliser la propriété line-height et la définir égale à la hauteur du bloc externe. Etant donné que le contenu de l'unité intérieure ne doit pas être transféré sur la deuxième ligne, il est recommandé d'ajouter les règles espace-blanc: nowrap et débordement: masqué.

Extérieur (hauteur: 200px; hauteur de la ligne: 200px;) .inner (espace-blanc: nowrap; débordement: caché;)
http://jsfiddle.net/c1bgfffq/12/

Cette technique peut également être utilisée pour aligner du texte sur plusieurs lignes si l'unité intérieure doit remplacer la valeur de line-height, ainsi que pour ajouter des règles d'affichage: inline-block et vertical-align: middle.

Extérieur (hauteur: 200px; hauteur de la ligne: 200px;) .inner (hauteur de la ligne: normale; affichage: bloc en ligne; alignement vertical: milieu;)
http://jsfiddle.net/c1bgfffq/15/

L'inconvénient de cette méthode est que la hauteur de l'unité extérieure doit être connue.

Alignement avec Stretch

  Cette méthode peut être appliquée lorsque la hauteur de l'unité externe est inconnue, mais que la hauteur de l'unité interne est connue.

Pour cela, vous avez besoin de:

  1. définir le positionnement relatif par rapport au bloc externe et le positionnement absolu par rapport au bloc interne;
  2. ajoutez les règles top: 0 et bottom: 0 au bloc interne, ce qui l’aidera à s’étendre sur toute la hauteur du bloc externe;
  3. définissez la valeur automatique pour les retraits verticaux de l'unité intérieure.
  .outer (position: relative;) .inner (hauteur: 100px; position: absolue; haut: 0; bas: 0; marge: auto 0;)
http://jsfiddle.net/c1bgfffq/4/

L'essence de cette technique réside dans le fait que, si vous définissez la hauteur d'un bloc étiré et positionné de manière absolue, le navigateur calcule les retraits verticaux selon un rapport égal si leur valeur est définie sur auto.

Alignement avec une marge négative

  Cette méthode est largement connue et est utilisée très souvent. Comme le précédent, il est appliqué lorsque la hauteur de l'unité externe est inconnue, mais que la hauteur de l'unité interne est connue.

Il est nécessaire de spécifier le positionnement relatif pour le bloc externe et le positionnement absolu pour le bloc interne. Ensuite, vous devez déplacer le bloc interne de la moitié de la hauteur du haut du bloc externe: 50% et relever le haut de la marge: -H inner / 2 de la moitié de sa propre hauteur.

Extérieur (position: relative;) .inner (hauteur: 100px; position: absolue; haut: 50%; marge supérieure: -50px;)
http://jsfiddle.net/c1bgfffq/13/

L'inconvénient de cette méthode est que la hauteur de l'unité intérieure doit être connue.

Transformer l'alignement

Cette méthode est similaire à la précédente, mais elle peut être appliquée lorsque la hauteur de l'unité intérieure est inconnue. Dans ce cas, au lieu de définir l'indentation négative en pixels, vous pouvez utiliser la propriété transform et augmenter le bloc interne à l'aide de la fonction translateY et de la valeur -50%.

Extérieur (position: relative;) .inner (position: absolu; haut: 50%; transformation: translationY (-50%);)
http://jsfiddle.net/c1bgfffq/9/

Pourquoi, dans la méthode précédente, il était impossible de définir la valeur en pourcentage? Comme les valeurs en pourcentage de la propriété margin sont calculées par rapport à l'élément parent, une valeur de 50% équivaudrait à la moitié de la hauteur du bloc externe et nous devions augmenter le bloc interne de la moitié de sa propre hauteur. La propriété de transformation est juste appropriée pour cela.

L'inconvénient de cette méthode est qu'elle ne peut pas être appliquée si l'unité intérieure a un positionnement absolu.

Aligner avec Flexbox

  La méthode la plus moderne d’alignement vertical consiste à utiliser la disposition de la boîte flexible (communément appelée Flexbox). Ce module vous permet de gérer de manière flexible le positionnement des éléments sur la page, en les plaçant presque comme vous le souhaitez. L'alignement sur le centre de Flexbox est une tâche très simple.

Le bloc externe doit définir display: flex et le bloc interne - margin: auto. Et c'est tout! Beau, non?

Extérieur (affichage: flex; largeur: 200px; hauteur: 200px;) .inner (largeur: 100px; marge: auto;)
http://jsfiddle.net/c1bgfffq/14/

L'inconvénient de cette méthode est que Flexbox n'est pris en charge que par les navigateurs modernes.

Quelle voie choisir?

  Il faut partir de l'énoncé du problème:
  • Pour l'alignement vertical du texte, il est préférable d'utiliser des retraits verticaux ou la propriété line-height.
  • Pour les éléments en position absolue dont la hauteur est connue (par exemple, les icônes), une méthode avec une propriété négative margin-top est idéale.
  • Pour les cas plus complexes où la hauteur du bloc est inconnue, vous devez utiliser un pseudo-élément ou la propriété de transformation.
  • Eh bien, si vous êtes si chanceux de ne pas avoir besoin de supporter les anciennes versions du navigateur IE, il est bien sûr préférable d’utiliser la Flexbox.

Tags: Ajouter des tags

L'alignement des éléments horizontalement et verticalement peut être effectué de différentes manières. Le choix de la méthode dépend du type d'élément (bloc ou ligne), du type de son positionnement, de sa taille, etc.

1. Centrage horizontal du bloc / de la page

1.1. Si la largeur du bloc est définie:

div (width: 300px; margin: 0 auto; / * centre l'élément horizontalement dans le bloc parent * /)

Si vous souhaitez aligner l'élément string de cette manière, vous devez définir display: block;

1.2. Si un bloc est imbriqué dans un autre bloc et qu'aucune largeur n'est définie pour lui:

   .wrapper (text-align: center;)

1.3. Si la largeur du bloc est définie et qu'il doit être fixé au centre du bloc parent:

   .wrapper (position: relative; / * définit le positionnement relatif pour le bloc parent, puis positionne absolument le bloc à l'intérieur * /) .box (largeur: 400px; position: absolu; gauche: 50%; marge-gauche: -200px; / * déplacez le bloc vers la gauche d'une distance égale à la moitié de sa largeur * /)

1.4. Si aucune largeur n'est définie pour les blocs, vous pouvez la centrer avec le bloc d'encapsulation parent:

   .wrapper (text-align: center; / * organiser le contenu du bloc au centre * /) .box (afficher: inline-block; / * organiser les blocs dans une ligne horizontalement * / margin-right: -0.25em; / * supprimer le droit retrait entre blocs * /)

2. alignement vertical

2.1. Si le texte prend une ligne, par exemple pour les boutons et les éléments de menu:

   .button (height: 50px; line-height: 50px;)

2.2. Pour aligner le bloc verticalement dans le bloc parent:

   .wrapper (position: relative;) .box (hauteur: 100px; position: absolue; haut: 50%; marge: -50px 0 0 0;)

2.3. Alignement vertical du type de table:

   .wrapper (display: table; width: 100%;) .box (display: table-cell; hauteur: 100px; text-align: center; vertical-align: middle;)

2.4. Si le bloc est défini sur la largeur et la hauteur et qu'il doit être aligné sur le centre du bloc parent:

   .wrapper (position: relative;) .box (hauteur: 100px; largeur: 100px; position: absolue; haut: 0; droite: 0; bas: 0; gauche: 0; marge: auto; débordement: auto; / * à contenu non étalé * /)

2.5. Positionnement absolu au centre d'une page / d'un bloc à l'aide de la transformation CSS3:

si l'article est coté

   div (width: 300px; / * définir la largeur du bloc * / height: 100px; / * définir la hauteur du bloc * / transform: translate (-50%, -50%); position: absolue; haut: 50%; gauche: 50% ;)

si l'article n'est pas coté et n'est pas vide

Du texte ici

   h1 (marge: 0; transformation: traduire (-50%, -50%); position: absolue; haut: 50%; gauche: 50%;)

Bonjour, abonnés et lecteurs de cette publication. Aujourd'hui, je veux entrer dans les détails et vous dire comment aligner le texte dans le centre css. Dans certains articles précédents, j'ai indirectement abordé ce sujet, vous avez donc quelques connaissances dans ce domaine.

Cependant, dans cette publication, je vais vous parler de toutes sortes de façons d’aligner des objets, ainsi que de la mise en retrait et des lignes rouges dans les paragraphes. Alors passons à l'apprentissage du matériel!

Html et ses créations
  et aligner

Cette méthode n'est presque pas utilisée car elle a été supplantée par des outils de tables de style en cascade. Cependant, le fait de savoir qu’un tel tag existe ne vous empêchera pas.

Quant à la validation (ce terme est décrit en détail dans l'article ""), la spécification html elle-même condamne l'utilisation < centre\u003e, parce que pour la validité il est nécessaire d'utiliser transitoire DOCTYPE\u003e.

Ce type  ignore les articles interdits.

CENTRE



Passons maintenant à l'attribut aligner. Il définit l'alignement horizontal des objets et s'adapte après la déclaration de la balise. Habituellement, avec son aide, le contenu peut être aligné à gauche ( à gauche), à droite ( à droite), au centre ( centre) et la largeur du texte ( justifier).

Ci-dessous, je donnerai un exemple dans lequel l'image et le paragraphe seront situés au centre.

aligner

  Ce contenu sera centré.



Notez que pour l'image l'attribut que nous analysons a des significations légèrement différentes.

Dans l'exemple que j'ai utilisé align = "milieu ". Grâce à cela, l'image est alignée afin que la proposition soit clairement située au centre de l'image.

Css outils de centrage

Les propriétés Css destinées à l'alignement des blocs, du texte et du contenu graphique sont utilisées beaucoup plus souvent. Cela est principalement dû à la commodité et à la flexibilité de la mise en œuvre des styles.

Commençons donc avec la première propriété de centrage de texte - c'est textealigner.

Cela fonctionne de la même manière que align in. Parmi les mots-clés, vous pouvez en choisir un dans la liste générale ou hériter des caractéristiques de l'ancêtre ( hériter).

Je tiens à noter que dans CSS3 vous pouvez définir 2 paramètres supplémentaires: commencer  - en fonction des règles d'écriture du texte (de droite à gauche ou inversement), définit l'alignement à gauche ou à droite (similaire au travail à gauche ou à droite) et fin  - l'opposé pour commencer (lors de la rédaction d'un texte de gauche à droite, il agit comme un droit, lors de l'écriture de droite à gauche - gauche).

aligner le texte

Offre à droite

Phrase utilisant end



Je vais vous parler d'un petit jeton. Lors du choix d'une valeur justifier La dernière ligne peut être laide à traîner ci-dessous. Pour le placer, par exemple, au centre, vous pouvez utiliser la propriété text-align-last.

Pour aligner verticalement le contenu du site ou les cellules du tableau, utilisez la propriété. alignement vertical. Ci-dessous, je décris les mots-clés de l'élément principal.

Mot-clé But
de base Spécifie l'alignement le long d'une ligne ancêtre, appelée ligne de base. S'il n'y a pas de telle ligne dans l'objet ancêtre, l'alignement a lieu le long de la bordure inférieure.
au milieu Le point médian de l'objet en cours de modification est aligné sur la ligne de base, à laquelle le champ de hauteur de l'élément parent est ajouté.
en bas Le bas du contenu sélectionné s'ajuste au bas de l'objet, sous tous.
top Semblable à bas, seulement avec le haut de l'objet.
super Rend le caractère en exposant.
sous Élément indice.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 alignement vertical
  C DansE TOhÀ


alignement vertical

  C DansE TOhÀ


Indentation

Et enfin, nous avons atteint l’indentation du paragraphe. Le langage css utilise une propriété spéciale appelée retrait de texte.

Avec elle, vous pouvez créer à la fois la ligne rouge et la saillie (vous devez spécifier une valeur négative).

retrait de texte

Pour créer une ligne rouge, vous devez connaître un seul paramètre.

C'est une simple propriété text-indent.



Vous aimez cet article? Partager avec des amis: