Positionnement des éléments de CSS minuscules. Contenu de positionnement

Le positionnement est l'un des concepts clés de la mise en page. Compte tenu avec lui, vous deviendrez très clair pour vous et la mise en page du chamanisme se transformera en un processus significatif. Donc, l'article ira à propos des propriétés CSS positionner et flotter.

1. Position: statique

Par défaut, tous les éléments de la page ont un positionnement statique (position: statique), cela signifie que l'élément n'est pas positionné et apparaît dans le document à son endroit habituel, c'est-à-dire de la même manière que dans le balisage HTML.

Il n'est pas nécessaire d'attribuer spécifiquement cette propriété à un élément, sauf si vous devez modifier le positionnement précédemment installé pour la valeur par défaut.

#Content (position: statique;)

2. Position: relative

Positionnement relatif (position: relative) vous permet d'utiliser des propriétés: haut, bas, gauche et droite, pour l'emplacement de l'article par rapport à l'endroit où il apparaît avec un positionnement normal.

Déplacons #Content sur 20 pixels vers le bas et 40 pixels laissés:

#Content (position: relatif; top: 20px; gauche: -40px;)

Veuillez noter que sur le lieu où notre #Content doit être situé est maintenant un espace vide formé. Ensuite au bloc #Content, l'unité #footer n'a pas déménagé ci-dessous, car, #Content prend toujours sa place dans le document, malgré le fait que nous l'avons déplacé.

À ce stade, il peut sembler que le positionnement relatif n'est pas si utile, mais ne vous précipitez pas avec les conclusions, puis dans l'article, vous apprendrez ce qui peut être utilisé.

3. Position: absolu

Avec Positionnement absolu (Position: Absolute), l'article est supprimé du document et apparaît où vous lui dites.

Par exemple, déplacez le bloc # div-1a vers le coin supérieur et droit de la page:

# Div-1a (position: absolu; top: 0; droite: 0; largeur: 200px;)

Veuillez noter que cette fois, puisque le bloc # Div-1a a été supprimé du document, les éléments restants de la page sont différents: # div-1b, # div-1c et #footer déplacé ci-dessus, à la place du bloc distant . Et le bloc # div-1a elle-même est avec précision dans la droite, coin supérieur de la page.

Ainsi, nous pouvons positionner n'importe quel élément par rapport à la page, mais cela ne suffit pas. En fait, nous devons positionner # div - 1a par rapport au bloc parent #Content. Et à ce stade, le positionnement relatif entra à nouveau dans le jeu.

4. Position: fixe

Position fixe (position: fixe) est une sous-section de positionnement absolu. La seule différence est qu'elle est toujours dans la zone visible de l'écran et ne bouge pas lors du rouleau de la page. À cet égard, il est un peu similaire à une image de fond fixe.

# Div-1a (position: fixe; haut: 0; droite: 0; largeur: 200px;)

Dans IE avec position: fixe n'est pas aussi lisse, peu importe la façon dont je voulais, mais il y a plusieurs façons Contourner ces restrictions.

5. Position: Relative + Position: Absolute

Après avoir assigné une unité de positionnement relatif # Content, nous pouvons positionner tous les éléments enfants par rapport à ses frontières. Placons un bloc # Div-1a, dans le coin supérieur droit du bloc #Content.

#Csolute (position: absolu; top: 0; droite: 0; largeur: 200px;)

6. Deux colonnes

Armé de connaissances des étapes précédentes, vous pouvez essayer de faire deux colonnes en utilisant un positionnement relatif et absolu.

#Csolute; top: 0; droite: 0; largeur: 200px;) # div-1b (position: absolu; TOP: 0; gauche: 0; largeur: 200px;)

L'un des avantages du positionnement absolu est la possibilité de placer des éléments dans un ordre arbitraire, quel que soit leur emplacement dans le balisage. Dans l'exemple ci-dessus, le bloc # div-1b est situé avant le bloc # div-1a.

Et maintenant, vous deviez avoir une question: "Mais où sont les éléments restants de notre exemple?". Ils ont disparu sous des blocs absolument localisés. Heureusement, il est possible de le réparer.

7. Deux colonnes avec une hauteur fixe

Une solution consiste à définir une hauteur fixe d'un conteneur contenant des colonnes.

