本文作者:为之 (w3cplus - drupal社区团队)
第一个是drupal7的变量tabs
在文章里面,如果匿名用户是看不到tabs的,但是drupal7的默认主题bartik或是stark都会输出
也就是说只要应用了上面的那个if(tabs)来做判断,其实得到的都是ture,即使没有权限看到tabs也还会输出一个空标签,要知道这个空标签是设置了margin-bottom的。
解决方法一:
按照tao里面的主题,不使用tabs这个来判断,而是分别对一级,二级进行判断
不过这个得在template.php里面定义这两个变量
解决方法二:
根据上面的方法,把if(tabs)改成if (!empty($tabs['#primary'])),这个是由流云提出来的方法
第二个是清除浮动的问题
Drupal7清除子元素的浮动使用的是clearfix,在module/ssystem/system.base.css第251行我们可以找到这个代码:
这个清除浮动因为设置了content:".";里面有个点,所以会产生一些bug,
当然我们不好直接在这里改,所以我们有必要在我们使用的主题里面覆盖掉这个,content里面为空就好
当然我们还有其他清除clearfix的方法,请参看http://www.w3cplus.com/code/310.html
其实大家觉得怎么在默认的主题里面都没有发现这个bug呢,其实最主要的原因在这里,默认的主题bartik对footer-wrapper的padding设置了一个比较大的值
亲爱的,如果你们把这个footer-wrapper的padding-bottom去掉了,这个clearfix产生的bug,就可以看出来,这个时候你可以用firebug选择body元素,然后你拉到最底端,就会看到一段空白的间距。如下图