15

当现实情况是,如果我不那么谨慎,我本可以更快地完成项目,我倾向于经常采用学术方法并在开发过程中坚持严格的原则。我正在寻找合适的实用性。

我想采用“Zen”方法来设计一个网站,(用我的话来说)“将 HTML 严格用于内容结构,让 CSS 魔法来完成剩下的工作”。这在现实中有多实用?我遇到的一个问题是我想先开发(使功能正常)网站,然后再回来设计它。我知道结构方面我希望网站如何流动,但我什至还没有开始使用 CSS 布局、图形或任何其他设计元素。这里的正确方法是什么?

4

10 回答 10

21

它绝对实用,并提供无限的好处。事实上,这正是 CSS 以及内容和布局分离的目的。

上面给出的正确方法是让不同的团队继续手头的不同任务。这需要(也许)一个可能相当粗糙的初始图形设计,以及针对“#viewport”、“.user”等内容的文档化和协作同意的一组命名约定。

标记团队通常是后端驱动的,通常会稍微领导设计团队,但他们应该而且必须保持足够的灵活性,以便在需要时更改标记,或者将其置于设计师的控制之下。

最后一个只是我的 0.02 美元,但是如果一个人同时担任两个角色,我认为您首先要引导自己使用标记/后端,然后根据需要迭代地进入设计阶段,然后是标记,然后是设计。

于 2009-01-12T15:51:20.430 回答
4

您要遵循的方法是正确的。只有两件事:

  1. 如果您对 css 或 html 使用验证器,请不要假装您的所有 html 或 css 都通过了测试。显然,理想的目标是一切都得到验证,但在第一阶段,我认为最好不要在验证问题上花费大量时间。请记住,没有一个验证器是完美的,一开始就使用它的好方法是引导您朝着正确的方向前进并避免大错误(即在一个页面中放置两次相同的 id,或者将块元素放入内联元素中。 ..)。然后,当应用程序处于良好阶段时,您可以使您的 css 和 html 完美有效。
  2. 不要在最后设计界面。我认为应用程序的界面也可以为您提供如何开发后端的良好指导。所以,在你的位置,我会先用 html 和 css 设计界面,然后我会开始向它添加功能。

(对不起我的英语,欢迎拼写更正。)

于 2009-01-12T16:01:44.433 回答
3

它非常实用,您会惊讶于您的 HTML 看起来多么干净。我喜欢使用 CSS 重置文件来帮助入门,我个人喜欢YUI 重置。另一个需要考虑的 Zen 项目是使用不显眼的 JavaScript。这进一步分离了代码的不同层。JavaScript 库,如jqueryprototypedojo可以帮助解决这个问题。

于 2009-01-12T15:56:50.637 回答
3

这是可以做到的,我认为你的网站(以及你的网页设计技能,尤其是)会更好。但它也有一定的学习曲线。它要求对 XHTML/CSS 规范的理解比许多人都更透彻。

确保可以验证您的 HTML 只是开始。哦,确保所有浏览器在渲染页面时都以严格模式运行。

当然,您需要解决方法来支持 IE,但这可以通过多种方法来完成。首先,IE 支持条件注释,允许您包含特殊的 CSS 样式表来修复 IE 错误,这应该可以帮助您完成大部分工作,而不会影响您符合标准的页面版本。

对于某些事情,您可能还需要一些 javascript,但对于大多数常见功能来说,这不是必需的。

于 2009-01-12T15:57:40.497 回答
3

在http://www.webdevout.net/articles/beware-of-xhtml中解释了今天反对使用 XHTML 的原因。总而言之,不支持 XHTML,除非您将其作为此类服务,并且如果您针对的是较旧的浏览器(任何 IE 版本都是旧的,因为它的大多数功能都是在它们仍然不成熟并且有一段时间没有发生实质性变化时实现的),您别无选择,但将其作为 HTML 提供。

除非您不需要 XML 提供的功能(如 SVG、MathML),否则请坚持使用 HTML。与 HTML 相比,您不会有任何重大优势,更具语义性,拥有更好的 CSS 支持(甚至更少)。但是您获得了更广泛的兼容性,并且您的布局将更加可预测(例如,表格单元格可以从 HTML 中的行中的第一个单元格继承,在 XML 中没有这样的东西,甚至不确定 XHTML 在某处有任何例外)。

验证器不会比 HTML 更有助于编写 XHTML。甚至很烦人,如果你使用严格的,让你想知道如果你撒谎说它是 HTML,br 标签中的 / 是什么大惊小怪的。(如果您将 XHTML 作为 HTML 提供,Firefox 视图源将显示为鲜红色)。我相信你可以找到更多的例子。

于 2009-01-12T17:04:59.393 回答
2

当然,你可以这样做,但要准备好它不会在 IE 下呈现。在最近的一个 Web 项目中,我们的大部分前端缺陷是修复 IE 中已经在 Firefox 中运行良好的东西。也许这会在 IE8 中改变,但我对此表示怀疑。在某些情况下,我们甚至不得不编写一些在 IE 上执行的 javascript,以解决仅使用 CSS 无法完成的事情。

于 2009-01-12T15:53:36.697 回答
2

虽然理论上听起来不错,但您不能 100% 使用 CSS 为网站创建布局。您仍然需要使用一些标记,以便您可以应用 css。也就是说,您可以使用此方法非常接近理想状态。我经常惊讶于真正的 css 大师实际上需要多少标记。

更接近您真正寻找的“禅”方法是 xslt。它通过您的应用程序生成 xml 数据然后 xslt 将该 xml 转换为 html/css 来工作。这需要学习 xslt 并为生成页面的过程增加了另一层复杂性,但增加了您正在寻找的分离。在理想的世界中,理论是程序员只需要担心生成 xml 数据,然后设计人员可以使用该数据生成视觉效果,但是它很少以这种方式工作,因为 xslt 的技术性超出了大多数设计人员的处理能力。大多数时候,程序员最终会生成 xslt,这在某种程度上违背了目的。

于 2009-01-12T16:06:43.927 回答
1

一种对我有用的方法是首先构建 HTML,然后在同一文件的标签中添加一些最小的 CSS(足以创建正确的布局等)。然后,一旦您对结构感到满意,您就可以将 CSS 提取到单独的文件中和/或完全重做 CSS。这对我来说是一个正确的平衡——它仍然是一个轻量级的过程,但它避免了寻找和替换内联 CSS 的潜在麻烦。

于 2009-01-12T16:00:03.470 回答
0

在理论上是的,在实践中,浏览器的差异可能会迫使您添加一些 javascript 来处理差异。

于 2009-01-12T15:50:59.090 回答
0

现在......某事的好处与做某事的实用性不同。你们是否忘记了 IE,甚至忘记了那些想要完成不可能的事情的客户?

我很想说您必须对您使用的严格 DTD 做出一些例外,以使其在合理的浏览器组中工作,并取悦您的利益相关者对网站/网络应用程序。

我是一个标准狂,如果可以建立一个不违反一条 DTD 规则的网站,没有人会比我更高兴。但是 4 年后,我只是无法将其用于实际目的

当然,如果我是对我将要开发的网站提出要求的人,那是可能的,但我必须改变业务规则以适应这种情况。相信我,这是唯一可行的方法。

于 2010-05-29T05:41:33.307 回答