Php 如何将ID号与CSS regexp匹配

Php 如何将ID号与CSS regexp匹配,php,css,regex,wordpress,stylesheet,Php,Css,Regex,Wordpress,Stylesheet,我正在定制一个Wordpress主题,我被以下CSS问题所困扰。我有一个元素列表,如下所示: li.block1, li.block2, li.block3, li.block4 { top: 0; } li.block5, li.block6, li.block7, li.block8 { top: 150px; } li.block9, li.block10, li.block11, li.block12 { top: 300px; } 我正在使用PHP生成代码,并希望使用regex

我正在定制一个Wordpress主题,我被以下CSS问题所困扰。我有一个元素列表,如下所示:

li.block1, li.block2, li.block3, li.block4 {  top: 0; }
li.block5, li.block6, li.block7, li.block8 {  top: 150px; }
li.block9, li.block10, li.block11, li.block12 {  top: 300px; }
我正在使用PHP生成代码,并希望使用regexp来设置这些元素的样式。我希望实现以下目标:

- li.block[1-4] {style 1}
- li.block[5-9] {style 2}
- li.block[10-14] {style 3}
- and so on...
当我根据用户输入动态生成
li.block[number]
时,它可能会运行数百个元素,我相信使用regexp是正确的方法

我尝试了以下方法:

- li.block[1-4] {style 1}
- li.block[5-9] {style 2}
- li.block[10-14] {style 3}
- and so on...
  • 尝试使用$匹配最后一个元素,但我想获得一些关于如何匹配一系列值的帮助
  • 尝试使用最后一个子属性匹配,但由于它是动态的,我无法提前修复最后一个子属性
  • 试图使用“范围内”来匹配范围,但我不知道如何检查数字是否在范围内
  • 以及使用CSS的其他几个DOM匹配条件
我认为我使用的CSS匹配条件是错误的,因此我想请本论坛的专家向我展示如何正确使用$and range:

我如何使用regexp基于:
li.block[number,I,在a-b范围内]{Apply style number,I}

我也乐于接受其他有助于我保持主题活力的想法

提前感谢,,
Mithun Sridharan不知道regexp,但您可以使用
~

li {top: 0;}
li.block4 ~ li {top: 150px;}
li.block8 ~ li {top: 300px;}

CSS不知道regexp,但您可以使用
~

li {top: 0;}
li.block4 ~ li {top: 150px;}
li.block8 ~ li {top: 300px;}

另一种方法是链接
:第n个子类

例如:

与一般同级解决方案相比,每个规则现在只将样式定义为
li
元素的预期范围,因此,使用此方法,每个规则实际上并没有恢复从以前的规则应用的样式


此外,这不需要对每个列表项应用特定的
,因此可以简化标记。

另一种方法是链接
:n个子
伪类,例如

例如:

与一般同级解决方案相比,每个规则现在只将样式定义为
li
元素的预期范围,因此,使用此方法,每个规则实际上并没有恢复从以前的规则应用的样式

此外,这不需要对每个列表项应用特定的
,以便简化标记。

Hey@panther,(
~
)调用什么+1个很好的答案@ʰᵈˑ:(一般)兄弟姐妹选择器嘿@panther,(
~
)叫什么+1个很好的答案@ʰᵈˑ:(一般)同级选择器