图像闪烁和预防。适当的编码标准

时间:2014-07-24 09:50:25

标签: javascript css html5 animation gsap

我最近一直在处理一些基本的动画,并试图同时遵循良好的网络实践。我遇到的问题是在没有使用预设的css方法在页面加载之前隐藏元素时图像闪烁。

通过用我的普通css隐藏元素然后用javascript显示它来防止闪烁很容易,但是如果有人禁用了javascript,那对我来说似乎是一种可怕的做法。

我是否应该使用HTML5功能在标题中添加<noscript>标记,然后使用单独的样式表为不使用javascript的用户设置不透明度和位置到最终设置?这是最优雅的解决方案吗?

我已经开始使用greensock(gsap)库到TweenLite.from,因为我可以将所有内容设置为css中的最终状态,但是当页面第一次出现时,我会得到轻微的图像/文本闪烁加载。我喜欢这个解决方案,因为我可以设置所有css,因为它将适用于没有javascript的人,并且它允许我轻松地从一个点动画到一个现有点,而不是像我必须使用Javascript那样向后工作jQuery的。但是,仍然存在图像闪烁,这是不可接受的。页面预加载器会解决这个问题吗?

这些天普遍认同的做法是什么?我也担心搜索引擎优化以及将内容设置为visibility: hiddendisplay:none然后将其设置为动画的后果。谷歌蜘蛛是否会阅读javascript?

Here's an example of the screen flicker and animations I'm talking about.

1 个答案:

答案 0 :(得分:0)

查看HTML5 Boilerplate和Modernizr。

它附带了一个智能解决方案,以查看客户端是否在CSS中启用了JavaScript。

默认情况下,类no-js应用于HTML标记,然后由Modernizr替换为js。这样您就可以相应地限定CSS选择器。

示例CSS:

.no-js .foo {  }
.js .foo {  }

这应该足够快,执行启用JavaScript的客户端看不到no-js样式。

参考文献: