Проблема вызвана флажком в легенде, очевидно.Просто убрав флажок из легенды, он работает нормально.
function changeBackground() {
document.getElementById("changeit").style.backgroundColor = "red";
}
table .td-left {
width: 60%;
text-align: left;
}
table .td-right {
width: 40%;
text-align: right;
}
<fieldset>
<legend>
</legend>
<div style="color:green; height:0; overflow:visible">Booh Booh Booh Booh Booh Booh Booh</div>
<input type="checkbox" onclick="changeBackground()">
<label>Hello</label>
<table>
<tr>
<td class="td-right">
<label>Enter Text Here:</label>
</td>
<td class="td-left">
<input type="text" id="changeit">
</td>
</tr>
</table>
</fieldset>
Итак, нам нужно сделать так, чтобы выглядел как флажок в легенде, без фактическоготам.Как насчет этого:
function changeBackground() {
document.getElementById("changeit").style.backgroundColor = "red";
}
table .td-left {
width: 60%;
text-align: left;
}
table .td-right {
width: 40%;
text-align: right;
}
fieldset label[for='flip']::before {
content: ' ☐ ';
}
#flip {
display: none;
}
#flip:checked+fieldset label[for='flip']::before {
content: ' ☑ ';
}
<input type="checkbox" id="flip" onclick="changeBackground()">
<fieldset>
<legend>
<label for="flip">Hello</label>
</legend>
<table>
<tr>
<td class="td-right">
<label>Enter Text Here:</label>
</td>
<td class="td-left">
<input type="text" id="changeit">
</td>
</tr>
</table>
</fieldset>