HTML页面是否需要良好形成?

时间:2014-01-16 12:28:06

标签: html css

我正和朋友们开发一个网站。 我正在编写服务器程序,我的HTML / CSS知识很低。

我从那个工作是HTML / CSS的人那里得到了一个页面,其中有一个看起来像这样的部分:

<div>
    <form>
</div>
    </form>

据我所知(当我试图继承它时,我注意到)并不是很好。

谷歌搜索后,我发现非格式化的HTML甚至都不会显示出来。

所以我向他询问了<div>这件事,他只是粗鲁地说道。“这个页面看起来像我们想要的样子,不是吗?!”

他是对的,确实如此。

但现在我问自己(我有点懦弱,因为我知道我是高级语言编码器,不尊重标准导致未定义的行为) 他们所谓的“我们想做什么”的外观会被每个浏览器解释一样吗?或者甚至我错了,这是允许的,因为一些CSS的东西?

或者他就是那种试图绕过的编码器,幸运的是,它看起来像我们想要的,他甚至不知道为什么会这样做?

也许我们不知道的某些浏览器甚至不会显示该页面?

很抱歉我的问题风格很糟糕,但我真的不知道如何提出问题,因为我不是真正的HTML / CSS。

3 个答案:

答案 0 :(得分:7)

简短回答:是的。

答案很长。有些浏览器对形式错误的html感到宽容......但有时会以不同的方式。您可能遇到的一些问题:

  • CSS样式在不同浏览器中的行为方式不同
  • 您可以触发Quirks模式
  • 使用JavaScript操作项目可能会产生意外结果......等等。
祝你好运。

答案 1 :(得分:2)

你的朋友(你应该停止打电话给编码员,他不是)是错的。

在实际的,脚踏实地的级别,在这种特定情况下,浏览器在看到</div>结束标记时结束表单。所以,如果你有

<div>
    <form>
</div>
   <input name="what">
    </form>

输入不会随表单一起提交。

这是一个案例,其中最新的浏览器都同意如何行动,但一般来说,不同的浏览器对错误的反应不同。 (我在自己的网站here上编了一些这方面的例子。)

因此,您的朋友可能会对在某个特定浏览器中工作的网站感到满意,但是当浏览器更新到新版本时,他会感到不快。更不用说其他浏览器了。

作为一名高级程序员,你会提供一个编译但有警告的应用程序吗?

PS:你曾说过“我只是想到了格式不正确的HTML甚至不会出现。”但这是一种误解。大多数浏览器在遇到格式不正确的XHTML时都会抛出错误,但在HTML的情况下,它们尽可能多地展示并且非常努力地从错误中恢复。不过,不同的浏览器使用不同的错误恢复算法,所以你真的不应该依赖它。

答案 2 :(得分:1)

答案取决于您的目标用户谁将要查看您的用户界面....许多网站都针对特定的浏览器并根据他们进行设计,但是,在大多数情况下,网站是开放的万维网

所有浏览器都以不同方式呈现HTML和CSS,因此,为了使您的网站在浏览器中具有相同的外观和感觉,无论浏览器类型及其版本如何,您都必须遵循格式良好的方法< / p>

除了格式良好的HTML标记之外,您还需要供应商前缀以用于跨浏览器的css属性...一般使用的是:

  • -moz
  • -webkit
  • -MS

如果您定位的是像IEv9这样的特定网络浏览器,您可以根据此浏览器的浏览器呈现功能关注规范并忽略在其他浏览器中呈现的视图