Il y a un élément de "couleur rouge" qui doit toujours rester sur la droite. Avec à droite, je veux dire à la droite de l'élément parent lime colored border
. "Normalement" définir le parent à position: relative;
et l'enfant à position: absolute; right: 0;
fait l'affaire mais pas dans ce cas.Faire en sorte que l'élément reste sur la droite même lorsque vous faites défiler horizontalement
Quelqu'un me dit pourquoi et comment le réparer?
.grid {
display: flex;
flex-wrap: nowrap;
width: 100%;
margin: 0;
}
.grid div[class*='col-'] {
position: relative;
padding: 15px;
flex-grow: 0.33;
flex-shrink: 1;
flex-basis: 0%;
border: solid 1px lime;
}
.resize-bar {
position: absolute;
right: 0;
top: 0;
height: 100%;
width: 5px;
background-color: red;
opacity: 0.8;
}
[data-resizable] {
min-width: 5px;
overflow-x: scroll;
}
<h2>Hover on "orange" and scroll horizontally</h2>
<div class="grid">
<div class="col-1-4" data-resizable="true">
<div style="width:300px;height:40px;background-color:orange;"></div>
<span class="resize-bar"></span>
</div>
</div>
Si possible non javascript solution sera préférée. Je vous remercie.
Ne pouvez-vous placer la barre de redimensionnement en dehors de l'élément parent? Cela devrait résoudre votre problème. –
@ Mr_Green-divami.com pas vraiment. Ensuite, je ne saurais pas où placer la barre de redimensionnement car le 'col-1-4' peut avoir des largeurs différentes et il peut y avoir plusieurs éléments' col-1-4'. – caramba
Ajoutez un 'border-right: rouge solide 5px;' après le 'border: solide 1px lime;'. Supprimez le '' de votre balisage. –