【问题标题】:tags with class in html [closed]html中带有类的标签[关闭]
【发布时间】:2013-06-09 03:18:43
【问题描述】:

我有一个 CSS 类,我经常将其添加到内联 HTML 元素中以更改显示。

在 CSS 中:

  .mymath{ font-family:...; color:...;...}

在 HTML 中:

normal text <span class="mymath"> math text </span> normal text

我可以使用比&lt;span class="mymath"&gt; 更短的东西吗?

CSS/javascript 有什么帮助吗?

如果解决方案涉及 HTML5,请注明

提前致谢。

【问题讨论】:

  • 这根本不是问题。
  • 不确定您实际上在问什么,您有一个 CSS 类,其中定义了字体和颜色的各种规则,并且您正在应用它......我不明白问题是什么?
  • 指定类名有什么问题?为什么你还要关心长度?
  • 如果你的结构允许你在不影响其他跨度的情况下通过祖先和后代选择器来定位跨度,你可以放弃跨度上的类。
  • 不,除了使用更短的类名,或使用特定标签来指定特定样式(但说真的,不要,这太可怕了-semantic),例如 em 表示所有橙色、带下划线的文本,strong 表示所有粗体、绿色文本。

标签: javascript css html


【解决方案1】:

由于 HTML5 中的 B 标记在语义上没有意义(查找它),我不介意“滥用”它来对现有内容进行屏幕纯呈现格式:

  <style>
    b{ font-weight: normal; font-family:...; color:...;...}
  </style>


  normal text <b> math text </b> normal text

这减少了您的开销

  "<span class="mymath"></span>" 

  "<b></b>"

这有点短。

从技术上讲,您甚至可以制作自己的标签,只要将它们修补到您的 IE 的 HTML5 shim 中,CSS 仍然会“占用”标签。当 javascript 动态标记现有文档时,这很好。除非您希望验证暴民用干草叉围绕您的房子,否则不要发布这样的恶意!

【讨论】:

    【解决方案2】:

    可以使用后代或子选择器来指定您想要的样式,这将减少您需要在元素上指定的类的数量。例如:

    <style>
      #test > p > span {
         font-weight: bold;
      }
      #test span {
         color: red;
      }
    </style>
    
    <div id="test">
     <p>my content <span>different</span> more content</p>
     <div>
       <p>my content <span>different</span> more content</p>
     </div>
    </div>
    

    这将使所有 span 文本颜色为红色,但只有第一个 span 为粗体(那里未经测试的代码,但您应该明白这一点)。

    Here's a link 到一组不错的 CSS 选择器教程,您可能会觉得有帮助。

    但是,这确实不是一个好主意。这意味着您的风格与文档的结构密切相关,因此非常脆弱。向您的元素添加更多类可以让您获得更细粒度的控制,并且不会那么脆弱 - 即使文档结构发生变化,样式也将保持一致。

    【讨论】:

    • 根据 Mozilla 的说法,后代选择器是您可以使用的最昂贵的选择器。
    • 是的,虽然一般来说选择器的性能在大多数网站/开发人员今天必须处理的性能问题列表中并不高。 :) 我认为开发人员的性能(维护成本)在几乎所有情况下都是一个更大的因素。
    • 我当然同意。
    【解决方案3】:

    如果您想为您的 html 应用更全局的样式,您可以改为定位元素。 您还可以使用较短的版本来设置字体大小、行高和系列。 http://www.w3schools.com/cssref/pr_font_font.asp

    例子:

    body {
      font: normal 12px/14px Arial, Verdana;
    }
    

    请注意,没有 .身前。这将针对您的 html 中的标签。如果您愿意,您也可以在例如 span 标签上执行此操作。

    【讨论】:

      【解决方案4】:

      不,你不能真正使用更短的东西。这是最简洁的。当然你可以缩短你的班级名称。这样会更短:-)

      【讨论】:

        【解决方案5】:

        是的,创建一个 .css 文件会有所帮助。您不需要将 CSS 内联。您只需在每个 html 页面中添加对 CSS 文件的引用即可。

        【讨论】:

        • 他特别提到了in CSS: 。所以这是多余的,因为他已经在使用 .css 文件了。
        • 对不起!将问题误读为 CSS 声明是内联的
        • 嗯,这个问题是/很不清楚:)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-01
        • 2011-03-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多