前军教程网

中小站长与DIV+CSS网页布局开发技术人员的首选CSS学习平台

样式布局的时候,你可曾纠结过这根线

点击上方蓝字关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

先来看一张效果图:

这种情况,经常会在一些导航栏中见到,要求每行中最后一列的右边框消失。实现的方式也有很多:

1、比如:如果是不需要兼容IE8-,那么使用CSS3新增的选择器毫无疑问是一种好的办法,如下代码

2、最容易想的到的办法估计就是:给需要去掉右边框的元素直接添加一个特定的class也是一个办法。不过这样显示的不够优雅......

3、下面建议一个技巧性的写法。就是通过添加反向边框并且增加一个负的margin来实现。

实例的DOM:

这里假定的是每行排列3个li元素,每个li元素宽度100px,div.ul-container宽度是300px。

给每个li设置一个左边框,如下效果图所示:

接下来,我们将容器 ul-container 设置为 overflow:hidden ,并且将 ul 左移一个像素 margin-left:-1px。 这样 ul 中第一列的所有边框都因为左移了一像素并且被 overflow:hidden 而消失了,造成了下一个 li 的右边框看着像左边框一样,其实只是个障眼法:

这样一来,就得到了我们想要的效果了。

总结一下:

这种做法每个li都会生成一个左边框与上一个li元素分开,只是在视觉上看上去像是上一个 li 元素的右边框。这种处理办法也是通常的处理方式。当然,方式随意发挥,没有规定......

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言