#Content: 450px;) # Div-1a (position: absolue; haut: 0; droite: 0; largeur: 200px;) # div-1b (position: absolu; haut: 0; gauche: 0; largeur: 0; largeur: 200px;)

La solution n'est pas très appropriée, car nous ne savons jamais à l'avance comment le texte sera situé dans les colonnes et quelle police sera utilisée.

8. Flotter.

Pour les haut-parleurs avec une hauteur variable, positionnement absolu Cela ne convient pas, alors considérons une autre option.

En nommant l'unité de flottement, nous l'appuierons plus probablement à la droite (ou à gauche), et le texte à côté du bloc le luttera. Habituellement, cette technique est utilisée pour des images, mais nous l'utiliserons pour une tâche plus complexe, car il s'agit du seul outil disponible à notre disposition.

# Div-1a (flotteur: gauche; largeur: 200px;)

9. Colonnes "flottantes"

Si vous affectez Float: laissé à la première unité, puis le deuxième flotteur: à gauche, chacun des blocs s'adaptera au bord gauche, et nous aurons deux colonnes avec une hauteur variable.

# Div-1a (flotteur: gauche; largeur: 150px;) # div-1b (flotteur: gauche; largeur: 150px;)

De plus, vous pouvez affecter des colonnes comme opposées à la valeur du flotteur, dans ce cas, elles seront distribuées le long des bords du conteneur.

# Div-1a (flotteur: droite; largeur: 150px;) # div-1b (flotteur: gauche; largeur: 150px;)

Mais maintenant, nous avons un autre problème - les colonnes vont au-delà du conteneur parent, brisant ainsi toute la mise en page. C'est le problème le plus courant des versions novices, bien qu'elle soit résolue tout simplement.

10. Nettoyer le flotteur.

Le nettoyage flotté peut être fait de deux manières. Si, après les colonnes, il y a un autre bloc, il suffit d'assigner clairement à lui: les deux.

# Div-1a (flotteur: gauche; largeur: 190px;) # div-1b (flotteur: gauche; largeur: 190px;) # div-1c (clair: les deux;)

Ou attribuer la propriété de débordement au conteneur parent: caché

#Content (débordement: caché;)

En tout état de cause, le résultat sera le même.

Conclusion

Aujourd'hui, seules les techniques de positionnement de base étaient considérées et le plus exemples simples. Aussi, pour aider les fabricants de novices, je recommande toujours le cycle des articles Ivan Sagalaeva, qui m'a beaucoup aidé beaucoup.

Dernière mise à jour: 04/28/2016

CSS fournit des fonctionnalités sur le positionnement de l'article, c'est-à-dire que nous pouvons mettre un élément dans un certain endroit sur la page.

La propriété principale qui contrôle le positionnement dans CSS est la propriété de position. Cette propriété peut prendre l'une des valeurs suivantes:

    statique: positionnement standard de l'élément, valeur par défaut

    absolu: l'élément est positionné par rapport aux limites de l'élément de conteneur, si cette propriété n'est pas égale à statique

    relative: L'élément est positionné par rapport à sa position par défaut. En règle générale, l'objectif principal du positionnement relatif n'est pas de déplacer l'élément, mais de définir le nouveau point de liaison pour le positionnement absolu des éléments investis.

    correction: L'élément est positionné par rapport à la fenêtre de brasier, il vous permet de créer des éléments fixes qui ne changent pas la position lors du défilement

