我 css 是用了百分比去换算宽度,有些宽度是有小数的,因为有边框,所以导致每行的宽度都是不一样的,求解决办法!感谢!
这个是我的chrome下面的例子
当我去查看火狐的比例的时候,宽度的百分比他会自动算精度,比如 8.333333333333332 会换算成 8.33333%,16.666666666666664 会换算成 16.6667,所以 直接正则替换 就好了。
![]() | 1 marsLeo 2016-08-07 13:34:51 +08:00 via Android 一般 px 单位不应该用小数吧?具体是怎样的需求,你最好贴图说明一下。 另外,用深色的阴影可以模拟边框效果,而且不占宽度。 |
![]() | 2 issuz 2016-08-07 13:36:47 +08:00 via iPhone box-sizing:border-box ; |
![]() | 5 小数的怎么显示呢?显示器显示半个像素? |
![]() | 6 learnshare 2016-08-07 14:39:47 +08:00 这个布局用表格来做 |
![]() | 7 yoa1q7y 2016-08-07 14:49:13 +08:00 这个跟是什么浏览器没关系, css 目前就是不支持 |
![]() | 8 iTakeo 2016-08-07 14:57:58 +08:00 via iPhone ![]() 最小像素就是 1px |
![]() | 9 dcalsky 2016-08-07 15:20:02 +08:00 via Android 解决需求的方式不一定只有一种。你可以将所有 form element 都放在 form 里,然后为这个 form 设置边框,这样就解决了无法对齐的问题。 |
10 billlee 2016-08-07 15:41:40 +08:00 显卡表示半个像素实在做不到啊 |
![]() | 11 LancerComet 2016-08-07 15:44:07 +08:00 这是百分比人工算好后写的小数点像素么? 如果是这样就不如改成 rem 或 em 这样的单位,计算交给样式表预处理去做 |
13 Geebarwan OP @learnshare 这个已经用 bootstrap 的删格来做了,只是把 div display 弄成 table-cell ,来模拟一些 table 有的属性,不过这个问题不是这个问题导致的! |
17 Geebarwan OP @LancerComet bt 删格是百分比的,不好改了,只能 js 去弄弄了,获得第一个子元素如果 left 有 border 就变成父级的 left 的 border , right 也是同样的道理,这样就不会有这个问题了,不过看看 有没有其他的解决方案! |
![]() | 19 choury 2016-08-07 16:42:03 +08:00 @yangyifan 查了下,对于小数的 px ,有的浏览器是取整,有的是四舍五入,所以你用小数就没办法让所有览器的显示效果相同 |
![]() | 21 happlebao 2016-08-07 18:47:07 +08:00 里面再套一层固定宽度的 div 不就好了。。 |
![]() | 22 happlebao 2016-08-07 18:47:48 +08:00 怕挡字的话 margin 留大一点就好了 |
![]() | 23 learnshare 2016-08-07 21:21:26 +08:00 @yangyifan 用表格来做比较合适,删格不适合处理带边框的布局 |