margin padding border width box-sizing的乱伦情仇

说这几个哥们啥关系?楼主刚接触盒子模型搞的一脸懵比,云里雾里的,虽然不懂,但是楼主信奉实践出真知,屁颠屁颠的跑到百度前端学院打怪怪去了,其中一个怪怪是实现下图样式布局:


楼主定睛一瞧这怪怪第一行,顿然心中大喜,小意思嘛:先一个margin:10px,再来一个width:33.33%,最后左飘飘右飘飘还不立马解决战斗?!说干就干(此处应有键盘声):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>

       <metahttp-equiv="content-type" content="text/html;charset=UTF-8"/>

       <title>Sup_</title>

       <styletype="text/css"/>

              body,div{

                     margin:0px;

                     padding:0px;

                     }

              div{

                     border:2pxsolid #999;

                     }

              #container{

                     padding:10px;

                     width:500px;

                     height:500px;

                     }

              .boxStyle{

                     margin:10px;

                     width:33.33%;

                     height:50px;

                     background:#eee;

                     float:left;

                     }

       </style>

</head>

<body>

       <divid=container>

              <divclass="boxStyle">

              </div>

              <divclass="boxStyle">

              </div>

              <divclass="boxStyle">

              </div>

       </div>

</body>

<html>

提交,开浏览器,biu的一声卡!住!了!!(如图)↓


    我擦,没搞定,网上一阵狂查发现下图:


       呀呀呀,原来这几个哥们是一层包养一层,羞不羞啊。Width这哥们呢?就是上图的Content。Div占据的位置是Content(Width)+Padding+Border+Margin,而上段代码中光Content就占据了33.33%,再加上Padding,Border,Margin一波流,×3后能装下才怪。明白里之后,楼主开始了创造性的代码width:(500/3-10-2)px,看懂楼主的战略意图了吗?给width个式子,让计算机自己算去,哥才没功夫给你算(酷)。然……计算机不!鸟!额!哥的战斗欲瞬间拉升了一个档次,继续查资料,然后发现了一个新生角色——box-sizing。Box-sizing:框大小。使用该角色可以是width晋升为Content+Padding+Border。赶紧哪来用用,将上程序.boxStyle改成如下:

.boxStyle{

                     margin:10px;

                     width:33.33%;

                     height:50px;

                     background:#eee;

                     float:left;

                     box-sizing:border-box;

                     }

刷新,擦还是卡住了!仔细看看解释,原来是margin这匹夫没有算进去,如果我们把.boxStyle中的magin去掉或改为padding

看,小三完美上位!可是这不是楼主想要的风格啊!!!楼主苦恼一天,百思不得骑姐其解,扒拉扒拉人家的代码:


再加上一个div镶上个金边搞定!!我去,这法儿都能想出来!!!简单粗暴,服了服了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值