求 chrome 浏览器下面,让 px 支持小数的办法! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Geebarwan
V2EX    CSS

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

div id="topic_297676_votes" class="votes">
  •  
  •   Geebarwan 2016-08-07 13:07:35 +08:00 6751 次点击
    这是一个创建于 3357 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    第 1 条附言    2016-08-07 14:34:26 +08:00

    这个是我的chrome下面的例子

    第 2 条附言    2016-08-07 21:40:04 +08:00
    感谢各位,已经解决好了,用就是的方式,大概思路就是,查找左边 和 右边,如果有边框,就放到父级容器上面去,把当前的左边框或者有边框移除!
    第 3 条附言    2016-08-07 21:41:40 +08:00
    用的是 js 的方式,打错字了!
    第 4 条附言    2016-08-10 18:34:53 +08:00

    最后还是换成了用css的方式去解决,js的不完美,而且不好操作,解决的思路:


    当我去查看火狐的比例的时候,宽度的百分比他会自动算精度,比如 8.333333333333332 会换算成 8.33333%,16.666666666666664 会换算成 16.6667,所以 直接正则替换 就好了。

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

    如果是这样就不如改成 rem 或 em 这样的单位,计算交给样式表预处理去做
    Geebarwan
        12
    Geebarwan  
    OP
       2016-08-0 16:17:43 +08:00
    @choury 比如 火狐可以 width:600.08px
    Geebarwan
        13
    Geebarwan  
    OP
       2016-08-07 16:18:47 +08:00
    @learnshare 这个已经用 bootstrap 的删格来做了,只是把 div display 弄成 table-cell ,来模拟一些 table 有的属性,不过这个问题不是这个问题导致的!
    Geebarwan
        14
    Geebarwan  
    OP
       2016-08-07 16:19:05 +08:00
    @yoa1q7y 有点蛋疼,那就只能 js 搞定了
    Geebarwan
        15
    Geebarwan  
    OP
       2016-08-07 16:20:05 +08:00   1
    @dcalsky 很早就是这样的,但是需求就是每个表单元素都可能有 /无 边框
    Geebarwan
        16
    Geebarwan  
    OP
       2016-08-07 16:20:17 +08:00
    @billlee 哈哈 火狐可以
    Geebarwan
        17
    Geebarwan  
    OP
       2016-08-07 16:21:32 +08:00
    @LancerComet bt 删格是百分比的,不好改了,只能 js 去弄弄了,获得第一个子元素如果 left 有 border 就变成父级的 left 的 border , right 也是同样的道理,这样就不会有这个问题了,不过看看 有没有其他的解决方案!
    choury
        18
    choury  
       2016-08-07 16:39:25 +08:00
    @yangyifan 火狐也不可以显示出 0.08px ,最多是给你对齐了罢了,硬件没法做到的事软件也不可能完成
    choury
        19
    choury  
       2016-08-07 16:42:03 +08:00
    @yangyifan 查了下,对于小数的 px ,有的浏览器是取整,有的是四舍五入,所以你用小数就没办法让所有览器的显示效果相同
    Geebarwan
        20
    Geebarwan  
    OP
       2016-08-07 16:47:11 +08:00
    @choury 是的只能用不正常的办法去解决这个问题了!
    happlebao
        21
    happlebao  
       2016-08-07 18:47:07 +08:00
    里面再套一层固定宽度的 div 不就好了。。
    happlebao
        22
    happlebao  
       2016-08-07 18:47:48 +08:00
    怕挡字的话 margin 留大一点就好了
    learnshare
        23
    learnshare  
       2016-08-07 21:21:26 +08:00
    @yangyifan 用表格来做比较合适,删格不适合处理带边框的布局
    Geebarwan
        24
    Geebarwan  
    OP
       2016-08-07 21:38:33 +08:00
    @happlebao 我已经弄好了,不过是用 js 的方式
    Geebarwan
        25
    Geebarwan  
    OP
       2016-08-07 21:39:09 +08:00
    @yangyifan 已经用删栏了,就只能用它了,不过我已经解决好了!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     877 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 21:21 PVG 05:21 LAX 14:21 JFK 17:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86