【发布时间】:2009-06-04 08:04:31
【问题描述】:
我认为理想的做法是纯粹将 CSS 用于布局和呈现,而将 HTML 用于内容。但是,假设公司想要将“相关文章”框从页面底部更改为页面顶部。在这种情况下,单独使用 CSS 不是一个理想的解决方案,但最好还是更改 HTML?那么现在的情况是,HTML 仍然在页面布局和呈现中发挥作用吗?谢谢。
【问题讨论】:
我认为理想的做法是纯粹将 CSS 用于布局和呈现,而将 HTML 用于内容。但是,假设公司想要将“相关文章”框从页面底部更改为页面顶部。在这种情况下,单独使用 CSS 不是一个理想的解决方案,但最好还是更改 HTML?那么现在的情况是,HTML 仍然在页面布局和呈现中发挥作用吗?谢谢。
【问题讨论】:
事物仍然以与它们在 html 中相同的顺序出现 - 它不像我们可以使用绝对位置和相对位置那样具有限制性,但这些都是不可取的 - 最好使用 dom 流来处理放置,并且表示是的,你应该在 html 中移动节点。
正如 Jason 所说,CSS 用于设置内容的样式,内容本身及其顺序由数据 (html) 定义,因为顺序对于信息的上下文是必需的,因此它牢牢地位于我们做什么而不是“展示”
编辑: 我应该这样说:如果您希望您的数据完全独立于显示,您应该考虑将您的页面仅定义为 xml 并使用 xsl 来定义布局。 xsl 结合 css 将显示从数据中完全抽象出来。
【讨论】:
它有两个层次:
首先,元素的顺序仍然很重要。 CSS 浮动在布局中被大量使用,但它们也要求元素按一定的顺序排列以将内容放在正确的位置。例如,假设您有两个按钮:
<input type="button" value="Click Me">
<input type="button" value="No, Click Me!">
这些是彼此相邻的。假设有人要求您将第二个按钮移到最右边。这就是你的做法:
<input type="button" value="No, Click Me!" style="float: right">
<input type="button" value="Click Me">
如果您不这样做,第二个(浮动)按钮将出现在另一个下方。
HTML 仍然很重要的第二种方式是,您仍然需要 HTML 表格,因为这些事情根本无法在纯 CSS 中以与浏览器兼容的方式(通常意味着 IE6 支持)或轻松完成。这不是纯 CSS 狂热者喜欢听到的东西,但不管你喜不喜欢,在现实世界中它仍然是真实的。
HTML 电子邮件尤其如此。如果您认为浏览器对 CSS 的支持很差,那么邮件程序的支持会差很多。一般来说,你会完全避免使用 HTML 电子邮件和 CSS,只是假装它仍然是 1999 年。
【讨论】:
mutt(1) 或what-have-you 中(假设您记得包含text/plain 版本,即)。当然,如果你有一个实际的表格,那么一定要使用 HTML <table> -- text/plain 表格不能完全正确地使用比例字体(例如,gmail 使用)。
HTML 仍然定义元素的层次结构。
【讨论】:
HTML 将您的页面划分为逻辑部分。然后 CSS 将特定的外观/感觉/样式应用于这些部分。
如果您想更改页面布局以将一个部分包含在另一个部分中,您别无选择,只能修改您的 HTML,因为 HTML 对页面布局有影响。
【讨论】:
您实际上可以使用 CSS 来移动块。妥协总是归结为你的 CSS 技能有多好,以及你所追求或关心的与旧浏览器的兼容性有多大。 CSS 可以做的事情是有限度的,所以是的,HTML 肯定仍然可以发挥作用。
【讨论】:
可以更改 div 的“源顺序”或使用 css 更改位置。但是,如果只更改 html 更实际,那么就没有其他办法了。归根结底,如果它的内容更重要,那么出于语义原因,来源应该反映它。
【讨论】: