(来源:sontag.ca)
第一部分
这种布局可以很简单地用 2 个 HTML 表格来完成,一个嵌套在另一个里面,甚至可以用一个表格来完成。
它也可以用 CSS 来完成,尽管它可能需要更多的思考。
这可能不是真实世界的布局,但我见过类似的页面。认为这是一个谜;一个锻炼你的 CSS 技能的练习。
为了让事情变得更有趣,我在一个名为The Challenge的小 2 部分网页中提出了这个问题。我们将检查代码和问题:使用表格布局还是 CSS?,并排,一击一击,因为我们的两个对手争夺代码霸权。
第一部分阐述了挑战是如何产生的。我希望你喜欢。
第二部分是决定。 你可能会感到惊讶。
第二部分
我很惊讶在我发布后几分钟真正好的答案出现的速度如此之快。这是一次令人谦卑的经历。我不想和你竞争计时赛。
但是,话虽如此,在仔细检查所提供的解决方案后,我开始意识到没有一个 CSS 解决方案(包括我当时自己的)能像所提供的任何一个表格解决方案一样有效。挑战在于 CSS 比任何布局解决方案的表格都要好。
所以我添加了 3 条新规则(请记住,其中一条规则是可以更改规则)。这惹恼了一些人。因此,我添加了一些关于为什么更改规则的丰富多彩的解释。我认为这更让他们恼火。
- 我们的花园要围着栅栏;有什么东西可以把它与它可能发现的任何沉闷的环境区分开来;而且不是太贵,但易于保持清洁。所以我想要花园周围有一个 1 像素的黑色边框
- 每个花园地块的居民(角色)必须是黑人或白人,这取决于哪个人在他们的花园里表现得最好。而且都是草书血统。它们之间没有斜体。;-)
- 花园是可重定位的,也就是说,我可以在页面的任何位置拥有这个花园(没有绝对定位)。
这是最终输出的样子(背景颜色可选):
(来源:sontag.ca)
对于反复无常和最后一刻的规则更改,我深表歉意。我错了。每个花园地块的居民都是工匠,手工制作的专家。他们是草书家族的后代,他们的风格感归功于斜体。
花园必须是可重定位的,因为两种花园(表格和 CSS)需要在同一页面上共存。我说position:absolute
不允许有规则可能是错误的。如果你能让他们在这种情况下工作,那么你就有更多的权力。他们肯定会被接受。
我要求在地块周围设置一个栅栏,因为每种花园类型都将种植在一个橙色背景的乡村,与我们种植的一些花朵的颜色非常相似。
我现在住在荷兰,郁金香季节快到了。如果您在接下来的几周内飞越荷兰,并且天气晴朗(这里很少见),您下方的风景将看起来与这个愚蠢的练习非常相似。
我不喜欢橙色,但我喜欢并欣赏荷兰人,所以这就是为什么我们有橙色背景,向我的东道国致敬。:-)
第三部分
我在下面的挑战中发布了 Ted 的表格答案以及这张图片
(来源:sontag.ca)
因为居住者可以很容易地添加到花园地块而无需触及 CSS 规则 - 一切都自动居中。
你能用 CSS 做到这一点吗? 你能用……鲱鱼砍倒森林里最强壮的树吗?
更新:查理的答案在这里。