美文网首页
一行代码实现全局主题置灰

一行代码实现全局主题置灰

作者: xurna | 来源:发表于2022-12-03 12:54 被阅读0次

最近由于追悼会,很多app及网页的首页都置灰了,产品问我们能不能也快速将小程序首页置灰,我说:好的,安排!

全局主题置灰主要是用到一行css代码:

filter: grayscale(1);

可在首页父元素上设置,ok,这样是不是就大功告成了?一测试,发现有以下问题:

1、 配置了 css filter 属性的元素,其子元素的 position:fixed 定位会失效。

【原因】filter 会影响 fixed 的定位参照。由相对视口改为相对设置了 filter 的祖先。当 filter 不为 none 的时候,如果该元素或者其子元素具有 absolute 或 fixed 属性,那么它会为其创建一个新的包含块/容器,所以会相对于新容器定位;但如果 filter 作用在根元素(即 html 标签)时,它是不会为 absolute 或 fixed 子元素创建新的包含块的。

image.png

【解决方案】

web端: 将 filter 设置在 html 上即可。

html {  filter: grayscale(1);}

小程序:需逐个元素排查,确保设置了 filter 的元素,不包含存在 fixed 定位的子元素。

2、配置了 css filter 属性的元素,z-index会被提升,可能会覆盖掉其他有定位元素

【解决方案】

注意调整 z-index 层级。

相关文章

  • android view置灰(哀悼日)

    置灰前 置灰后 给Activity的顶层View设置置灰,实现全局置灰效果。获取界面的根View:

  • css filter 的坑

    【背景】 全局主题置灰需求,采用 filter: grayscale(1); 实现。 在实际应用过程中,发现了一些...

  • 网页变灰效果实现!

    如何用一行代码实现网页变灰效果? 文章 摘抄于 菜鸟教程 如何用一行代码实现网页变灰效果? 网站变灰 这个样式名叫...

  • Python一行代码能做什么,这30个案例告诉你

    Python语法简洁,能够用一行代码实现很多有趣的功能,这次来整理30个常见的Python一行代码集合。 1、转置...

  • 网站置灰

    如果需要把网站置灰,我们可以利用css3属性 filter设置如下:其实只需要一行代码就可以使网页变灰

  • 08-页面全局置灰

  • 面试小记--python相关常识

    一行代码实现1--100之和(利用sum()函数求和) 如何在一个函数内部修改全局变量(利用global 修改全局...

  • iOS页面灰化-节日

    App页面置灰,本质是将彩色图像转换为灰度图像,本文提供两种方法实现,一种是App整体置灰,一种是单个页面置灰,可...

  • 一行代码实现网页变灰

    清明已过,谷雨未来。 一行代码变灰术: -webkit-filter:grayscale(1) 就这么顺利的完...

  • 交互-按钮置灰与不置灰

    理了下按钮置灰还是不置灰的逻辑,总结讲就是简单的置灰,复杂的不置灰单项的置灰,多项的不置灰 简单的置灰,单项的置灰...

网友评论

      本文标题:一行代码实现全局主题置灰

      本文链接:https://www.haomeiwen.com/subject/lxipfdtx.html