zoukankan      html  css  js  c++  java
  • 【经验总结】关于使用某些第三方插件库元素设置display:none后重新show不显示的问题;(display、opacity、宽高0的使用场景)

    display:none 直接取消元素所占用的位置(但是元素还是存在的),后面元素看他就相当于不存在了;

    opacity:0  隐藏,但是其依旧占用位置;

    height、width:0 和display:none类似,但是在某些情况下,宽高为零重新展现时元素不刷新,display:none 重新show时元素刷新。

    此处以easyUI 中的datagrid为例:

            在代码中有时需要暂时隐藏datagrid,之后再点击某个按钮时才让其显示,所以自然的为其加上了一个display:none 的属性,在点击按钮时调用show()函数重新将其display属性为:block,但是发现datagrid并没有展现出来,浏览器中查看元素属性,发现easyUI已经封装好的元素中好多元素的height属性值为0,分析是因为display:none属性导致的。所以我们换种思路,用opacity:0,来隐藏改元素,显示时使用opacity:1来显示,就不会影响了。

    html5 flash中也存在这种问题:

      在包含flash的页面中,如果将页面属性设为display:none,之后重新show时会发现,flash会重新刷新(在某些情况下希望操作flash后再重新展现时,flash还处于原来隐藏前的状态)。这时可以手动设置隐藏式页面宽高为0,展现时再重新设置宽高,这样flash就不会刷新了。

  • 相关阅读:
    关于pem与ppk格式的密钥的相互转换
    关于linux免密登录的配置及ssh客户端基于私钥文件的登录
    关于yum update和yum upgrade的区别
    Golang文件操作整理
    整理那些用于基本生存的shell命令
    Docker command line 学习笔记
    关于fork
    tips for using shortcuts
    chapter2
    使用MarkDown的编辑器
  • 原文地址:https://www.cnblogs.com/lauzhishuai/p/8651327.html
Copyright © 2011-2022 走看看