Comment puis-je positionner relativement un élément sans qu'il ne prenne de la place dans le flux de documents?
Ce que vous essayez de faire ressemble à du positionnement absolu. D'autre part, vous pouvez toutefois créer un élément pseudo-relatif en créant un élément de largeur nulle, de hauteur nulle et relativement positionné, essentiellement dans le seul but de créer un point de référence pour la position et un élément en position absolue à l'intérieur de cela:
<div style="position: relative; width: 0; height: 0">
<div style="position: absolute; left: 100px; top: 100px">
Hi there, I'm 100px offset from where I ought to be, from the top and left.
</div>
</div>
Ajoutez une marge égale aux pixels que vous avez déplacés:
Exemple
.box {
position: relative;
top: -30px;
margin-bottom: -30px;
}
En lisant un peu, il semble que vous puissiez positionner un élément de manière absolue tant que l’élément parent est relativement positionné. Cela signifie que si vous avez le CSS:
.parent {
position: relative;
}
.parent > .child {
position: absolute;
}
Ensuite, l'élément enfant ne prendra plus de place dans le flux de documents. Vous pouvez ensuite le positionner en utilisant l’une des propriétés "left", "bottom", etc. Le positionnement relatif sur le parent ne devrait normalement pas l’affecter car il sera positionné par défaut à sa position initiale si vous ne spécifiez pas "left", "bottom", etc.
http://css-tricks.com/absolute-positioning-inside-relative-positioning/
Vous supprimez simplement cet élément du flux de documents en définissant position: absolute
et laissez son point de rupture bouger librement avec le flux dynamique de contenu en not en spécifiant les propriétés de style left top right
et bottom
qui le forceront à utiliser le point de terminaison relatif le flux dynamiquement. De cette façon, l'élément en position absolue suivra le flux de documents tout en évitant de prendre de la place.
Aucun emballage factice n'est nécessaire.
Pour moi, les solutions données ne fonctionnaient pas bien ... Je veux voir un h3, puis du texte et après cela, les panneaux Bootstrap, en synchro-verticale avec ce panneau, je souhaite voir d'autres panneaux du côté droit,
J'ai réussi cela avec une hauteur: 0 emballage et après cette position: relative; gauche: 100%.
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
<div class="row">
<div class="col-md-9">
<div class="col-md-12">
<h3> hello </h3>
</div>
<div class="col-md-12">
<span> whats up? </span>
</div>
<div style="height:0" class="col-md-12">
<div style="left:100%" class="col-md-3">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Panel title</h3>
</div>
<div class="panel-body">
<p>Panel Body</p>
</div>
</div>
</div>
</div>
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Panel title</h3>
</div>
<div class="panel-body">
<p>Panel Body</p>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Panel2 title</h3>
</div>
<div class="panel-body">
<p>Panel Body</p>
</div>
</div>
</div>
</div>
<div class="col-md-3">
<!--placeholder-->
</div>
</div>
</div>
@Bekim Bacaj avait la réponse parfaite pour moi, même si ce n'était peut-être pas exactement ce que recherchait le PO (bien que sa question laisse place à une interprétation). Cela étant dit, Bekim n'a pas fourni d'exemple.
<h1>Beneath this...</h1>
<style>
.HoverRight {
background: yellow;
position: absolute;
right: 0;
}
</style>
<div class="HoverRight">Stuff and Things!</div>
<p>but, top = same as this paragraph.</p>
L'exemple ci-dessus définit un élément qui ...
top
par défaut)right: 0
)position: absolute
)