Quelqu'un peut-il me dire la différence entre style = "position:absolute"
et style = "position:relative"
et en quoi ils diffèrent si je l'ajoute à div
/ span
/ input
éléments?
J'utilise en absolute
ce moment, mais je veux relative
aussi explorer . Comment cela changera-t-il le positionnement?
css
css-position
Varun
la source
la source
Réponses:
Le positionnement absolu signifie que l'élément est complètement retiré du flux normal de la mise en page. En ce qui concerne le reste des éléments de la page, l'élément absolument positionné n'existe tout simplement pas. L'élément lui-même est ensuite dessiné séparément, sorte de "au-dessus" de tout le reste, à la position que vous spécifiez à l'aide des
left, right, top and bottom
attributs.En utilisant la position que vous spécifiez avec ces attributs, l'élément est ensuite placé à cette position dans son dernier élément ancêtre qui a un attribut de position autre que
static
(les éléments de page par défaut sont statiques lorsqu'aucun attribut de position n'est spécifié), ou le corps du document (navigateur viewport) si aucun ancêtre de ce type n'existe.Par exemple, si j'avais ce code:
... le
<div>
serait positionné à 20px du haut de la fenêtre du navigateur et à 20px du bord gauche de celui-ci.Cependant, si j'ai fait quelque chose comme ça:
... alors le
inner
div serait positionné à 20px du haut duouter
div et à 20px du bord gauche de celui-ci, car leouter
div n'est pas positionné avecposition:static
parce que nous l'avons explicitement défini pour l'utiliserposition:relative
.Le positionnement relatif, par contre, revient à ne pas indiquer de positionnement du tout, mais les
left, right, top and bottom
attributs "poussent" l'élément hors de sa disposition normale. Le reste des éléments de la page est toujours disposé comme si l'élément était à son emplacement normal.Par exemple, si j'avais ce code:
... alors les trois
<span>
éléments seraient assis côte à côte sans se chevaucher.Si je configure le second
<span>
pour utiliser le positionnement relatif, comme ceci:... alors Span2 chevaucherait le côté droit de Span1 de 5px. Span1 et Span3 se trouveraient exactement au même endroit que dans le premier exemple, laissant un espace de 5px entre le côté droit de Span2 et le côté gauche de Span3.
J'espère que cela clarifie un peu les choses.
la source
Positionnement relatif: l'élément crée ses propres axes de coordonnées, à un décalage d'emplacement par rapport à l'axe de coordonnées de la fenêtre. Il fait partie du flux de documents mais a changé.
Positionnement absolu: un élément recherche les axes de coordonnées disponibles les plus proches parmi ses éléments parents. L'élément est ensuite positionné en spécifiant des décalages par rapport à cet axe de coordonnées. Il est supprimé du flux normal du document.
La source
la source
Vous voudrez certainement consulter cet article de positionnement de «A List Apart». Aide à démystifier le positionnement CSS (qui me semblait insensé, avant cet article).
la source
Avec le positionnement CSS, vous pouvez placer un élément exactement où vous le souhaitez sur votre page.
Lorsque vous allez utiliser le positionnement CSS, la première chose à faire est d'utiliser la position de la propriété CSS pour indiquer au navigateur si vous allez utiliser un positionnement absolu ou relatif.
Les deux positions ont des caractéristiques différentes. Dans CSS Une fois que vous avez défini la position, vous pouvez utiliser les attributs haut, droit, bas, gauche.
Position absolue
Position relative
Pour positionner un élément de manière relative, la position de la propriété est définie comme relative. La différence entre le positionnement absolu et relatif est la façon dont la position est calculée.
Plus: Postion relative vs absolue
la source
OK, réponse très évidente ici ... fondamentalement, la position relative est relative à l'élément ou à la fenêtre précédente, tandis qu'absolu ne se soucie pas des autres éléments à moins qu'il ne s'agisse d'un parent si vous utilisez haut et gauche ...
Regardez l'exemple que je crée pour vous montrer les différences ...
Vous pouvez également le voir en action, en utilisant le css que je crée pour vous, vous pouvez voir comment les positions absolues et relatives se comportent:
la source
Le positionnement absolu est basé sur les coordonnées de l'affichage:
^ place l'élément en haut à gauche de la fenêtre.
La position relative est relative à l'endroit où l'élément est placé:
^ place l'élément 1px vers le bas et 1px à partir de la gauche de l'endroit où il se trouvait à l'origine :)
la source
Relatif:
Un élément avec
position: relative;
est positionné par rapport à sa position normale.Si vous n'ajoutez aucun attribut de positionnement (haut, gauche, bas ou droite) sur un élément relatif, cela n'aura aucun effet sur son positionnement. Il se comportera exactement comme un
position: static
élément.Mais si vous ajoutez un autre attribut de positionnement, par exemple, top: 10px ;, il décalera sa position de 10 pixels vers le bas par rapport à son emplacement normal.
Un élément avec ce type de positionnement est affecté par d'autres éléments et lui-même affecte également les autres.
Absolu:
Un élément avec
position: absolute;
vous permet de placer n'importe quel élément exactement où vous le souhaitez. Vous utilisez les attributs de positionnement haut, gauche, bas. et droit de définir l'emplacement.Il est placé par rapport à l'ancêtre non statique le plus proche. S'il n'y a pas de tel conteneur, il est placé par rapport à la page elle-même.
Il est supprimé du flux normal d'éléments sur la page.
Un élément avec ce type de positionnement n'est pas affecté par d'autres éléments et n'affecte pas non plus le flux d'autres éléments.
Voir cet exemple explicite pour une meilleure clarté. https://codepen.io/nyctophiliac/pen/BJMqjX
la source
Absolute place l'objet (div, span, etc.) à un emplacement forcé absolu (généralement déterminé en pixels) et relatif le placera à une certaine distance de l'endroit où il se trouverait normalement. Par exemple:
Peut faire disparaître le côté gauche du texte s'il se trouve à moins de 20 pixels du bord gauche de l'écran.
la source
position: absolute
peut être placé n'importe où et y rester tel que 0,0.position: relative
est placé avec un décalage par rapport à l'emplacement d'origine dans le navigateur.la source
position: acte relatif comme élément parent position: acte absolu un enfant de position relative. vous pouvez voir l'exemple ci-dessous
la source