J'ai essayé de faire une mise en page de type maçonnerie, j'ai donc donné une hauteur et des couleurs aléatoires aux divs, mais il semble y avoir une marge sur l'axe des y avec les divs. Je veux que les divs aient une marge uniforme pour qu'elles ressemblent plus à une maçonnerie. Où est-ce que je me trompe avec ce code ?
import React from "react";
import "./styles.scss";
const colors = ["palevioletred", "red", "green", "blue", "yellow", "orange"];
const getRandomItem = items => {
return items[getUniqueFromRange(0, items.length)];
};
const getUniqueFromRange = (min, max) => {
return Math.floor(min + Math.random() * (max - min + 1));
};
export default class App extends React.Component {
render() {
return (
<div class="wrapper">
{Array.from({ length: 30 }).map((item, index) => (
<div
key={index}
style={{
background: getRandomItem(colors),
height: getUniqueFromRange(100, 200)
}}
/>
))}
</div>
);
}
}
* { box-sizing: border-box; }
body {
margin: 40px;
background-color: #fff;
color: #444;
font: 2em Sansita, sans-serif;
}
.wrapper {
display: flex;
flex-wrap: wrap;
}
.wrapper > * {
flex: 1 1 230px;
border: 5px solid orange;
border-radius: 5px;
margin: 10px;
padding: 10px 20px;
background-color: red;
color: #fff;
}