代码之家  ›  专栏  ›  技术社区  ›  Aaron Fi

讨厌的HTML布局:如何在保留布局的同时隐藏元素?

  •  3
  • Aaron Fi  · 技术社区  · 15 年前

    我想隐藏一个表单输入字段。但是调用setvisible(“inputid”,false)会导致我的液体布局崩溃。我不想那样。

    这里有什么简单的解决方法吗?我想尝试将输入字段的前景色、背景色和边框色都渲染为白色。但这变得不必要的复杂。

    4 回复  |  直到 15 年前
        1
  •  7
  •   Guffa    15 年前

    使用CSS隐藏元素有两种方法:

    • 设置 display 属性到 none

    • 设置 visibility 属性到 hidden

    第一个选项从流中移除元素,而第二个选项隐藏元素,但仍允许它占用流中的空间。

    您使用的是第一个选项,而您希望使用第二个选项。

    例子:

    document.getElementById('inputID').style.visiblity = 'hidden';
    
        2
  •  3
  •   David    15 年前

    如果将元素的“可见性”样式设置为“隐藏”,则会在视图中隐藏该元素,但不会影响其他元素的布局。

        3
  •  0
  •   Tyson    15 年前

    在没有看到代码的情况下,很难给出更好的建议,但您可以做一些事情:

    1. 假设您使用的是JavaScript,那么您可以获取要删除的表单输入的宽度和高度,创建一个具有这些维度的新DIV,将其注入到表单元素之后,然后隐藏表单元素。有点像黑客,但它是有效的。

    2. 在HTML中用一个DIV将输入包围起来,并在CSS中给它一个明确的宽度和/或高度。然后用javascript删除输入,就像你已经做的那样。

        4
  •  -1
  •   Assaf Lavie    15 年前

    这是一个元素的定义 relative positioning .

    只要给它相对的位置和坐标远离屏幕。

    例如

    position:relative
    left:-2000px
    

    它应该把元素从屏幕上放出来,但在本来应该放的地方留下一个“洞”。