HTML/CSS 遇到个很坑爹的问题 debug 了一个多小时……

aptx4869 · 2013年08月27日 · 最后由 sevk 回复于 2013年08月28日 · 3191 次阅读

改页面布局,折腾半天,好了各种测试 OK,commit 完准备 push 前再人肉测试一遍。然后这一看吓一跳,一个弹出式 widget 出问题了,调色板全裂开了: before

after

问题是根本就没动过相关代码,然后开始对比本地 development 和 staging server 的差异,firebug 看下来 ccs 是完全一样的,html 部分看起来也是完全一样的……但是同样的 ul li,一个就是裂开的,怎么都整不明白……

最后没办法,祭出 git bisect 大法,终于定位出元凶: config/environments/development.rb

顿时有种这样的冲动……

要是当时不做这人肉测试,直接 push 上 staging server 就根本不用浪费这时间了……不过这是啥原理?html 压缩和不压缩居然显示会不一样?

bselect打法 这是什么?求教

#2 楼 @blacktulip 大概是 git-bisect

#2 楼 @blacktulip 打错……是 git bisect……

#3 楼 @luikore #4 楼 @aptx4869

啊,原来 git 还可以这样用,TIL 了

@aptx4869 大概是标签间的空格吧,你这些小块块大概是 display:inline-block 或者 display:inline 才会这样的 (或者是浏览器 bug), 如果是 display:block + 浮动,就算源代码中带了空格也不会露出空隙的

我了个去,这个也有二分查找

空格造成的,#6 楼正解,CSS 用的不够健壮啊。

#6 楼 @luikore 原来如此……完全没学过 CSS,看 bootstrap 同行的元素用的 inline-block 就直接抄过来用了……不过为啥 slim 会给完全空的标签之间插空格呢

#8 楼 @nightire 是啊,CSS 太博大精深了……

#9 楼 @aptx4869 slim 的 pretty 输出就是缩进的啊,不用空格怎么缩进...

学习了,git-bisect

需要 登录 后方可回复, 如果你还没有账号请 注册新账号