CSS边界线消失问题的详细解决方案

让我们看一下下面的图表。我们经常在一些导航栏中看到每一行最后一行的右边框消失,以及如何在所有浏览器中方便而优雅地实现它们。



如果你不需要兼容IE8,然后用CSS3新的选择器是一个好办法。

使用/选择器选择3N元素去除边框
李:nth-child(3N){
边界权:无;
}


当然,如果这个数字没有太大的确定性,就需要从右边删除一个特定的类,或者表的使用有点乏味,但是可以实现。


但不够优雅。


这里有一个小技巧,通过添加一个反向边框和添加一个负边距。


首先,我们假设我们的UL结构如下:



测试
消失
边界线
赖特
边界线
消失
测试




如图所示,假设每一行有3里,每李是100px,和我们的UL认证和UL容器宽度设置为300px。


最重要的是,每个LI设置一个左边框而不是右边框:


UL集装箱,

UL {

宽度:300px;

}

李{

浮点数:左;

宽度:99px;

左边界:1px solid # 999;

}


我们将得到以下结果:



接下来,我们设置容器UL容器溢出:隐藏和移动UL左像素margin-left: - 1px。


在这个UL的所有边框中,第一列因为左移像素而溢出:隐藏消失,造成右边框看起来像左下边框一样,只是一个分心:


UL容器{

溢出:隐藏;

}

UL {

margin-left: - 1px;

}


效果图如图开头所示。



这种方法可以适应所有不同的李数和不同行数的情况,因为每一个新添加的李生成左边框,最后一个LI元素被分离,但它看起来像最后一个LI元素的右边框。

总结

以上就是本文的全部内容。我希望这篇文章的内容能帮助你学习或工作。如果有任何疑问,你可以留言。