当前位置:   article > 正文

CSS按比例等分box,并显示分隔线_css 三个盒子平分 中间加竖线隔开

css 三个盒子平分 中间加竖线隔开
代码如下:
  1. <ul>
  2. <li>我是菜单一</li>
  3. <li>我是菜单二</li>
  4. <li>我是菜单三</li>
  5. </ul>
  6. Css Code:
  7. ul {
  8. overflow:hidden;
  9. width:640px;
  10. margin:0 auto;
  11. border:1px solid #ccc;
  12. text-align:center;
  13. }
  14. ul li {
  15. list-style:none;
  16. float:left;
  17. width:33.33%;
  18. padding:10px 0;
  19. }

实现的效果为

OK,That's so easy!,这样我就可以三等分了,可是各位看官,如果你细心的情况下,你会发现,现在导航都会加些分隔,有同学这样说了,既然等分都没有一点问题,加分隔就加一个右边框不就可以了吗?OK,你说的没有错,这样想就成功了50%,我们就按他所说的,来演示一下效果:

啊,大事不好了,怎么第三项都被撑破了,自动换行了,我们完美的导航出现了问题,这样的效果我相信,没有人会觉得这是正常的,原来我们在加border-right:1px solid #ccc;时,会自动为li增加1px,最后我们的总宽度为33.33*3+3>100,总宽度早已经不是100了,他们一起把ul撑破了,出现这样的情况与以前的html制定的标准有关,现在html 5横空出世,妈妈再不担心我找不到家了。html 5引入了新的属性 box-sizing,当你设置一个元素为box-sizing: border-box; 时,此元素的内边距和边框不再会增加它的宽度。如果宽度不增加,我们当然不担心被撑破呀,于是我们赶紧为li增加  -webkit-box-sizing: border-box;box-sizing: border-box;

看到了,我们的子元素再也不出轨了,因为我们用box-size并没有为其增加宽度,我相信这个Demo各位小伙伴会常用到的。
给一个最终的CSS

  1. ul {
  2. overflow:hidden;
  3. width:640px;
  4. margin:0 auto;
  5. border:1px solid #ccc;
  6. text-align:center;
  7. }
  8. ul li {
  9. list-style:none;
  10. float:left;
  11. width:33.33%;
  12. padding:10px 0;
  13. border-right:1px solid #ccc;
  14. -webkit-box-sizing: border-box;
  15. box-sizing: border-box;
  16. }
  17. ul li:last-child {border-right:0;}


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/242056?site
推荐阅读
相关标签
  

闽ICP备14008679号