html - 切换 css 类不会改变可见性值

标签 html css

我正在尝试仅使用 CSS 和 JavaScript 显示弹出表单。

这是我的 HTML 页面:

<html>
<title>W3.CSS</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

<style>
.popup-form {
   visibility: hidden;
}

.popup-form .show {
    visibility: visible;
}
</style>

<body>
  <div class="popup-form show" id="myPopup">
  <form>
    <div class="w3-container">
      <br> <input class="w3-input" placeholder="Enter category name" />
      <br> <input class="w3-input"
        placeholder="Enter category discription" />
    </div>
    <div class="w3-container w3-right">
      <button class="w3-button w3-black w3-round-large" type="submit">Add</button>
      <button class="w3-button w3-black w3-round-large" type="submit">Cancel</button>
    </div>

  </form>
  </div>
  <div onclick="myFunction()"><i class="fa fa-plus-circle w3-button"></i></div>
</body>

<script>
  function myFunction() {
      var popup = document.getElementById("myPopup");
      popup.classList.toggle("show");
  }
</script>
</html>

我可以在控制台中看到 .show 类已切换,但可见性保持隐藏状态。那么我缺少什么?

最佳答案

目前,您正在使用

.popup-form .show {
visibility: visible;
}

但是你必须这样使用

.popup-form.show {
visibility: visible;
}

关于html - 切换 css 类不会改变可见性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46251174/

相关文章:

jquery - 在选择时隐藏/显示 div - 选项更改不起作用

html - 固定在屏幕左侧的侧边栏和带有边距 : 0 auto 的中间内容

类似于定格动画的 CSS 关键帧动画

javascript - 按钮切换的正确算法

html - 3 列页脚背景颜色

html - 根据左 DIV 高度垂直对齐右 DIV

javascript - 我似乎无法让我的代码工作

javascript - Django 删除确认

html - 在图像附近垂直居中文本

css - 覆盖 Bootstrap 下拉样式