求 chrome 浏览器下面,让 px 支持小数的办法! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Geebarwan
V2EX    CSS

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

  •  
  •   Geebarwan Aug 7, 2016 6992 views
    This topic created in 3550 days ago, the information mentioned may be changed or developed.

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

    Supplement 1    Aug 7, 2016

    这个是我的chrome下面的例子

    Supplement 2    Aug 7, 2016
    感谢各位,已经解决好了,用就是的方式,大概思路就是,查找左边 和 右边,如果有边框,就放到父级容器上面去,把当前的左边框或者有边框移除!
    Supplement 3    Aug 7, 2016
    用的是 js 的方式,打错字了!
    Supplement 4    Aug 10, 2016

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


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

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

    如果是这样就不如改成 rem 或 em 这样的单位,计算交给样式表预处理去做
    Geebarwan
        12
    Geebarwan  
    OP
       Aug 7, 2016
    @choury 比如 火狐可以 width:600.08px
    Geebarwan
        13
    Geebarwan  
    OP
       Aug 7, 2016
    @learnshare 这个已经用 bootstrap 的删格来做了,只是把 div display 弄成 table-cell ,来模拟一些 table 有的属性,不过这个问题不是这个问题导致的!
    Geebarwan
        14
    Geebarwan  
    OP
       Aug 7, 2016
    @yoa1q7y 有点蛋疼,那就只能 js 搞定了
    Geebarwan
        15
    Geebarwan  
    OP
       Aug 7, 2016   1
    @dcalsky 很早就是这样的,但是需求就是每个表单元素都可能有 /无 边框
    Geebarwan
        16
    Geebarwan  
    OP
       Aug 7, 2016
    @billlee 哈哈 火狐可以
    Geebarwan
        17
    Geebarwan  
    OP
       Aug 7, 2016
    @LancerComet bt 删格是百分比的,不好改了,只能 js 去弄弄了,获得第一个子元素如果 left 有 border 就变成父级的 left 的 border , right 也是同样的道理,这样就不会有这个问题了,不过看看 有没有其他的解决方案!
    choury
        18
    choury  
       Aug 7, 2016
    @yangyifan 火狐也不可以显示出 0.08px ,最多是给你对齐了罢了,硬件没法做到的事软件也不可能完成
    choury
        19
    choury  
       Aug 7, 2016
    @yangyifan 查了下,对于小数的 px ,有的浏览器是取整,有的是四舍五入,所以你用小数就没办法让所有浏览器的显示效果相同
    Geebarwan
        20
    Geebarwan  
    OP
       Aug 7, 2016
    @choury 是的只能用不正常的办法去解决这个问题了!
    happlebao
        21
    happlebao  
       Aug 7, 2016
    里面再套一层固定宽度的 div 不就好了。。
    happlebao
        22
    happlebao  
       Aug 7, 2016
    怕挡字的话 margin 留大一点就好了
    learnshare
        23
    learnshare  
       Aug 7, 2016
    @yangyifan 用表格来做比较合适,删格不适合处理带边框的布局
    Geebarwan
        24
    Geebarwan  
    OP
       Aug 7, 2016
    @happlebao 我已经弄好了,不过是用 js 的方式
    Geebarwan
        25
    Geebarwan  
    OP
       Aug 7, 2016
    @yangyifan 已经用删栏了,就只能用它了,不过我已经解决好了!
    About     Help     Advertise     Blog     API     FAQ     Solana     4954 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 58ms UTC 09:52 PVG 17:52 LAX 02:52 JFK 05:52
    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