DIV与表格或者CSS与愚蠢
我知道表是用于表格数据的,但是使用它们进行布局非常诱人。我可以处理DIV以获得三列布局,但是当我们获得4个嵌套的DIV时,会变得很棘手。
是否有一个教程/参考资料说服我使用DIV进行布局?
我想使用DIV,但我拒绝花费一个小时将我的DIV / SPAN放置在所需位置。
@GaryF:蓝图CSS必须是CSS的最佳机密。
很棒的工具Blueprint Grid CSS Generator。
解决方案
回答
这可能无济于事,但我不知为何不理解所有与CSS相关的问题。如果报纸设计师试图在广告页面中嵌入电影,那么每个人都会同意他有点疯狂。但是,这些人仍然在使用HTML的三栏式布局后仍然松懈。目前,HTML尚无法很好地处理这种布局。此外,多列布局通常不太适合在计算机监视器上阅读。没有足够的可行选择吗?
顺便说一句,即使表也不是实现流利的列布局的好方法,因此这根本没有理由诉诸于此类黑客。假设浏览器采用的是现代浏览器(例如,MSIE 6),与我所知的纯HTML + CSS相比,表格没有任何优势。
回答
Yahoo Grid CSS可以执行各种操作。
但是请记住:CSS不是宗教。如果我们使用表而不是CSS来节省时间,请这样做。
形式是我永远无法下定决心的极端案例之一。我很想用CSS来做,但是它比表格复杂得多。
我们甚至可以说表单是表,因为它们具有标题(标签)和数据(输入字段)。
回答
我只会用桌子。
以我的经验,使用表格进行布局在所有浏览器中都可以使用,而CSS则不能(特别是如果我们想支持IE6的话)。如果可以使用表在10分钟内完成布局工作,那么在CSS中使用布局就不值得花费大量的时间进行编码。
使用表的另一个优点是布局可以非常轻松地动态调整其自身大小以适应内容。试图用CSS做到这一点是一个巨大的噩梦。
回答
我发现CSS有很多局限性,似乎只是在暗示规范设计者并不以网站为生。
如果我们无法在CSS中做到这一点,请使用HTML表。
话虽如此,有些框架确实可以提供帮助,并且如果可以管理的话,在CSS中做起来总是更好。
回答
在我看来,偏向应该是CSS而不是IE6,也就是说,除非有令人发指的理由(例如,网站仅针对使用IE6的用户,这很奇怪),最好是"疏远"使用IE6的人,而不是视力不良和/或者自动用户代理的人员。 IE6的使用率正在下降;后者的人数在增加。即使网站在IE6中看起来并不完美,对于那些看不见它的用户来说,它也比基于表的布局更容易阅读。
这是一个非常笼统的问题,因此很难一一回答。这两本非常好的资源是:
- 防弹网页设计,Dan Cederholm
- CSS Mastery,Andy Budd
如果我们只需要花一个小时来设计整个网站布局,那还不错。
回答
在英国和美国,法律上都要求CSS布局要优先于Tables。第508条(美国)和《残疾歧视法》(英国)均涵盖了视力不佳的用户的无障碍获取标准。
在英国,法律的适用范围扩大到实际上使商业生产网站成为违法行为,从而阻碍部分视力不佳的用户的能力,就像现在拥有步入商店的商店是非法的一样,对于坐轮椅的用户来说,目前还没有对网站可访问性的起诉。但是,我将始终使用CSS,因为从长远来看,这意味着网站设计更易于维护。
花时间学习CSS(我曾使用过W3C学校和.Net Magazine http://www.netmag.co.uk)会有所回报。
回答
我们也许可以在这里找到一些灵感:http://blog.html.it/layoutgala/
回答
为什么布局表很愚蠢:已定义问题,提供了解决方案。
回答
CSS可能不是一种宗教,但它是浏览器解释HTML布局的方式。不管喜欢与否,所有现代浏览器都使用W3C盒模型(某些版本)。继续依赖表格仍然是一种方法,这种方法在设计Web渲染技术的人眼中只是个错误。
我知道CSS有时看起来非常复杂,但是我相信在当今时代这是必需的(相信我,客户会想要它)。
如果我们不愿意花时间真正地学习CSS(因此花几秒钟或者几分钟来定位元素,而不是一个小时),那么我们需要将布局工作交给真正了解CSS的人-结尾。
是的,当前的CSS浏览器实现存在很多问题,但是没有什么如此激烈的应用程序让我们感到需要回到基于表的布局。就像其他任何语言或者框架一样,坐下来花点时间学习它。
我发现的最佳在线参考资源是以下内容:
http://reference.sitepoint.com/css
但是,看一本类似的书《用Web标准进行设计》可能并没有什么害处,它可以理解这些东西为什么很重要。
回答
在我看到YAML(另一个多列布局)之前,我还认为Blueprint很棒。有一个很棒的在线生成器工具。我可以在5分钟内得到一个看起来很酷的多列布局。
回答
List Apart是使用语义HTML的很好参考,Holy Grail文章可能是最好的例子之一。另外,请查看CSS Zen Garden以获取有关该主题的灵感,或者阅读Dave Shea的绝妙著作" CSS Design的禅宗"。
回答
之所以使用CSS进行布局,是因为它不仅在语义上是正确的,而且因为表具有多个缺点。
表格的可访问性很差,因为它们破坏了几乎所有的屏幕阅读器,由于表格的读取方式,因此又给视力受损的人带来了毫无价值的信息。
它们的渲染速度也比CSS慢得多。表格必须绘制两次,一次用于布局,另一次用于内容。这可能意味着,如果服务器上的远程映像或者两个远程连接较慢,则整个布局将无法渲染。
当我们具有哈希图时,是否将使用数组来存储字典?不。当有更好的东西时,我们不应该使用桌子。
回答
过了一会儿,我们甚至都不会考虑它。将div与CSS一起使用似乎是更简单的选项imo。另外,在使用诸如jQuery之类的框架时,我们拥有更大的自由度。我无法想象不使用css或者div来做一些很酷的jQuery。如果我们将表格用于样式和布局,我会觉得我们错过了许多新技术,并停留在90年代。