一尘不染

CSS表达式

html

我在某处读到CSS表达式已被弃用,甚至不应该使用。我从没听说过它们,所以决定看看。我找到了一个代码示例,即使您滚动,该示例也将浮动元素保留在屏幕上的同一位置。

<html>
<style>
#fixed {
position:absolute;
left:10px;
top:expression(body.scrollTop + 50 + "px");
background:white;
border:1px solid red;}
</style>
<body>
<p id="fixed">Here is some text, which is fixed.</p>
<p>
[many times: "stuff <br/>"]
</p>
</body>
</html>

这让我想起了在页面底部具有“共享栏”和内容的网站。

所以…

  1. 这是他们的做法吗?
  2. 在这种情况下可以使用表达式吗?
  3. 如果没有,我应该怎么用?
  4. 表达式还可以提供其他有用的帮助吗?

阅读 1801

收藏
2020-05-10

共1个答案

一尘不染

CSS表达式曾经在较旧的IE中起作用,但在IE8中已被完全废弃:

Internet Explorer 8和更高版本,IE8 Standards模式或更高版本不再支持动态属性(也称为“CSS表达式”)。做出此决定是出于标准合规性,浏览器性能和安全性原因,如IE博客标题为“结尾表达式”中所述。动态属性在IE7模式或IE5模式下的Internet Explorer 8中仍然可用。

因此,可以说不再值得进一步学习。

如果没有,我应该怎么用?

根据用例,使用JavaScript或媒体查询。

正如@Yet Another Geek指出的那样,您可以使用来实现上述示例 position: fixed。IE6不支持该功能-
CSS表达式可能是为解决此问题而创建的。

2020-05-10