CSS-设置第n个子项的左位置

CSS-设置第n个子项的左位置,css,Css,我想将第n个div的左侧位置设置为(n-1)*250px,例如: 1st child: left = 0px 2nd child: left = 250px ... 在css中可以这样做吗?我正在使用Javascript来设置这一点。谢谢。您可以使用: div:nth-of-type(an+b) // or div:nth-child(an+b) 来解决你的问题 div{ position:absolute; } div:nth-child(2){ left: 250px; }

我想将第n个div的左侧位置设置为(n-1)*250px,例如:

1st child: left = 0px
2nd child: left = 250px
...
在css中可以这样做吗?我正在使用Javascript来设置这一点。谢谢。

您可以使用:

div:nth-of-type(an+b)
// or
div:nth-child(an+b)
来解决你的问题

div{
  position:absolute;
} 
div:nth-child(2){
  left: 250px;
} 
div:nth-child(3){
  left: 500px;
} 
如果没有预处理器,您需要手工编写每个规则,因为在设置left属性时不可能采用动态方式

另一种可能性(取决于您真正想要做什么)是引入嵌套并设置
左填充:250px
。但这只有在您可以相应地修改标记的情况下才有效

Javascript可能是这里最简单的方法。

想到CSS3方法,但它不支持使用索引(n)作为操作数,因此这不起作用

推荐解决方案:您可以设计布局,使每个元素的宽度为
250px
。给每个元素
display:inline block
float:left
,它们将按照您的意愿排列。如果元素内容的宽度需要大于
250px
,请确保元素上设置了
溢出:可见
(默认值),并允许内容溢出。如果没有更多的信息,这将达到您想要的效果

但是,如果需要使用更直接的定位方法,则应坚持使用JavaScript来设置这些元素的位置。很可能,您需要考虑屏幕宽度、元素宽度等,而CSS将使您无法这样做


看一看,从中获得灵感。如果您发布了一份您希望实现的目标的草图,我可以进一步帮助您。

+1对于唯一一个似乎已经阅读并真正理解问题的人;)