(source: sontag.ca http://sontag.ca/gif/grinch.gif)
Part I
这种布局可以非常简单地使用 2 个 HTML 表格(一个嵌套在另一个表格中)甚至使用单个表格来完成。
也可以使用 CSS 来完成,尽管它可能涉及多一点思考.
这可能不是现实世界的布局,但我见过类似的页面。将此视为一个谜语;提高 CSS 技能的练习。
为了让事情变得更有趣,我在一个由两部分组成的小网页中提出了这个问题,名为挑战 https://web.archive.org/web/20121128141851/http://sontag.ca:80/TheChallenge/。我们将检查代码和问题:使用表格或 CSS 进行布局?我们的两个对手并肩作战,为代码霸权而战。
第一部分阐述了如何挑战 https://web.archive.org/web/20121128141851/http://sontag.ca:80/TheChallenge/成为了。我希望你喜欢。
第二部分是决定 https://web.archive.org/web/20090330024144/http://sontag.ca:80/TheChallenge/CSS%20versus%20Tables.html. 你可能会感到惊讶.
Part II
我很惊讶真正好的答案竟然这么快就出现了minutes我发帖后。这是一次令人羞愧的经历。我不想和你一起参加计时赛。
但是,话虽这么说,在仔细检查所提供的解决方案后,我发现
意识到没有一个 CSS 解决方案(包括当时我自己的)能够像所提供的任何一个表格解决方案一样有效。挑战在于 CSS 比表格更好any布局解决方案。
所以我添加了3条新规则(记住,其中一条规则是可以更改的)。这惹恼了一些人。然后我添加了一些关于规则更改原因的丰富多彩的解释。我认为这让他们更加恼火。
- 我们的花园周围要有栅栏;一些东西可以让它与它所处的任何沉闷的环境区分开来;而且不太贵,但易于保持清洁。
所以我想要花园周围有一个 1 像素的黑色边框
- 每个花园地块的居民(角色)必须是黑色或白色,这取决于他们在花园中表现得最好的。而且它们都是草书血统。其中没有斜体。 ;-)
- 花园是可重定位的,也就是说,我可以在页面的任何地方拥有这个花园(没有绝对定位)。
这就是最终输出的样子(背景颜色可选):
(source: sontag.ca http://sontag.ca/gif/garden.gif)
我对反复无常和最后一刻规则的改变表示歉意。我错了。每个花园的居民都是工匠,手工制作的专家。他们是草书家族,并将他们的风格感归功于italics.
花园必须可重新定位,因为两种花园(桌子和 CSS)都需要coexist在同一页上。我这样说可能是错的position:absolute
规则是不允许的。如果你能让他们在这种环境下工作,那么你就会拥有更多的力量。他们肯定会被接受。
我要求在地块周围设置围栏,因为每种花园类型都将种植在橙色背景的乡村,与我们种植的一些花朵的颜色非常相似。
我现在住在荷兰,郁金香季节即将来临。如果您在接下来的几周内飞越荷兰,并且天气晴朗(这里很少见),您下面的风景将看起来与这个愚蠢的练习非常相似。
我并不热衷于橙色,但我确实喜欢并钦佩荷兰人,所以这就是为什么我们有橙色背景,这是对我的东道国的致敬。 :-)
Part III
我已经发布了特德的表答案 https://stackoverflow.com/questions/636712/how-would-you-do-this-tables-or-css/645292#645292来自下面的挑战以及这张图片
(source: sontag.ca http://sontag.ca/gif/garden2.gif)
因为可以轻松地将居住者添加到花园地块中,而无需触及 CSS 规则 - 一切都会自动居中。
你能用以下方法做到这一点吗 CSS? 你能用……鲱鱼砍倒森林里最强大的树吗?
Update:查理的答案就在这里。