第一次体验到important在css里真的有用
之前我一直觉得CSS里的important是个鸡肋
但是今天遇到了一个场景
我觉得挺好哈
给大家看一下
我现在这个地图(Demo演示为一张地图图片)里边
有两个点是通过地址栏参数传进来的
大家看如果我只传一个start
大家看!End就不显示
然后呢再传一个End
它就显示
也就是说
这两个点是通过地址来参数控制的
而且呢
它们这个样式是直接写在行内的
大家看!display = block
然后呢比如说其中一个不传
它的display就是none了
然后遇到什么问题呢
就是这还有一个功能
就是可以切换这个大头针的功能
就是我可以控制它显示和不显示
在这种情况下
大家看!只显示一个start的情况下
隐藏没问题
但是一打开的时候
注意看这个End就跑这来了
其实原因很简单
就是我们在做切换显示的时候呢
应该做一个判断
看地址栏有没有End参数对吧
但这样的话逻辑就稍微有点复杂了
那这时候important就能用上了
大家看我们定一个样式叫强制隐藏
然后display: none !important
然后呢我们在切换的时候呢
我还写了另一个方法
在这是 ...
大家看我们在切换的时候
只是控制它有没有这样式就好了
我们再试一下
把这个打开
看一下这两个样式
好把它关掉
大家看它还是一个block 一个none
但是呢多了一个force hide
他俩都不显示了
我再把它打开也没有问题
那个End也没有显示
这样的话呢
我们就简化了代码逻辑
只要有 .force-hide
就说明要强制隐藏起来
最后更新于
这有帮助吗?