CSS 中的交错布局
Staggered Layout in CSS
我不知道“交错”是否是调用此布局的正确方式,但我正在尝试这样做:
知道如何区分方框 1 和 2、方框 3 和 4、方框 5 和 6。
import styled from "styled-components";
import { services } from "./data";
const StyleCards = styled.div`
display: grid;
grid-template-columns: 1fr 1fr;
`;
const StyleCard = styled.div``;
const StyleImg = styled.img``;
export default function App() {
return (
<StyleCards>
{services.map((service) => (
<StyleCard key={service.name}>
<StyleImg src={service.img} />
<p>{service.name}</p>
<p>{service.description}</p>
</StyleCard>
))}
</StyleCards>
);
}
这是一个代码沙箱https://codesandbox.io/s/react-card-css-5k4xh?file=/src/App.tsx
您可以使用 :nth-child
选择器并为每个组件添加边距顶部来实现该结果
.Card:nth-child(2n) {
margin-top: 75px;
}
由于您使用的是样式化组件,因此您可以这样做
const StyleCard = styled.div`
width: 150px;
margin: 10px;
&:nth-child(2n) {
margin-top: 75px;
}
`;
我不知道“交错”是否是调用此布局的正确方式,但我正在尝试这样做:
知道如何区分方框 1 和 2、方框 3 和 4、方框 5 和 6。
import styled from "styled-components";
import { services } from "./data";
const StyleCards = styled.div`
display: grid;
grid-template-columns: 1fr 1fr;
`;
const StyleCard = styled.div``;
const StyleImg = styled.img``;
export default function App() {
return (
<StyleCards>
{services.map((service) => (
<StyleCard key={service.name}>
<StyleImg src={service.img} />
<p>{service.name}</p>
<p>{service.description}</p>
</StyleCard>
))}
</StyleCards>
);
}
这是一个代码沙箱https://codesandbox.io/s/react-card-css-5k4xh?file=/src/App.tsx
您可以使用 :nth-child
选择器并为每个组件添加边距顶部来实现该结果
.Card:nth-child(2n) {
margin-top: 75px;
}
由于您使用的是样式化组件,因此您可以这样做
const StyleCard = styled.div`
width: 150px;
margin: 10px;
&:nth-child(2n) {
margin-top: 75px;
}
`;