我 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
choury 2016-08-07 14:38:09 +08:00 via Android
小数的怎么显示呢?显示器显示半个像素?
|
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 1
最小像素就是 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
yangyifan OP @learnshare 这个已经用 bootstrap 的删格来做了,只是把 div display 弄成 table-cell ,来模拟一些 table 有的属性,不过这个问题不是这个问题导致的!
|
17
yangyifan 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 用表格来做比较合适,删格不适合处理带边框的布局
|