gpt4 book ai didi

html - 单个页面上的多个复选框

转载 作者:太空宇宙 更新时间:2023-11-04 04:36:40 24 4
gpt4 key购买 nike

谁能帮我解决我的评分系统问题?我试图用容器类(整个进度条)复制我的部分,但每当我这样做时,评级栏只适用于其中一个进度条。我一直记得更改第二个复选框的 id,这样它们就不会干扰。这是带有一个进度条的代码,但我想要更多。

顺便说一句,如果有人知道一种合适的方式来分享我这里的这些乱七八糟的代码,那将会很有帮助。

PHP+HTML:

<?php $num = 2; ?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Animated Progress Bar</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<section class="container">
<input type="radio" class="radio twenty" name="progress" value="twenty" id="twenty" <?php if($num === 1) { echo 'checked'; } ?>>
<label for="twenty" class="label">1</label>

<input type="radio" class="radio fourty" name="progress" value="fourty" id="fourty" <?php if($num === 2) { echo 'checked'; } ?>>
<label for="fourty" class="label">2</label>

<input type="radio" class="radio sixty" name="progress" value="sixty" id="sixty" <?php if($num === 3) { echo 'checked'; } ?>>
<label for="sixty" class="label">3</label>

<input type="radio" class="radio eighty" name="progress" value="eighty" id="eighty"<?php if($num === 4) { echo 'checked'; } ?>>
<label for="eighty" class="label">4</label>

<input type="radio" class="radio onehundred" name="progress" value="onehundred" id="onehundred" <?php if($num === 5) { echo 'checked'; } ?>>
<label for="onehundred" class="label">5</label>

<div class="progress">
<div class="progress-bar"></div>
</div>
</section>
</body>
</html>

CSS:

body {
font: 13px/20px 'Lucida Grande', Tahoma, Verdana, sans-serif;
color: #404040;
background: #323232;
}
.container {
margin: 80px auto;
width: 640px;
text-align: center;
}
.container .progress {
margin: 0 auto;
width: 150px;
}
.progress {
padding: 4px;
background: rgba(0, 0, 0, 0.25);
border-radius: 6px;
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25), 0 1px rgba(255, 255, 255, 0.08);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25), 0 1px rgba(255, 255, 255, 0.08);
}
.progress-bar {
position: relative;
height: 10px;
border-radius: 4px;
-webkit-transition: 0.4s linear;
-moz-transition: 0.4s linear;
-o-transition: 0.4s linear;
transition: 0.4s linear;
-webkit-transition-property: width, background-color;
-moz-transition-property: width, background-color;
-o-transition-property: width, background-color;
transition-property: width, background-color;
-webkit-box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.25), inset 0 1px rgba(255, 255, 255, 0.1);
box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.25), inset 0 1px rgba(255, 255, 255, 0.1);
}
.progress-bar:before, .progress-bar:after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
}
.progress-bar:before {
bottom: 0;
border-radius: 4px 4px 0 0;
}
.progress-bar:after {
z-index: 2;
bottom: 45%;
border-radius: 4px;
background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.05));
background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.05));
background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.05));
background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.05));
}
.twenty:checked ~ .progress > .progress-bar {
width: 20%;
background-color: #f63a0f;
}
.fourty:checked ~ .progress > .progress-bar {
width: 40%;
background-color: #f27011;
}
.sixty:checked ~ .progress > .progress-bar {
width: 60%;
background-color: #f2b01e;
}
.eighty:checked ~ .progress > .progress-bar {
width: 80%;
background-color: #f2d31b;
}
.onehundred:checked ~ .progress > .progress-bar {
width: 100%;
background-color: #86e01e;
}
.radio {
display: none;
}
.label {
display: inline-block;
margin: 0 5px 20px;
padding: 3px 8px;
color: #aaa;
text-shadow: 0 1px black;
border-radius: 3px;
cursor: pointer;
}
.radio:checked + .label {
color: white;
background: rgba(0, 0, 0, 0.25);
}

最佳答案

对于您的第二个进度组,您需要更改以下内容

  • 每个输入元素的id(radio not checkbox)
  • 标签的for属性对应输入元素的新id
  • 输入元素的 name,因为它们是按名称分组的单选按钮

所以第二组会产生这个 html 结构

<section class="container">
<input type="radio" class="radio twenty" name="progress-2" value="twenty" id="twenty-2" />
<label for="twenty-2" class="label">1</label>
<input type="radio" class="radio fourty" name="progress-2" value="fourty" id="fourty-2" />
<label for="fourty-2" class="label">2</label>
<input type="radio" class="radio sixty" name="progress-2" value="sixty" id="sixty-2" />
<label for="sixty-2" class="label">3</label>
<input type="radio" class="radio eighty" name="progress-2" value="eighty" id="eighty-2" />
<label for="eighty-2" class="label">4</label>
<input type="radio" class="radio onehundred" name="progress-2" value="onehundred" id="onehundred-2" />
<label for="onehundred-2" class="label">5</label>
<div class="progress">
<div class="progress-bar"></div>
</div>
</section>

工作演示在 http://jsfiddle.net/gaby/mfNYu/1/

关于html - 单个页面上的多个复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16253646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com