React 风格的组件 - 目标 first-child 和 last-child 不工作
React styled components - target first-child and last-child not working
我一直在学习 React 样式组件,现在我被困在我试图在 React 中为样式 Wrapper 的第一个和最后一个子元素设计样式,但我的样式不适用。
需要帮助来理解为什么它不起作用。
下面是codesandbox link和我的代码。
https://codesandbox.io/s/target-first-child-css-styled-components-forked-9i65re
import ReactDOM from "react-dom";
import styled from "styled-components";
const Text = styled.div`
color: green;
font-size: 20px;
&:first-child {
color: red;
}
&:last-child {
color: blue;
}
`;
function App() {
return (
<Text>
<div>div1</div>
<div>div2</div>
<div>div3</div>
<div>div4</div>
</Text>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
这个选择器意味着当 parent 本身是第一个 child 或最后一个 child 时,在这种情况下,它是两者:D 这就是为什么它是蓝色的,你想做的是:
const Text = styled.div`
color: green;
font-size: 20px;
& div:first-child {
color: red;
}
& div:last-child {
color: blue;
}
`;
这意味着 child div
是第一个或最后一个
我一直在学习 React 样式组件,现在我被困在我试图在 React 中为样式 Wrapper 的第一个和最后一个子元素设计样式,但我的样式不适用。
需要帮助来理解为什么它不起作用。
下面是codesandbox link和我的代码。
https://codesandbox.io/s/target-first-child-css-styled-components-forked-9i65re
import ReactDOM from "react-dom";
import styled from "styled-components";
const Text = styled.div`
color: green;
font-size: 20px;
&:first-child {
color: red;
}
&:last-child {
color: blue;
}
`;
function App() {
return (
<Text>
<div>div1</div>
<div>div2</div>
<div>div3</div>
<div>div4</div>
</Text>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
这个选择器意味着当 parent 本身是第一个 child 或最后一个 child 时,在这种情况下,它是两者:D 这就是为什么它是蓝色的,你想做的是:
const Text = styled.div`
color: green;
font-size: 20px;
& div:first-child {
color: red;
}
& div:last-child {
color: blue;
}
`;
这意味着 child div
是第一个或最后一个