我正在用两个结果栏进行民意调查。结果栏都是蓝色的,但是当我尝试更改栏颜色时,它不会改变。我试图在堆栈溢出时查看其他答案,(如何使用 javascript 更改进度条的颜色? :) 但它们似乎不起作用。<script> function getVote(int) { var xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=function() { if (this.readyState==4 && this.status==200) { document.getElementById("poll").innerHTML=this.responseText; } } xmlhttp.open("GET","poll/study_vote.php?vote="+int,true); xmlhttp.send(); } </script> <div id="poll"> <h2>When studying, do you often find yourself procrastinating?</h2> <form> Yes: <input type="radio" name="vote" value="0" onclick="getVote(this.value)"><br> No: <input type="radio" name="vote" value="1" onclick="getVote(this.value)"> </form> </div></script>PHP:<?php$vote = $_REQUEST['vote'];//get content of textfile$filename = "poll_result.txt";$content = file($filename);//put content in array$array = explode("||", $content[0]);$yes = $array[0];$no = $array[1];if ($vote == 0) { $yes = $yes + 1;}if ($vote == 1) { $no = $no + 1;}//insert votes to txt file$insertvote = $yes."||".$no;$fp = fopen($filename,"w");fputs($fp,$insertvote);fclose($fp);$yesProgress = 100*round($yes/($no+$yes),2);$noProgress = 100*round($no/($no+$yes),2);?><h2>Result:</h2><table> <tr> <td>Yes:</td> <td> <progress id="file1" max="100" value="<?= $yesProgress ?>"> <?= $yesProgress ?> </progress> <?= $yesProgress ?>% </td> </tr> <tr> <td>No:</td> <td> <progress id="file2" max="100" value="<?= $noProgress ?>"> <?= $noProgress ?> </progress> <?= $noProgress ?>% </td> </tr></table>下面尝试将条形颜色从蓝色更改为粉红色的 CSS 代码不起作用。绿色和灰色条是我尝试更改为粉红色的条。结果如下图:.
1 回答
森栏
TA贡献1810条经验 获得超5个赞
实际的进度条是由浏览器实现的(类似于按钮的方式,如果你以前遇到过 CSS 问题的话),用 CSS 直接修改比仅仅针对元素更难一些progress
。您必须使用特定于供应商的伪元素,例如在 Chrome 中:
#file1::-webkit-progress-value { background: pink; }
我相信 Firefox 所需的 CSS 是:
#file1::-moz-progress-bar { background-color: pink; }
您可以应用的其他 CSS 属性(及其特定于供应商的伪元素)的更多信息,尤其是在靠近底部的“另请参阅”部分。
- 1 回答
- 0 关注
- 105 浏览
添加回答
举报
0/150
提交
取消