Flexbox a ce comportement où il étire les images à leur hauteur naturelle. En d'autres termes, si j'ai un conteneur flexbox avec une image enfant, et que je redimensionne la largeur de cette image, la hauteur ne se redimensionne pas du tout et l'image est étirée.
div {
display: flex;
flex-wrap: wrap;
}
img {
width: 50%
}
Titre
Paragraphe
Qu'est-ce qui cause cela?
6 votes
Dans Firefox et IE, cela fonctionne bien. Dans Chrome, vous pouvez corriger avec
align-self:flex-start
dans l'image. Je ne sais pas pourquoi, peut-être que la valeur par défaut dans Chrome est stretch.2 votes
Aussi, en ajoutant height: 100%; à l'image résout le problème, j'aimerais savoir pourquoi cela étire également l'image.
3 votes
@blonfu, la valeur par défaut dans tous les navigateurs est
align-items: stretch
/align-self: stretch
. Si vous ajoutez une bordure autour de chaque élément et supprimezwrap
, vous remarquerez que tous les éléments s'étirent dans tous les navigateurs : codepen.io/anon/pen/oLXBVx?editors=11000 votes
Ok. J'ai appris cela mais avec les images, le fonctionnement est différent dans Chrome et les autres navigateurs. Chrome ne respecte pas le ratio d'aspect si vous ne définissez pas la hauteur.
0 votes
@blonfu, Oui. Aucune question qu'il y a des incohérences entre les navigateurs et des niveaux plus granulaires.