我们不再使用表格布局,因为它们不是语义的。机器人和屏幕阅读器无法识别内容的好处。其次,你需要将你的内容与代码分开来进行布局(职责分配)。
拥有外部CSS文件将使您的页面更容易维护。如果你有20多个页面都有一个表格来保存内容,那么你将非常喜欢编辑所有这些文档以进行重新设计。如果您使用CSS并且具有良好的文档布局宽度标识符,则只需更改一个.css文件即可更改所有布局。
您有问题。您希望在标题项目下有一个内容区域。如果你想,但确实可以用更复杂的CSS来解决,但不是必须的。
首先你会开始你的头宽。您可以使用<div>
或使用标题(h1-h6)项目。就像每个机器人都会知道>“哦!标题,这很重要!”
让构建您的文档:
<body>
<h1>Header</h1>
<div class="static-content">
<p>Content</p>
</div>
</body>
我们有一个标题和一个div宽度的类名“静态内容”布局的原因。您可以将此名称更改为任何您想要的内容(无空格并开始输入字母字符),也可以添加多个类,并用空格分隔。
这里是一些CSS
html, body {
height: 100%;
margin:0;
background-color: gray;
padding: 0;
}
h1
{
display: block;
padding: 20px 10px;
background-color: blue;
margin: 0px 0px 0px 0px;
}
.static-content
{
background-color: red;
padding: 10px;
margin: 0;
}
所以。正如你可以在这里看到的小提琴:http://jsfiddle.net/NicoO/rC66e/2/ 你的内容区域可以是红色的(就像它是)。但你也看到了灰色的背景。背景中的元素是body
,您可以像几乎任何div
一样使用身体。
所以你看,你已经把你的内容区域延伸到浏览器的底部。如果你想要红色区域也在底部,你可以有多种选择来评估这一点。
在这里看到小提琴:http://jsfiddle.net/NicoO/rC66e/3/ 还有其他方法可以实现这一点。
更新。如果你真的想要这个红色区域很大,你可以尝试这样的: http://jsfiddle.net/NicoO/rC66e/5/
这不是一个很好的解决方案,因为我不知道你想用它来做什么。你只需设计一个body
元素,你就可以走了。如果你想要更复杂的布局,你将不得不添加适应你的CSS。在这个小提琴中的解决方案不是通用的,因为它应该是。但它表明,你可以做很多事情宽度的CSS。即使你没有真正向我们展示你的用例。
编辑: 你一直在说“为什么我不只是一个双排桌子?”。但另一方面,你试图在这里改变这个规则的答案。为什么你不只是一个标题和一个段落?像<h1>Title</h1><p>content</p>
你可以添加一个背景颜色到body元素并完成。没有理由在这里做任何事情。
最终修改: 您有一个有效的@John点。有时CSS会是一种痛苦。但它远远优于桌面布局。对于大多数常见的问题,像增长的网格系统这样的工具可以解决大部分问题。 W3C正在努力使CSS更加强大且易于使用。例如,新的显示:网格;属性。 如果你真的给了CSS一个机会,并尝试添加一个关于盒子模型的新思维模式,它会帮助你很多。使用HTML和CSS,您可以直接编写您所需要的内容,而不必一直拥有笨拙的表格。 如果我冒犯了你,我很抱歉。但我建议你权衡表与CSS布局的利弊。有相当不错的东西,周围像自适应版式,你将无法充分利用这些宽度旧技术
Sooo ..表格布局...是的...不要这样做。 (是的,我读过这个问题,只是不得不说。) – Ruddy
“最新潮流的事情”。 :)等等,是2003年吗?这是一个愚蠢的拖钓岗位。如果你想使用表格,请将自己击倒。 – Will
Ruddy如何表CSS的东西不能做或需要荒谬愚蠢的伎俩做? – John