使用一致但已弃用的HTML标签的缺点是什么?

4
当用户访问我的网站时,他们不关心页面编写是否完美或符合标准,他们只关心它是否可用。
有一些标签已经被弃用,但在所有主流、次要和非常次要的浏览器中都有一致的行为。它们现在可以使用并且会在未来继续工作。(我指的不是像这样的可选标签,因为它们不存在不会破坏页面。) 我所说的标签包括:
  • <center>(被google.com主页使用,是的,这是2014年5月)

  • <body bgcolor=alink=vlink=link=(都被google.com使用)

  • <font size=(也被google.com使用)

如果我的HTML生成器产生像<body bgcolor=black>这样的标记,它保证可以在接近100%的用户中正常工作。

如果它生成的CSS类似于background:black;,那么与<body bgcolor=black>相比,它将受到较少用户的支持。(从https://superuser.com/q/732669/78897https://superuser.com/q/447269/78897开始,虽然我确定它们不是全世界唯一的。)
请耐心等待,这是一个基于真实问题的真实问题。 具体而言,这些标签作为输出的真正缺点是什么?

我想知道那些百分比是从哪里来的。 - Ed Heal
4
@pacerier - 没有现代浏览器不支持CSS,这是事实。但如果您的客户有使用不支持CSS的用户,当页面没有背景颜色时他们可能不会感到惊讶。请放心,现代浏览器都可以支持CSS。 - Anthony
3
这个问题似乎不适合此网站,因为它涉及到使用“现代”还是过时的页面样式技术对写作网站的优点的讨论,这仅仅是基于目标受众的业务规则决策。 - user2864740
1
哦,打弱势论点是不好的,对吧?比如发明一个虚构的浏览器,不能渲染CSS来支持你那愚蠢自大的问题? - Anthony
你已经收到了几个,试图把每一个都扔掉。听起来更像是你在试图辩解你的错误决定。 - Collin Grady
显示剩余24条评论
6个回答

3
潜在的缺点包括以下几点:
1)您的客户可能真的关心代码的标准化程度。也许现在不会,但将来可能会。也许是出于可疑的原因,但仍然如此。
2)已弃用的构造并不总是能够一致地工作。例如,在 table 上设置 align=center 属性可能会因浏览器模式不同而产生不同的效果。尽管如此,这个论点相对较弱,因为浏览器实践已经在 HTML5 CR 中得到了很好的描述,您可以管理潜在的问题。(此外,即使 CSS 设置可能也无法一致地工作。)
3)不能保证所有未来的浏览器都支持弃用的功能。另一方面,标准特性也是如此。实际上,在 HTML 规范中定义的极少数特性已经从浏览器中删除。(关于标签,我认为 basefont 是唯一的例外。)所有提到的示例,以及 marquee,都在 HTML5 CR 中被描述为“过时的”,但仍然是明确定义的,并且根据 HTML5 CR,浏览器预计,并在某种程度上要求支持它们全部。
4)您的同事(设计师/开发人员/...)可能认为您的代码(和您)是过时的,非语义化的等等。
5)代码维护和开发可能会更加困难。如果您有 1000 个页面使用 <body bgcolor=black>,而客户说他们想要稍微不同的背景颜色,您需要编辑每个页面。然而,这个论点比它看起来要弱。首先,这种情况实际上有多常见?其次,如果页面实际上是使用合适的工具生成的,也许您只需要更改一个参数的值并重新生成它们(或者如果页面是动态生成的,则只需让服务器执行此操作)。第三,在所有页面上都有一个 link 元素,引用页面的基本样式表,正如您通常应该做的那样,您只需要向该样式表添加一条规则。可以很容易地使用 CSS 覆盖表示性 HTML 属性。
总之,反对您的方法的实际论据相当薄弱。最重要的论据与编码风格和原则有关。

2
  1. 不,用户不关心代码。他们关心的是什么有效,什么无效。你很难证明用户确实关心代码。
  2. 你误解了一致性和相同性。当我们使用<center>标签时,无论使用哪个浏览器,内容都会居中对齐。也许在一个浏览器上,左边多出一个像素,在另一个浏览器上,右边多出几个像素。但它们始终保持居中对齐。这个问题涉及到具有一致行为的标签。没有一致行为的标签不适合在这里讨论。
- Pacerier
  1. 这正是我的确切观点,详见http://goo.gl/Flp5bH。
  2. 问题的背景特别忽略了这一点作为真正的优势。
  3. 这正是我的确切观点,详见http://stackoverflow.com/questions/23453621/disadvantages-of-using-consistent-behaving-yet-deprecated-html-tags#comment-35955096。谷歌不手动维护其提供给用户的HTML输出,我也不会。所有的内容都是自动生成的。
- Pacerier
1
6)我提出的实际论点非常真实。如果不是,请解释为什么google.com主页在2014年5月仍然使用<center><body bgcolor=alink=vlink=link=<font size=等标签? - Pacerier
@Pacerier 看起来你已经知道了你问题的唯一可接受答案。即使99.9%的网站管理员持有不同的观点,但在你看来,你问题的答案就是“没有”。 - Marcin Nabiałek
@MarcinNabiałek,我只关心事实。我的观点是无关紧要的。 - Pacerier
显示剩余2条评论

