【问题标题】:Prevent checkbox line breaks防止复选框换行
【发布时间】:2013-08-23 04:58:42
【问题描述】:

我正在制作一个复选框绘图程序,用户可以在其中绘制带有复选框的图片。我需要禁用复选框上的自动换行符,因为它们超出了行尾并弄乱了方块。例如,如果我尝试绘制一个 100*100 的正方形,会发生以下情况:

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

这是我的代码:

<!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>

【问题讨论】:

  • 在容器上添加css overflow-x:scroll;
  • jsfiddle.net/L8eny 在容器上定义一个宽度。

标签: javascript html css checkbox


【解决方案1】:

容器元素上的white-space: nowrap应该可以。

【讨论】:

  • 谢谢,完美解决
【解决方案2】:

你可能想要做的而不是使用 inline-blocks 是显示块和浮动左:

.drawcheck {
    float:left;
}

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

【讨论】:

  • 如果您不确定每行方框的宽度,那么对绘图任何事情都会非常困难。实际输出一系列行并知道每行的宽度非常重要,而不是仅仅输出一个非常长的行并让自动换行来完成它的工作。
  • 如果您使用浮动,则没有理由将显示类型设置为阻止。
猜你喜欢
  • 2023-03-08
  • 2013-01-20
  • 2019-08-30
  • 2015-02-26
  • 1970-01-01
  • 2011-08-13
  • 2013-07-12
  • 2016-07-18
  • 1970-01-01
相关资源
最近更新 更多