Css 当某些项目不可见时,在两列中设置列表样式

Css 当某些项目不可见时,在两列中设置列表样式,css,list,Css,List,我的列表显示在两列中,每一项都浮动到左侧。左列中的项目有右页边距,但右列中的项目没有: ul#my_list li { float: left; width: 48%; margin-right: 4%; } ul#my_list li:nth-child(2n+2){ margin-right: 0; } 工作正常,除非我将左列项目设置为“显示:无”。在这种情况下,下一个项目,没有右边距的右栏项目,将取代它:左栏和右栏之间的空间现在被打断 有没有办法在CSS

我的列表显示在两列中,每一项都浮动到左侧。左列中的项目有右页边距,但右列中的项目没有:

ul#my_list li { 
    float: left;
    width: 48%;
    margin-right: 4%;
}
ul#my_list li:nth-child(2n+2){
    margin-right: 0;
}
工作正常,除非我将左列项目设置为“显示:无”。在这种情况下,下一个项目,没有右边距的右栏项目,将取代它:左栏和右栏之间的空间现在被打断


有没有办法在CSS中解决这个问题?

为什么不让所有的
li
都有50%的宽度?没有办法只使用CSS,因为display:none不会从dom中删除元素。简而言之,正如你所要求的那样,这个函数。Thx Paulie_D,我最终使用了宽度:50%,加上一些填充,而不是边距。