【发布时间】:2010-11-02 21:01:47
【问题描述】:
我正在做一些项目来改进我的 HTML 和 CSS。其中之一是一个简单的数独求解器。我需要创建一个网格来放置标签或文本框。我想要一个与 question 中的网格图像完全相同的网格布局。
实现这一目标的最佳方法是什么? CSS ...或表格?我将如何创建它?
【问题讨论】:
我正在做一些项目来改进我的 HTML 和 CSS。其中之一是一个简单的数独求解器。我需要创建一个网格来放置标签或文本框。我想要一个与 question 中的网格图像完全相同的网格布局。
实现这一目标的最佳方法是什么? CSS ...或表格?我将如何创建它?
【问题讨论】:
如果是表格数据,可以使用表格。如果您想坚持使用 DIV,您可以通过为每个父立方体和子立方体设置特定的宽度/高度值并简单地向左/向右浮动它们来轻松做到这一点。如果您决定不使用显式宽度/高度值,请务必使用clear fix 来防止内容流过它们的兄弟标签。
#sudoku {
width:297px;
height:297px;
}
.parentCube {
width:99px;
height:99px;
float:left;
}
.childCube {
width:33px;
height:33px;
float:left;
}
<div id="sudoku">
<div class="parentCube">
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
</div>
<div class="parentCube">
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
</div>
<div class="parentCube">
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
<div class="childCube"></div>
</div>
</div>
【讨论】:
哇,乔纳森·桑普森速度很快,值得称赞!这是我的方法:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Sudoku</title>
<style type="text/css">
#playfield{
width:920px;
height:920px;
}
#playfield div{
width:300px;
height:300px;
float:left;
border:1px solid #ff8a00;
}
#playfield span{
font-size:300%;
width:98px;
height:98px;
float:left;
display:block;
border:1px solid white;
text-align:center;
line-height:99px;
background-color:#f2f2f2;
}
#playfield span:hover{
background-color:#0d2f5a;
color:white;
}
</style>
</head>
<body>
<div id="playfield">
<div>
<span id="position_1">1</span>
<span>2</span>
<span>3</span>
<span>4</span>
<span>5</span>
<span>6</span>
<span>7</span>
<span>8</span>
<span>9</span>
</div>
<div>
<span>...</span>
</div>
</div>
</body>
</html>
【讨论】: