Je voudrais fave_hold
rester à 100% de ce qu'il contient div, mais je voudrais .faves
avoir une largeur uniquement de ses éléments enfants. Les éléments enfants sont rendus dynamiquement et ont une largeur définie.
Voici le React / JSX.
<div id = 'fave_hold'>
{this.props.MenuFave.current === '1' &&
<div className = 'faves' id = 'fave_hold_arc' >
{tags1}
</div>
}
{this.props.MenuFave.current === '280' &&
<div className = 'faves' id = 'fave_hold_news' >
{tags280}
</div>
}
{this.props.MenuFave.current === '268' &&
<div className = 'faves' id = 'fave_hold_news' >
{tags268}
</div>
}
</div>
</div>
Voici le CSS
#fave_hold{
width: 100%;
height: 100%;
}
.faves{
height: 100%;
}
J'ai essayé de jouer avec l'écran en vain.
Voici une capture d'écran.
L'objectif final est de centrer le contenu. Et c'est comme ça que je veux le faire.
Voici le prototype en ligne.
Vos enfants sont définis comme float
étant hors de flux, le parent ignorera leur taille.
J'opterais pour une approche différente et supprimerais le float
et utiliser flex
.
.faves {
display: flex;
justify-content: space-around;
flex-wrap: wrap;
}
Et retirez le position:relative
et 'float' de .bookmark_page
.
Vous êtes donc parti avec quelque chose comme ça:
.bookmark_page {
border-radius: 4px;
width: 250px;
margin: 6px;
border: 6px solid white;
box-shadow: 0px 1px 3px rgba(34,25,25,0.4);
-webkit-box-shadow: 0px 1px 3px rgba(34,25,25,0.4);
}
Avec ces changements, vous devriez obtenir un résultat comme celui-ci:
Éditer
comment puis-je me débarrasser du désordre au bas de chaque élément enfant maintenant?
Je viens de remarquer que vous vouliez dire le "désordre" des enfants en bas.
Vous pouvez définir .faves
cette méthode pour obtenir ce que vous voulez:
.faves {
display: flex;
align-items: flex-start;
flex-wrap: wrap;
}
J'envisagerais de régler les enfants width
( .bookmark_page
) un peu plus haut, peut-être 260px
.
Le résultat:
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots