jtsai
V2EX  ›  问与答

chrome table + svg,刷新一闪一闪的,能解决吗

  •  
  •   jtsai · Sep 19, 2017 · 2528 views
    This topic created in 3342 days ago, the information mentioned may be changed or developed.

    http://23.105.205.22/

    用 chrome 打开上面网址,刷新几下,会发现一闪一闪的。 在 table 里放 svg 格式的图标,就是导致这样。

    就发现 chrome 会,Firefox,edge 不会。

    已经写的差不多了,才发现这个问题,webapp 的体验很不好,改写又麻烦,能解决吗?

    8 replies  •  2017-09-19 10:50:51 +08:00
    053700
    053700
    Sep 19, 2017
    1
    这个闪好像是因为渲染前的 svg 高度比渲染后的大,你可以试试把 td 的高度定死。
    m939594960
    m939594960
    Sep 19, 2017
    2
    没发现有闪的情况啊
    053700
    053700
    Sep 19, 2017
    3
    刚刚自己试了一下,发现定死了也不可以。
    SakuraKuma
    SakuraKuma
    Sep 19, 2017
    4
    因为 embed 不知道 svg 应该多高。默认很高。然后读取到 svg 之后发现其实没那么高。缩回去了。

    这也是为嘛 img 建议最好写好高宽防止重绘。
    jtsai
    jtsai
    OP
    Sep 19, 2017
    5
    @SakuraKuma 可以了,以前没用这种格式
    jtsai
    jtsai
    OP
    Sep 19, 2017
    6
    @SakuraKuma 但是非常奇怪,只有在 table 下面才会只有闪闪的,div 和其他块都不会的。而且只有 chrome 会,我觉得是 bug
    ORZRRR
    ORZRRR
    Sep 19, 2017
    7
    <style>
    embed{height: 25px;}
    </style>
    SakuraKuma
    SakuraKuma
    Sep 19, 2017
    8
    @jtsai #6
    一样的呀
    只不过 div 你设定高度,和 table 设定高度算法不一致罢了,embed 没加载 svg 前还是很肥的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1467 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 95ms · UTC 17:04 · PVG 01:04 · LAX 09:04 · JFK 12:04
    ♥ Do have faith in what you're doing.