我怎么能不选择样式组件的最后一个元素

dan*_*nte 2 css styled-components

这是我的代码结构


const StyledArticle = styled.article``;

const StyledDiv = styled.div``; 

 <StyledArticle>
   <StyledDiv>1</StyledDiv>
   <StyledDiv>2</StyledDiv>  
   <StyledDiv>3</StyledDiv> 
   <StyledDiv>4</StyledDiv>  
 </StyledArticle> 
Run Code Online (Sandbox Code Playgroud)

除了第 4 个 StyledDiv,我如何添加 css StyledDiv 1,2,3。

无需在 StyledArticle 中添加任何 css 语句

没有 js,jquery 只使用 css。

dis*_*for 5

您可以使用:not():last-of-type伪选择器的组合:

StyledDiv:not(:last-of-type) {
  color: blue;
}
Run Code Online (Sandbox Code Playgroud)
<StyledArticle>
  <StyledDiv>1</StyledDiv>
  <StyledDiv>2</StyledDiv>
  <StyledDiv>3</StyledDiv>
  <StyledDiv>4</StyledDiv>
</StyledArticle>
Run Code Online (Sandbox Code Playgroud)

样式化组件:

const StyledDiv = styled.div`
    &:not(:last-of-type) {
      color: red;
    }
`;
Run Code Online (Sandbox Code Playgroud)