2

我添加了一些更多的缺点:

  1. 使用这些标签的另一个缺点是网站带宽。当您放置html center、bgcolor和类似的标签时,每次浏览器需要加载整个内容,即使在每个页面上这些标签都是相同的,或者即使用户已经访问过该站点很多次。但是,当您将设计放置在css文件中时,浏览器可能会缓存这些文件(特别是当您正确设置头文件时),因此它们只会加载html和图像(如果未设置缓存)。

  2. 另一个问题是,如果您决定重新设计站点/样式新元素,那么仅在CSS文件中进行更改要容易得多。未来可能不会自己进行这些更改,其他公司/自由职业者将进行这些更改,他们将更容易地对站点进行更改。因此,网站的维护成本将更低。

  3. 此外,如果HTML / PHP代码质量较差(或者网站非常复杂),并且在许多文件中出现许多“视觉条件”(例如,在一个页面上您决定使用一种颜色,并将其放置在HTML中,在另一个页面上使用另一种颜色),如果出现问题,那么查找问题将更加容易,因为您可以简单地剪切一些CSS并检查问题所在。


1
缺点是当其中一个主要浏览器选择在未来版本中摒弃过时标签时。

问题明确忽略标签,在未来将不受支持。 - Pacerier
这个问题不能忽视,除非你能看到未来。如果你在2014年仍在使用样式属性,那么似乎你并没有看到未来。 - Anthony
@Anthony,你听说过SSCCE吗?回到问题上:很明显<body bgcolor=black>将被支持,就像<body style='background:black;'>一样。无论我们能否看到未来都是无可争议的。确实,即使<body style='background:black;'>在未来可能不被支持,甚至HTML5,即使明年推出的东西也可能在未来不被支持。但是,清楚的是,像<body bgcolor=black>这样的标签将在其当前替代品(CSS)被支持的时间内得到支持。 - Pacerier
@Pacerier,你有什么证据认为它会像CSS一样得到长期支持? - Collin Grady
@CollinGrady,为了预测未来事件,我们使用归纳证据而不是演绎证据。(如果您想了解更多信息,请访问https://dev59.com/B2gt5IYBdhLWcg3w0w3B#11785062#comment-35952260,但这与我的观点无关)为了保持竞争力,浏览器将继续呈现标签,只要它们的替代方案(不呈现)相对于执行此操作的成本而言相对劣势。你知道有多少个.................................. - Pacerier
显示剩余2条评论

1
使用CSS优于标签的好处在于可以通过简单的操作改变整个网站的外观和感觉。
考虑需要更大字体大小的人群。色盲和屏幕阅读器的最大利用也应该被考虑到。

但是通过自动化,整个网站的外观和感觉也可以在一个简单的步骤中改变。考虑这个问题来自一个HTML生成器。例如,生成器已经收到了将背景变成黑色的命令。它应该选择<body bgcolor=black>还是<body style='background:black;'>。每种选项的优缺点是什么? - Pacerier
一个HTML页面,几个CSS页面。根据用户选择提供CSS页面。HTML内容。CSS样式。非常容易实现。在HTML中不包含样式。 - Ed Heal

0

即使那些一致的行为标签可能被浏览器移除。如果您想创建HTML5网站,那么您需要从头开始学习,并更改您的网站的所有内容,使其能够正常运行,因为您永远不知道这些标签将来是否会在HTML 5中得到支持,或者仅在旧版HTML文档中。


在我看来,由于你永远不知道未来会带来什么,所以最好的选择是使用目前尚未过时的代码。 - Marcin Nabiałek
@Pacerier 这是一个完全有效的角度;如果客户决定有一天跟随HTML5的潮流,你真的想要重新编写整个页面吗? - Collin Grady
@MarcinNabiałek,是的,我们知道它将会得到长期支持。请参阅http://stackoverflow.com/questions/23453621/disadvantages-of-using-consistent-behaving-yet-deprecated-html-tags#comment-35953529 - Pacerier
@CollinGrady,你完全错过了这个问题的重点。请重新阅读第一段,特别是“他们不关心页面编码有多完美或符合多少标准。他们只关心它是否能正常工作”。 - Pacerier
1
如果他们明确购买的是符合HTML5标准的页面,那么他们会这样做,这正是Marcin的观点。所以请听取自己的建议并阅读。 - Collin Grady
显示剩余3条评论

0

CSS提供更容易的维护,比如客户决定他们想要一些元素靠左对齐而不是居中对齐?只需更改您的CSS规则,然后立即完成。但如果您使用老式的valign等方法呢?那么准备好在文件中更改每个实例吧。


当我们使用自动化时,这并没有什么区别。想要一些元素左对齐而不是居中?只需编写一个单行命令给生成器,它将完成所有繁重的工作。无需手动编辑文件。另请参见https://dev59.com/rX_aa4cB1Zd3GeqP11jo?noredirect=1#comment-35955091。 - Pacerier

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接