求 chrome 浏览器下面,让 px 支持小数的办法!

2016-08-07 13:07:35 +08:00
 yangyifan

我 css 是用了百分比去换算宽度,有些宽度是有小数的,因为有边框,所以导致每行的宽度都是不一样的,求解决办法!感谢!

6448 次点击
所在节点    CSS
25 条回复
marsLeo
2016-08-07 13:34:51 +08:00
一般 px 单位不应该用小数吧?具体是怎样的需求,你最好贴图说明一下。
另外,用深色的阴影可以模拟边框效果,而且不占宽度。
issuz
2016-08-07 13:36:47 +08:00
box-sizing:border-box ;
yangyifan
2016-08-07 14:34:54 +08:00
@issuz 这个貌似不行因为我下面每一个都是一个 div
yangyifan
2016-08-07 14:35:12 +08:00
@marsLeo 你好,图片已经更新了,可以看看效果图
choury
2016-08-07 14:38:09 +08:00
小数的怎么显示呢?显示器显示半个像素?
learnshare
2016-08-07 14:39:47 +08:00
这个布局用表格来做
yoa1q7y
2016-08-07 14:49:13 +08:00
这个跟是什么浏览器没关系, css 目前就是不支持
iTakeo
2016-08-07 14:57:58 +08:00
最小像素就是 1px
dcalsky
2016-08-07 15:20:02 +08:00
解决需求的方式不一定只有一种。你可以将所有 form element 都放在 form 里,然后为这个 form 设置边框,这样就解决了无法对齐的问题。
billlee
2016-08-07 15:41:40 +08:00
显卡表示半个像素实在做不到啊
LancerComet
2016-08-07 15:44:07 +08:00
这是百分比人工算好后写的小数点像素么?

如果是这样就不如改成 rem 或 em 这样的单位,计算交给样式表预处理去做
yangyifan
2016-08-07 16:17:43 +08:00
@choury 比如 火狐可以 width:600.08px
yangyifan
2016-08-07 16:18:47 +08:00
@learnshare 这个已经用 bootstrap 的删格来做了,只是把 div display 弄成 table-cell ,来模拟一些 table 有的属性,不过这个问题不是这个问题导致的!
yangyifan
2016-08-07 16:19:05 +08:00
@yoa1q7y 有点蛋疼,那就只能 js 搞定了
yangyifan
2016-08-07 16:20:05 +08:00
@dcalsky 很早就是这样的,但是需求就是每个表单元素都可能有 /无 边框
yangyifan
2016-08-07 16:20:17 +08:00
@billlee 哈哈 火狐可以
yangyifan
2016-08-07 16:21:32 +08:00
@LancerComet bt 删格是百分比的,不好改了,只能 js 去弄弄了,获得第一个子元素如果 left 有 border 就变成父级的 left 的 border , right 也是同样的道理,这样就不会有这个问题了,不过看看 有没有其他的解决方案!
choury
2016-08-07 16:39:25 +08:00
@yangyifan 火狐也不可以显示出 0.08px ,最多是给你对齐了罢了,硬件没法做到的事软件也不可能完成
choury
2016-08-07 16:42:03 +08:00
@yangyifan 查了下,对于小数的 px ,有的浏览器是取整,有的是四舍五入,所以你用小数就没办法让所有浏览器的显示效果相同
yangyifan
2016-08-07 16:47:11 +08:00
@choury 是的只能用不正常的办法去解决这个问题了!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/297676

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX