防止复选框换行符

时间:2013-08-22 20:51:01

标签: javascript html css checkbox

我正在制作一个复选框绘图程序,用户可以使用复选框绘制图片。我需要禁用复选框上的自动换行符,因为它们会离开行的末尾并使正方形变得混乱。例如,如果我尝试绘制一个100 * 100的正方形,会发生以下情况:

enter image description here

显然,这不是我想要的。如何在屏幕空间不足时禁用自动换行符,以便显示水平滚动条?

这是我的代码:

<!DOCTYPE html>
<html>
<head>
<style type = "text/css">
.drawcheck
{
display:inline-block;
vertical-align:top;
}
</style>
<script type = "text/javascript">

function drawBoxes()
{
var html = "";

for(var i = 0;i<100;i++)
{
   for(var j = 0;j<100;j++)
   {
       html += "<input type = 'checkbox' class = 'drawcheck'>";
   }
   html += "<br />";
}

document.getElementById('drawarea').innerHTML = html;
}

function clearAll()
{
var w = document.getElementsByTagName('input'); 
for(var i = 0; i < w.length; i++){ 
if(w[i].type=='checkbox'){ 
w[i].checked = false; 
}
}
} 
</script>
<title>Checkbox drawer</title>
</head>
<body onload = "drawBoxes()">
<div id = "controlbar" style = "height:100px;float:top;background-color:#FF0000;"><input type = "button" onclick = "clearAll()" value = "Clear"/></div>
<div id ="drawarea" style = "text-align:center"></div>
</body>
</html>

2 个答案:

答案 0 :(得分:7)

容器元素上的

white-space: nowrap应该这样做。

答案 1 :(得分:1)

您可能想要做的而不是使用内联块是显示块和向左浮动:

.drawcheck {
    float:left;
}

您可能必须为复选框设置宽度,以便它们在正确的位置清除。