前几天在公司修改一个css 多个按钮居中问题,其实这样的问题很多前端程序员都遇到过,举个例子吧:
在一行中有三个按钮或是两个按钮...个数不定,然后间距固定;然后就有很多人把所有按钮放到一个div中,把div置为margin:10px auto(距上10像素,居中,然后又给了一个固定宽度,按钮放在这个div中,这样按钮就不能具体居中了) ,也不通用如果按钮减少到两个 或一个怎么办,
也有很多人用javascript 动态的算出宽度然后计算一大堆,并且很多时候比好用
错误代码:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 <style type="text/css"> 7 .foot{width: 100%; height: 30px; border: 1px solid #d2d2d2;} 8 .foot .b{width:300px; margin: 3px auto;} 9 .foot .b .button{display: inline-block;line-height: 20px; background-color: #900; padding: 3px 5px; margin-left: 10px;} 10 </style> 11 </head> 12 <body> 13 <div class="foot"> 14 <div class="b"> 15 <a href="" class="button">提交</a> 16 <a href="" class="button">提交</a> 17 <a href="" class="button">提交</a> 18 </div> 19 </div> 20 </body> 21 </html>
后来修改如下
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> .foot{width: 100%; height: 30px; border: 1px solid #d2d2d2; text-align: center;} .foot ul{display: inline; margin-left: -10px;} .foot ul li{display: inline-block; margin-left: 10px; line-height: 30px;} .foot ul li a{background-color: #900; color: #fff;line-height: 20px;padding: 3px 5px;} </style> </head> <body> <div class="foot"> <ul> <li><a href="" class="button">提交</a></li> <li><a href="" class="button">提交</a></li> <li><a href="" class="button">提交</a></li> <li><a href="" class="button">提交</a></li> </ul> </div> </div> </body> </html>
其实这些问题看上去很简单,单还是有很多初学者不能实现,很多人也行用javascript实现,其实完全没有必要