【问题标题】:HTML/CSS font color vs span styleHTML/CSS 字体颜色与跨度样式
【发布时间】:2010-11-15 08:18:52
【问题描述】:

我应该使用什么?

<span style="color:red">test</span>

<font color="red">test</font>

为什么?

【问题讨论】:

  • 第一个其实是内联CSS

标签: html css


【解决方案1】:

您应该使用&lt;span&gt;,因为as specified by the spec&lt;font&gt; 已被弃用,可能不会按您的意愿显示。

【讨论】:

  • Span(和 div)没有被弃用,但它们也不是语义的。换句话说,它们没有给文本添加任何“意义”。它们只能用于对元素进行分组而不添加含义:en.wikipedia.org/wiki/Span_and_div
  • 我从未说过 Span 或 div 已被弃用,我很难相信它们会被弃用。 span 正是为了它的目的而设计的:在非语义上能够更改文本的某些部分。
  • 我从来没有说过 span 和 div 也被弃用了,我同意你的观点,它们可能永远不会被弃用。但假设 OP 具​​有红色文本的含义似乎是合理的,例如强调。所以他应该为此使用语义标签。但是,如果文本只需要在没有语义含义的情况下被涂成红色(例如,只是为了创造一些色彩),那么 span 是一个不错的选择。
  • 啊哈,我明白了。在这种情况下,您的建议将是完美的,但由于 OP 只询问要使用哪个元素,&lt;span&gt; 是这里两个元素中的首选。 :)
【解决方案2】:

第一偏好外部样式表。

<span class="myClass">test</span>

css

.myClass
{
color:red;
}

第二偏好内联样式

<span style="color:red">test</span>

&lt;font&gt; 如前所述已弃用。

【讨论】:

  • 唯一需要改进的建议是使用“redText”或“red”代替“myClass”。
【解决方案3】:

两者都没有。您应该将内容和表示分开,为您的 HTML 代码提供逻辑代码。这样想;对于盲人,或在无法显示颜色的浏览器上,您的代码还剩下什么?你为什么要它是红色的?

很可能,您决定将文本设置为红色是因为您想强调它。所以你的 HTML 代码应该是:

<em>test</em>

这样,即使是非可视浏览器也可以确保它们以一种或另一种方式强调文本。

下一步是使文本变为红色。但是您不想在任何地方添加颜色代码,只需添加一次会更有效:

<style>
  em { color: red; }
</style>

这样,所有您网站上强调的代码都会变成红色,使其更加稳定。

【讨论】:

    【解决方案4】:
    <span style="color:#ffffff; font-size:18px; line-height:35px; font-family: Calibri;">Our Activities </span>
    

    这对我很有效:) 正如上面已经提到的“字体标签已被弃用,至少在 XHTML 中。使用 span 标签总是安全的。字体可能不会给你想要的结果,至少在我的如果没有。

    【讨论】:

    • 很好的例子;但它没有回答这个问题:为什么?
    • @jpaugh,为什么使用 span 代替 font 标签已经被上面的其他成员解决了。 标记已被弃用,至少在 XHTML 中是这样。谢谢你,我会编辑我的答案。
    • 嗯,这是看待它的一种方式。我的意思是,为什么要使用 your 解决方案(不管其他解决方案)?您的示例有何独特之处或有益之处?
    【解决方案5】:

    使用风格。字体标签已弃用 (W3C Wiki)。

    【讨论】:

      【解决方案6】:

      &lt;font&gt; 标签一直是deprecated,至少在 XHTML 中是这样。这意味着它的使用是官方“不赞成”的,并且不能保证未来的浏览器会继续按您的预期显示文本。

      你必须使用 CSS。使用&lt;span&gt; 标签或单独的样式表。根据它的specification&lt;span&gt; 标签没有语义,只是允许你改变特定区域的样式。

      【讨论】:

      • 不,除非您真的知道自己在做什么,否则不要以 XHTML 为目标:webdevout.net/articles/beware-of-xhtml。 99.9% 的所谓 XHTML 不是(有效的)XHTML。
      • @Peter:很公平,我承认在这个问题上有多种有效的意见。 XHTML 只是我个人的偏好。但值得指出的是,“定位”是指“编写有效”的 XML。
      【解决方案7】:

      实际上我会说第一个偏好是外部样式表(外部 CSS),第二个偏好是在当前页面标题部分的样式标签中编写 CSS(内部 CSS)

      <style type="text/css">
      <!-- CSS goes here -->
      </style>
      

      作为第三种选择——或者说是最后的手段——我会在标签本身中使用 CSS(内联 CSS)。

      【讨论】:

      • 同意。创建一个名为“red”的 CSS 类,将“red”类分配给标签 - 简单且良好的做法。
      • 实际上... .red 不是一个很好的类名,因为它不是语义的。 .red 只描述类的外观而不是它的含义,.warning 或 .error 会更好。
      • 只是好奇 - 作为规则使用内联 CSS 是不是一个坏主意?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-27
      • 1970-01-01
      • 2017-01-29
      • 2012-06-01
      • 2010-12-13
      • 1970-01-01
      相关资源
      最近更新 更多