无论我在哪里上网,我都不断地觉得我不应该使用表格。可悲的是,我是少数几个顽固地仍在使用它们的程序员之一——坦率地说,我发现 CSS 的对齐和布局功能对我来说不够强大,冷火鸡,停止使用表格。撇开我个人的程序员特质不谈,我想尝试解决我对 CSS 系统的主要不满之一:
假设我想要这样的布局:
+---+---+
| A | B |
+---+---+
| C | D |
+---+---+
在上面的示例中,我希望 A 和 C 的宽度相同,并且 和 的宽度B
保持D
相同。
我还希望 和 的高度A
保持B
锁定在一起,并且我希望C
和 D 的高度彼此保持相同。
为了澄清,如果列中的任何元素变宽,我希望该列中的所有元素都变宽。如果一行中的任何元素变得更高,我再次希望同一行中的所有元素也变得更宽。
我刚才描述的是我们的老朋友桌子的确切功能。在我看来,表格对于这些类型的布局非常有用!如果我尝试使用 CSS 布局进行类似的操作,我可能会得到这样的结果:
+-------+---+
| A | B |
+---*---*---+
| C | D |
+---+-------+
这绝不是我正在寻找的那种布局。(A
并C
制作锯齿状的柱子,而不是我更喜欢的完美、光滑的柱子)
简单地说,我真的可以使用一种方法,使用 CSS 布局(而不是预定义的宽度或高度)将一个 CSS 框的边缘位置与不同 CSS 框的边缘位置对齐。如果 CSS 支持这一简单功能,我可以立即永远放弃表格,并创建超出表格功能的布局!这种力量的一个很好但无用的例子是桌子两侧的两个断开的盒子,它们动态地共享完全相同的高度和垂直位置。
但不幸的是,在我在互联网上的搜索中,到目前为止我发现的最先进的对齐方式是居中对齐、左对齐和右对齐。所有与其他元素不相关的对齐类型,使它们无用。
我想要的只是一种无需使用表格就能将 HTML 元素与其他 HTML 元素对齐的方法!
编辑
在为这个问题选择标签时,我遇到了一个几乎总结了所有内容的描述:
相对布局:一个布局,其中子级的位置可以相对于彼此或与父级进行描述。
有 CSS 相对布局吗?或者每当我想这样做时,我是否会被困在使用表格中?
我将接受最接近我想要的功能的答案,而不使用预定的宽度或高度(如果没有其他人提供更好的东西,包括答案“没有类似的存在”)。