WebKit 在 Android 和 iOS 上的一个不一致的地方 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Livid
56.4D
444.32D
V2EX    CSS

WebKit 在 Android 和 iOS 上的一个不一致的地方

  •  
  •   Livid
    PRO
    2015-05-23 21:48:48 +08:00 6614 次点击
    这是一个创建于 3795 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这是 V2EX 的首页在 Android 和 iOS 上的截图。大家看顶部的“全部”那个 tab 及下面的“分享创造”那个标签,感觉 Android 的下面要多空了几个像素。但是两个浏览器都是 WebKit,是我哪里弄错了呢?





    cc @Septembers
    23 条回复    2015-05-24 13:28:24 +08:00
    CatJia1990
        1
    CatJia1990  
       2015-05-23 21:57:23 +08:00
    字体的原因?
    sciooga
        2
    sciooga  
       2015-05-23 21:59:26 +08:00
    我觉得是字体不同,padding 可能不一样。
    gongpeione
        3
    gongpeione  
       2015-05-23 22:00:57 +08:00
    line-height的问题?
    hahastudio
        4
    hahastudio  
       2015-05-23 22:06:45 +08:00   2
    我在 OS X Chrome 上模拟了一下,也有同样的现象
    UA: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.65 Safari/537.36

    我猜是因为
    a.tab_current:link, a.tab_current:visited, a.tab_current:active {
    font-size: 13px;
    line-height: 16px;
    }

    Chrome 是上对齐,Safari 是中对齐?
    我把 line-height 都改成 13px,就没有违和了
    jjplay
        5
    jjplay  
       2015-05-23 22:08:26 +08:00
    我一般都这样写,height:16px;line-height:16px;
    Kilerd
        6
    Kilerd  
       2015-05-23 22:09:15 +08:00
    用PS 画辅助线看了一下,,好像都是 14px(上方以分享创造底色背景边界为边界 ,下方已“不用”的那个横线为边界),导师 那个 OpenShare 那个字那里稍微不同,大写 O S 都 是一样, 小写 因为字体问题 导致不一样。

    我看出来就是这样,,错了勿喷
    Septembers
        7
    Septembers  
       2015-05-23 22:15:18 +08:00
    由于我现在手上现在没有Mac环境没进行测试,抱歉 @Livid
    Septembers
        8
    Septembers  
       2015-05-23 22:15:45 +08:00
    由于我现在手上现在没有Mac环境没法进行测试,抱歉 @Livid
    emric
        9
    emric  
       2015-05-23 22:18:03 +08:00   1
    是因为 lineheight, 一般这种问题, 都是从 line-height\vertical-align 入手解决.
    ( 刷新一下, 看到上面已经比我快找到答案了, 点个赞. )

    解决方案:
    line-height: 1;
    padding: 6px;
    Septembers
        10
    Septembers  
       2015-05-23 22:38:46 +08:00   1
    准确的来说标题应该写成 "Safari 和 Chrome 的一个表现不一致的地方"

    1. Chrome/Chromium 28 开始引入 Blink布局引擎 替换 WebKit布局引擎
    2. Android 4.4 开始 WebView 是基于 Chromium 33
    3. Android 5 开始 WebView 是基于 Chromium 36
    4. Safari 是基于 WebKit2 的
    5. Blink 是 WebKit 的一个 fork

    see https://developer.chrome.com/multidevice/webview/overview
    see https://en.wikipedia.org/wiki/Blink_(layout_engine)
    see https://en.wikipedia.org/wiki/Safari_(web_browser)
    KexyBiscuit
        11
    KexyBiscuit  
       2015-05-23 22:51:41 +08:00 via Android
    @Livid 快把导航栏上私藏的那个功能交出来~
    Septembers
        12
    Septembers  
       2015-05-23 23:04:01 +08:00
    @Livid 什么时候能把Gist的两个问题给fix了?
    Livid
        13
    Livid  
    MOD
    OP
    PRO
       2015-05-23 23:05:00 +08:00   1
    @Septembers 话说,现在正在和 @Kai 同学 FaceTime Audio 中协调这个问题的开发进度。
    Livid
        14
    Livid  
    MOD
    OP
    PRO
       2015-05-23 23:06:21 +08:00
    @Septembers 目前在 Mac 或者 PC 上可以有办法模拟 Android L 浏览器么?
    Septembers
        15
    Septembers  
       2015-05-23 23:09:57 +08:00   1
    @Livid 还有一个问题 由于V2EX没有"收藏回复"的功能
    因此希望把"感谢"作为一种"收藏回复"的方式使用
    进而希望增加一个"曾经感谢"的功能
    谢谢
        16
    Septembers  
       2015-05-23 23:15:33 +08:00
    @Livid 抱歉,没有了解过
    ynyounuo
        17
    ynyounuo  
       2015-05-23 23:21:03 +08:00
    @Livid
    UA 可以吗?
    WebView UA: Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48B; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.65 Mobile Safari/537.36
    Dreista
        18
    Dreista  
       2015-05-23 23:27:46 +08:00
    @Livid 可以,用 Genymotion 即可。
    alansalexer
        19
    alansalexer  
       2015-05-23 23:27:50 +08:00
    @Livid 浏览器兼容性测试可以利用一些 web 服务,比如 https://www.browserstack.com
    Dreista
        20
    Dreista  
       2015-05-23 23:28:30 +08:00
    @Dreista 不过这么用虚拟机总觉得是小题大做……
    alansalexer
        21
    alansalexer  
       2015-05-23 23:29:12 +08:00
    @Livid 但是也有极个别情况,只能真机去测,比如微信内置浏览器、国产的一堆浏览器、小米各个版本的浏览器...
    banri
        22
    banri  
       2015-05-24 07:47:19 +08:00 via iPhone
    刚好补充个问题,发布新主题时内容部分字体~~

    input textarea等会隔断font-family属性,所以建议在其中重新定义一次,或者inherit
    AnyOfYou
        23
    AnyOfYou  
       2015-05-24 13:28:24 +08:00
    @Livid 不需要模拟,使用 https://developer.chrome.com/devtools/docs/remote-debugging 更好一些。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2692 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 14:51 PVG 22:51 LAX 07:51 JFK 10:51
    Do have faith in what you're doing.
    ubao 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