前军教程网

中小站长与DIV+CSS网页布局开发技术人员的首选CSS学习平台

关于CSS控制—没人会告诉你的5个秘密!

我从没有听说过什么“包含属性”,直到几周前,当我就container queries的使用情况问到twitter和 David Baron时,他们认真地说,那可以避免许多container queries查询方面的问题。随后我便努力查询一些官方资料,试图去理解它。

包含属性

这是一个原始的隔离方式,包括布局和颜色。包含属性允许开发者限制特定的DOM子树和其它文档;你可以认为它像一个Iframe,这个边界建立了一个新的root层,以确保DOM变化在子树中,永远不会触发父级文档。

none | strict | layout | style | paint

有五种不同的包含属性值。

  • none无效果

  • layout打开布局遏制

  • style —打开风格遏制

  • paint打开重绘遏制

  • strict-布局、样式和重绘相结合

使用案例

到目前为止,我们知道了,我们可以从剩下的文档中,用CSS来控制分离元素,然后标记为独立的部分。告诉你,这里有一些使用案例可以帮助你:

Widgets

当集成第三方组件时,你几乎没法控制,他们可以通过做繁琐的现场布局,如风格,绘画等来大大降低网站的性能,为了把他们跟我们的网站区别开,我们可以设置strict为最外层元素的第三方部件。这样,他们就不会影响页面其他部分的性能了。

Off-Screen

如果你建立一个屏闭导航或是类似系统,即使页面加载不出来,浏览器也可以绘制内容,通过设置paint;用户代理可以跳过关闭窗口,然后更快地绘制其它部分。

Container queries

正如我前面所提到的,strict-可以避免container queries方面的问题。container queries的“问题”之一就是,子级和他们的内容可以对容器的大小产生影响,但是通过使用CSS控制就可以避免这个问题了。

为什么浏览器不能自动做?

浏览器引擎已经尽可能做了最大限度的优化,但每个引擎都有差异。使用layout提供了一个标准的应用程序来指示用户代理,它可以优化浏览器无法优化的某些布局。

底线

如果在没有DOM节点和widgets的情况下,建立一个简单网站的话,你可能不会太在意CSS控制。但是,如果你建立更复杂的网站,那CSS控制将有助于优化性能。这也是一个好主意,设置strict为第三方小部件,便可以保护您的网站的性能。

不厌其烦地测试,不但在高端机器和快速网络上测试,也在旧硬件和慢网络上测试。要时刻关注用户的体验,你还可以模拟网络速度和Chrome DevTools CPU。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言