纯粹通过CSS转换隐藏元素和淡入元素最可靠的方法是什么?

纯粹通过CSS转换隐藏元素和淡入元素最可靠的方法是什么?,css,css-transitions,css-animations,css-transforms,Css,Css Transitions,Css Animations,Css Transforms,我想在页面加载时隐藏HTML元素,然后使用CSS转换将其淡入。我的计划是将不透明度设置为0,然后使用CSS动画将其转换为1。 但我担心这些内容仍会隐藏在无法处理CSS转换的旧浏览器中。 有没有更安全的方法隐藏内容?或者从无法处理此代码的浏览器中排除此代码?一如既往,您的问题在于旧版本的IE。 我非常相信渐进式增强和只处理CSS 使用Javascript可以为较旧的浏览器提供回退,或者使用类似的库,但我讨厌这种解决方案,它们也会带来自己的问题。如果访问者禁用了JS怎么办 幸运的是,我们可以安全地

我想在页面加载时隐藏HTML元素,然后使用CSS转换将其淡入。我的计划是将不透明度设置为0,然后使用CSS动画将其转换为1。 但我担心这些内容仍会隐藏在无法处理CSS转换的旧浏览器中。
有没有更安全的方法隐藏内容?或者从无法处理此代码的浏览器中排除此代码?

一如既往,您的问题在于旧版本的IE。

我非常相信渐进式增强和只处理CSS

使用Javascript可以为较旧的浏览器提供回退,或者使用类似的库,但我讨厌这种解决方案,它们也会带来自己的问题。如果访问者禁用了JS怎么办

幸运的是,我们可以安全地让旧浏览器忽略淡入动画。只需将要淡入的默认div的“不透明度”(opacity)设置为1,并在“不透明度”(opacity)设置为0时启动关键帧动画

div {
    height: 300px;
    width: 300px;
    background-color: red;
    opacity: 1;
    animation: fadeIn 7s ease infinite;
 }
@keyframes fadeIn {
     0% { opacity: 0; }
     50% { opacity: 1; }
     100% { opacity: 0; }
}