Vous ne devez pas appliquer simultanément la propriété Float à l'élément et à tout type de positionnement, à l'exception statique (c'est-à-dire le type par défaut).

Positionnement absolu

La zone de visualisation du navigateur présente des bords supérieur, inférieur, droit et gauche. Pour chacun de ces quatre bords, il existe une propriété CSS appropriée: laissée à gauche (indentation du bord de gauche), droite (indentement du bord de la droite), haut (indentement du bord du conteneur d'en haut) et le bas (récession ci-dessous). Les valeurs de ces propriétés sont indiquées en pixels, EM ou pourcentage. Il n'est pas nécessaire de définir des valeurs pour les quatre côtés. En règle générale, seules deux valeurs sont installées - indentation du bord supérieur du haut et de l'indentation du bord gauche de gauche.

Mise en page de bloc dans HTML5

Bonjour le monde



Ici, l'élément div avec positionnement absolu sera de 100 pixels à gauche de la zone de visualisation et 50 ci-dessous.

Ce n'est pas si important que, après que cet élément divigne d'autres éléments. le bloquer div. Dans tous les cas, il sera positionné par rapport aux limites de la zone de visualisation du navigateur.

Si un élément de positionnement abnotique est situé dans un autre conteneur, dans lequel, à son tour, la valeur de la propriété de position n'est pas égale à statique, l'élément est positionné par rapport aux limites du conteneur:

Positionnement dans HTML5



Positionnement relatif

Le positionnement relatif est également défini à l'aide de la valeur relative. Pour spécifier une position spécifique sur laquelle l'élément est décalé, les mêmes propriétés de haut, gauche, droite, en bas sont appliquées:

Positionnement dans HTML5



Propriété Z-Index

Par défaut, lorsque les deux éléments des limites sont coïncidés, un élément défini sur un marquillage HTML est affiché sur un autre. Cependant, la propriété Z-Index vous permet de modifier l'ordre des éléments lorsqu'il est superposé. En tant que valeur, la propriété prend le numéro. Les éléments avec une valeur importante de cette propriété seront affichés sur les éléments avec peu de sens z-index.

Par example:

Positionnement dans HTML5



Ajoutez maintenant une nouvelle règle au style Block RedBlock:

RedBlock (Z-Index: 100; Position: absolu; Top: 20px; gauche: 50px; largeur: 80px; hauteur: 80px; couleur-couleur: rouge;)

Ici, Z-Index est 100. Mais cela ne doit pas nécessairement être le numéro 100. Le deuxième bloc de z-index de z n'est pas défini et est en réalité zéro, alors pour redémarrage, nous pouvons définir une valeur de zéro sur les propriétés de z-index.

Et maintenant, le premier bloc sera superposé au second, et pas le contraire, comme il était au début.

Imaginez que le développeur Web n'a pas besoin de penser à la façon dont une page à l'emploi visuelle ressemblera. Il écrit juste le code, les éléments eux-mêmes sont alignés sur la page, de haut en bas (bloc) et de gauche à droite (minuscules). Plus le document est élevé est écrit sur le document, plus il sera élevé sur la page.

En général, nous verrons le comportement naturel des éléments et l'ordre de leur affichage sur la page de flux de documents. Mais nous ne sommes pas du tout adaptés à un tel ordre, nous voulons placer le logo dans le coin supérieur gauche et le bouton est légèrement correct. Nous avons besoin d'un contrôle complet sur tous les éléments, nous décidons où et ce qui sera. Et pour cela, vous avez besoin d'un outil (propriété), modifiant le comportement habituel des éléments dans le flux. Quelle est cette propriété?

DANS CSS. styles il s'appelle positionnement Positionner)qui peut être ordinaire (statique)relatif (Relatif) et absolu (Absolu).

Positionnement relatif dans CSS

Pour positionnement relatifL'unité se déplace par rapport à sa position initiale. Cependant, le bloc de parole:

Position: relatif;

rien ne se passera, il restera en place. Et déplace le système de coordonnées de blocs (Haut, bas, gauche, à droite)Avec des valeurs positives et négatives.

Comment ça fonctionne?

À l'intérieur d'un bloc jaune avec une classe jaune Il y a un bloc rouge avec classe relatif de blocage.. Dans le flux habituel, le bloc rouge chevauche le jaune, comme il est prescrit dans le code en dernier.

position source
position relative-relatif.

Nous devons déplacer le bloc rouge sur 10 pixels. Cela peut être fait uniquement en modifiant violemment la position du bloc rouge. Nous écrivons top: 10px.Mais vous devez spécifier, de quoi compter ces 10 pixels?

Presistat position: relatif.Nous pouvons clairement comprendre ce qu'il faut compter par rapport à sa position actuelle.

Bloc-jaune (
Couleur de fond: # ffe70f;
}

Relatif-bloc-relatif (
Position: relatif;
TOP: 10PX;
Couleur de fond: # ED5B77;
}

Dans l'image, nous voyons comment le bloc rouge est descendu, 10 pixels vers le bas, de sa position initiale.

Si vous supprimez du code position: relatif.Le bloc restera en place. Et si à la place relatif., Écrivez absolu., Par défaut, le compte à rebours de ces 10 pixels sera effectué à partir du bord de la fenêtre du navigateur et, éventuellement, notre bloc sera confronté, tirant jusqu'au bord inférieur du navigateur. Et ce n'était pas dans nos plans.

Positionnement absolu dans CSS

Dans l'image du bloc positionné absolumentCeci est lorsque le comptage du système de coordonnées est effectué à partir du bord du navigateur, remplaçant un seul mot, nous avons modifié la position du bloc.

Position: absolu;

Il y a une fonctionnalité. Positionnement absolu Il affecte les éléments minuscules. Si l'élément de ligne est défini position: absolu., il se comportera comme un bloc. Ceci est une propriété analogique - bloc de visualisation..

Ce n'est pas tout, l'élément "absolu" situé à l'intérieur du parent "relatif", change son point de référence aux coordonnées et commence à être positionné du parent.


Position: relatif.

Position: absolu;

Bloc avec classe bloc-absolu. être à l'intérieur du parent jaune.

Bloc-jaune (
Position: relatif;
Rembourrage: 10px;
Couleur de fond: # ffe70f;
}

Puisque le bloc jaune a positionnement relatif, alors le bloc rouge avec positionnement absolu, passe relativement rouge sur les pixels spécifiés.

Bloc-absolu (
Position: absolu;
Bas: 10px;
À gauche: 10px;
Couleur de fond: # ED5B77;
}

Positionnement fixe

Lors du défilement du bloc de la page avec position: fixerestera en place, cette méthode est généralement utilisée pour fixer le panneau de navigation.

z-index.

Frotte l'ordre de se chevaucher des blocs "absolus". Nous avons besoin du bloc rouge pour être au-dessus de jaune, puis nous indiquons z-index: 2 pour le rouge et z-index: 1 pour jaune.

rouge

Jaune

Block-rouge (
Position: relatif;
z-index: 2;
Couleur de fond: # ffe70f;
}

Block-yelow (
Position: absolu;
TOP: 20PX;
z-index: 1;
Couleur de fond: # ED5B77;
}

Comme vous le savez probablement probablement déjà, vous pouvez télécharger le site à l'aide des tables, dans ce cas, la page est divisée en cellules. Et vous pouvez utiliser des blocs à ces fins lorsque la page Site comprend des éléments individuels.

Probablement, je ne me tromperai pas si je dis cela avec un problème grave pour de nombreux webmasters novices, la tâche consiste à localiser des blocs dans un emplacement spécifié de la page Web.

L'une des principales difficultés de la mise en page à l'aide de blocs est le positionnement (alignement) de ces unités.

Un peu sur les couches (couches)

Je pense que beaucoup d'entre vous ont entendu parler d'une si une couche (couche). Et, en règle générale, sous la couche est comprise par le bloc spécifié par la balise

. En fait, tout est un peu faux.

En HTML, il n'y a pas de couches. C'est juste une métaphore. En ce qui concerne les couches, un certain conteneur HTML (élément) est compris sous eux, qui peut être placé dans un certain lieu de la page Web.

La deuxième idée fausse est l'attitude envers les couches d'un seul bloc spécifié par la balise

. Ce n'est pas non plus vrai. Ils peuvent également inclure des paragraphes (

), listes (

    ) Et d'autres éléments.

    Et maintenant O.
    oh.

    Comme mentionné ci-dessus, vous pouvez définir un emplacement à n'importe qui Élément HTML. Pour cela, il n'est pas nécessaire d'utiliser toujours la balise

    . En outre, l'utilisation de cette balise ne vous oblige pas à lui poser une position sur la page Web.

    La signification de l'utilisation du bloc spécifié par la balise

    Cela revient à la consolidation. Après tout, il peut être placé à l'intérieur des autres éléments (paragraphes, images, etc.). Ainsi, un grand bloc est obtenu, avec une variété de contenu, qui est beaucoup plus facile à positionner sur une page Web, plutôt que chacun des éléments séparément.

    Éléments de positionnement.

    Il y a quatre types principaux de positionnement:

    1. statique (statique)
    2. Absolute (absolu)
    3. Fixe (fixe)
    4. Relatif (relatif
    )

    Statique (statique)

    Utilisé comme emplacement "par défaut". Dans ce cas, le navigateur navigation code HTML, partage cela aux éléments et est la page d'eux. Il éteint une séquence d'un certain nombre d'éléments. Ils sont affichés dans l'ordre dans lequel le code est répertorié dans HTML.

    Application des paramètres gauche, haut, droite et bas N'entraîne aucun résultat.

    Il est nécessaire de rappeler un positionnement statique lorsque l'emplacement relatif est utilisé.

    Absolu)

    En utilisant un positionnement absolu, les coordonnées du coin supérieur gauche du bloc sont spécifiées. Dans le même temps, le comptage des coordonnées se produit par rapport à l'emplacement de l'élément parent. Si l'élément parent est la fenêtre du navigateur, l'alignement du bloc se produit par rapport à celui-ci. S'il existe un élément différent dans lequel le bloc est situé, l'alignement se produit par rapport à cet élément.

    Correction (fixe)

    Déjà du nom, il devient clair que dans ce cas, l'élément est fixé. Il est situé dans un certain lieu de la page Web et ne se déplace nulle part. Cet alignement est souvent utilisé par rapport aux fenêtres contextuelles lorsqu'elles sont fixées au centre et ne sont pas décalées lors du défilement de la page.

    Relatif (relatif)

    Ce type de positionnement peut être difficile. Son nom n'a pas beaucoup de succès. Beaucoup confondent le positionnement relatif et absolu d'éléments. Il peut sembler que l'alignement survient par rapport à l'élément parent. Et dans le cas d'un positionnement absolu - par rapport à la fenêtre du navigateur. Mais ce n'est pas.

    Il est nécessaire de comprendre que l'emplacement de l'élément dans ce cas se produit par rapport à sa place dans la position statique. C'est ce qui a été mentionné ci-dessus.

    Mettez simplement, vous spécifiez le navigateur dont vous avez besoin pour déplacer l'élément sur tellement de pixels, en ce qui concerne l'endroit où il se trouve par défaut.

    Il y a un autre moment difficile. Que se passe-t-il si l'élément parent a un positionnement relatif et un élément absolu investi? Dans ce cas, les coordonnées de référence de l'élément enfant seront effectuées par rapport à l'élément parent, en tenant compte de sa compensation, si elle a lieu.

    Résumer.

    Donc, il y a une propriété positionner. Cette propriété peut prendre 4 valeurs. Statique, absolu, fixe et relatif. Par défaut va Statique..

    Lorsque vous spécifiez les coordonnées de l'élément, vous devez également informer le navigateur, comment compter ces coordonnées. Nous devons lui donner un point de départ.

    N'oubliez pas qu'en l'absence d'une propriété positionner Les coordonnées ne seront pas prises en compte, le bloc restera au même endroit, dans sa position statique.


    Et voyons maintenant comment les coordonnées sont définies.

    À ces fins, quatre types de propriétés sont appliqués:

    1. TOP.
    2. GAUCHE.
    3. à droite
    4. Bas

    Haut. - une valeur positive (par exemple 20px) affiche un bloc sur 20 pixels vers le bas. La valeur négative (-20px) affiche l'élément sur 20 pixels supérieurs. Tout cela se produit par rapport au coin supérieur gauche.

    La gauche. - Décalage à gauche ou à droite, selon le signe. Par rapport au coin supérieur gauche.

    Droite- Déplacement à droite et à gauche, en fonction du signe. Par rapport à l'angle supérieur droit.

    Bas - Décalage de haut en bas, dépend du signe. Il se produit par rapport à l'angle inférieur gauche.

    Voici le code HTML:





    Et ceci est CSS:

    #1 {
    Position: relatif;
    TOP: 100PX;
    À gauche: 100px;
    largeur: 500px;
    Hauteur: 500px;
    Couleur de fond: #ccccccccc;
    }

    #11 {
    Couleur de fond: # 003399;
    Position: absolu;
    Bas: -30px;
    Droite: -50px;
    largeur: 100px;
    Hauteur: 100px;
    }

    #2 {
    Couleur de fond: # 990066;
    largeur: 200px;
    Hauteur: 300px
    }

    Entraine toi.

    En écrivant et compris lui-même.

    Positionnement des blocs CSS l'une des étapes les plus importantes des mises en page car c'est précisément cela affecte l'adaptabilité du site ou la possibilité de sa mise en œuvre à l'avenir (si ce moment Non requis), ainsi que d'un impact significatif sur la mise à l'échelle ultérieure du site. Il n'y a pas de rares cas lorsque des "lecteurs de montage" font une telle présentation qui, à la fin, il est plus facile de le jeter que quelque chose à changer, mais avec elle, elle peut sembler complètement conforme à la mise en page. Cette situation Il ne provient aucune compréhension où et quand utiliser l'un ou l'autre type de positionnement. Aujourd'hui, nous allons essayer de le comprendre dans cette affaire. Et ainsi, dans CSS il y a une propriété positionner. Cette propriété peut prendre 5 valeurs, mais nous regarderons 4 principaux:

    • absolu.
    • statique.
    • relatif.
    • fixé

    Blocs de positionnement absolu (absolu)

    Le premier, dans notre liste, la manière dont le positionnement est absolu. Lorsque cette propriété est attribuée, l'unité devient indépendamment unie et les éléments restants de la page n'affectent pas son emplacement, ainsi que cela n'affecte pas d'autres éléments. La taille du bloc est déterminée par les propriétés de la largeur et de la hauteur et de l'emplacement sur la page de propriétés supérieures. Gauche, droite et en bas de ces paramètres définissent les trindages des bords supérieurs, gauche, droite et inférieur. Si le bloc n'a pas d'élément parent, ainsi que si le positionnement de l'élément parent est différent de statique, les propriétés de haut, de haut, de bas, de basses, de la droite définie du début de la page, sinon des bords du parent élément.

    Le plus souvent cette espèce Le positionnement est utilisé lorsque l'appareil doit être appuyé sur le bord droit ou inférieur. Considérez une telle mise en page.

    Pour plus de commodité, les blocs ont été mis en évidence avec un cadre multicolore. Le marquage ressemblera à ceci:

    Xhtml

    Relation (Position: Relative;) .Yellow (position: absolu; droite: 10px; bas: 10px;)

    Relation

    position: relatif;

    Jaune

    position: absolu;

    droite: 10px;

    bas: 10px;

    DANS cet exemple Nous avons utilisé les propriétés de droite et de bas afin de définir une indentation du bord droit et inférieur. Ces valeurs de propriétés sont équivalentes aux valeurs supérieures: Hauteur d'élément - 10px et gauche: largeur d'élément - 10px.

    Le positionnement absolu est également utilisé lorsqu'il est nécessaire de faire une "frappe" un élément à un autre.

    Positionnement statique (statique)

    La vue de visualisation la plus courante qui se produit sur chaque page et est généralement définie pour la plupart des éléments - statique, dans CSS est écrit en tant que statique. Pour la plupart HTML TAGOV cette valeur Défini par défaut. Si la postion n'est clairement pas spécifiée, la valeur sera statique. Avec cet emplacement, les éléments sont construits les uns dans les autres et les coordonnées de la fenêtre d'un élément dépendent des éléments les plus proches avec la position: statique ou position: relative. Les propriétés supérieure, gauche, droite, bas ne fonctionneront pas avec ce positionnement, le changement est que l'emplacement est dû à la propriété de la marge.

    Concernant le positionnement (relatif)

    Ce type de positionnement est très similaire à celui statique, sauf que l'emplacement de l'élément peut être modifié par les propriétés du haut, de la gauche, du bas et de la marge.

    Positionnement fixe (fixe)

    Le positionnement fixe en fonction des caractéristiques de la tâche de coordonnées semble absolument, mais l'emplacement est calculé par rapport à Pages HTMLet par rapport à la fenêtre du navigateur, c'est-à-dire Avec la propriété supérieure: 10PX, vous spécifierez le tiret du haut de 10px. De la fenêtre du navigateuret quel que soit le type de page de défilement que vous êtes, cet élément Il suivra toujours avec votre écran.

    Habituellement utilisé pour les éléments de navigation, de sorte que l'utilisateur aurait toujours en vue une information important Ou des liens vers des pages intéressantes.

Avez-vous aimé l'article? Partager avec des amis: