CSS样式阻止表单提交按钮出现

如何解决CSS样式阻止表单提交按钮出现

我正在尝试改编https://codepen.io/hesguru/pen/BaybqXv中的代码,以创建一个带有提交按钮的反应性星级表,该按钮可以传递给我的python后端。但是,我无法显示“提交”按钮,我知道这可能是由于CSS导致的,但是还无法解决该问题。 (This is how it currently appears)如何使“提交”按钮出现并起作用?

.rate {
    float: left;
    height: 46px;
    padding: 0 10px;
}
.rate:not(:checked) > input {
    position:absolute;
    top:-9999px;
}
.rate:not(:checked) > label {
    float:right;
      overflow:hidden;
    white-space:Nowrap;
    cursor:pointer;
    font-size:30px;
    color:#ccc;
}
.rate:not(:checked) > label:before {
    content: '★ ';
}
.rate > input:checked ~ label {
    color: #ffc700;
}
.rate:not(:checked) > label:hover,.rate:not(:checked) > label:hover ~ label {
    color: #deb217;
}
.rate > input:checked + label:hover,.rate > input:checked + label:hover ~ label,.rate > input:checked ~ label:hover,.rate > input:checked ~ label:hover ~ label,.rate > label:hover ~ input:checked ~ label {
    color: #c59b08;
} width:1em;
<form action="/r" method="POST" class="rate">
    <input type="radio" id="star5" name="rate" value="5" />
    <label for="star5" title="5">5 stars</label>
    <input type="radio" id="star4" name="rate" value="4" />
    <label for="star4" title="4">4 stars</label>
    <input type="radio" id="star3" name="rate" value="3" />
    <label for="star3" title="3">3 stars</label>
    <input type="radio" id="star2" name="rate" value="2" />
    <label for="star2" title="2">2 stars</label>
    <input type="radio" id="star1" name="rate" value="1" />
    <label for="star1" title="1">1 star</label>
    <input type="submit" id="sub" value="Submit">
</form>

解决方法

您描述的问题是由以下选择器引起的:

.rate:not(:checked)>input

这将在<input> .rate元素中选择 all <form>元素(其本身永远不会与:checked伪类匹配) ,而不考虑<input>的类型。

如果将该行修改为以下内容:

.rate > input[type=radio]

然后,它将仅匹配与<input>匹配的type="radio"个元素;并删除(完全无意义的伪类)::not(:checked),因为<form>元素可以-并且应该-永远不会匹配该选择器:

.rate {
  float: left;
  height: 46px;
  padding: 0 10px;
}

.rate > input[type=radio] {
  position: absolute;
  top: -9999px;
}

.rate:not(:checked)>label {
  float: right;
  overflow: hidden;
  white-space: nowrap;
  cursor: pointer;
  font-size: 30px;
  color: #ccc;
}

.rate:not(:checked)>label:before {
  content: '★ ';
}

.rate>input:checked~label {
  color: #ffc700;
}

.rate:not(:checked)>label:hover,.rate:not(:checked)>label:hover~label {
  color: #deb217;
}

.rate>input:checked+label:hover,.rate>input:checked+label:hover~label,.rate>input:checked~label:hover,.rate>input:checked~label:hover~label,.rate>label:hover~input:checked~label {
  color: #c59b08;
  width: 1em;
}
<form action="/r" method="POST" class="rate">
  <input type="radio" id="star5" name="rate" value="5" />
  <label for="star5" title="5">5 stars</label>
  <input type="radio" id="star4" name="rate" value="4" />
  <label for="star4" title="4">4 stars</label>
  <input type="radio" id="star3" name="rate" value="3" />
  <label for="star3" title="3">3 stars</label>
  <input type="radio" id="star2" name="rate" value="2" />
  <label for="star2" title="2">2 stars</label>
  <input type="radio" id="star1" name="rate" value="1" />
  <label for="star1" title="1">1 star</label>
  <input type="submit" id="sub" value="Submit">
</form>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?