当前位置:   article > 正文

解决【v-show 有时失效】问题_v-show 失效

v-show 失效

目录

前言

1. web 端

 得出结论,v-show 生效是基于 css 的权重

2. 小程序端


前言

css选择器权重 CSS 样式优先级 | 菜鸟教程

“important > 内联 > ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 > 继承 > 通配符”

1. web 端

Vue 的 v-show 在元素上实际上是使用内联样式 display: none 

因此对于比内联样式权重低的样式,v-show 会生效,但是如果 v-show 使用的元素上有一个 display: block !important,这时 v-show 是失效的

看看web端的元素审查

v-show 正常使用,生效

v-show 遇到 !important 失效

 得出结论,v-show 生效是基于 css 的权重

2. 小程序端

v-show 使用的是 attribute 中的 hidden 

hidden 样式为 display: none

到这里你应该知道了,属性选择器css权重是比较低的

审查元素可以看到,v-show 控制元素的 attribute 中的 hidden ,但是我们当前元素样式可能设置了其他的 display 属性,当该样式权重高于属性选择器权重时,则 v-show 失效。

因此,我们从 css 权重上解决问题

  1. [hidden] {
  2. display: none !important;
  3. }

如果你有更好的方法,可以一起讨论!

如果有用,就点个赞吧!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/66663
推荐阅读
相关标签
  

闽ICP备14008679号