【问题标题】:different css formatting on different <p> tags不同 <p> 标签上的不同 CSS 格式
【发布时间】:2010-11-12 15:09:03
【问题描述】:

我正在创建一个网站,我从其他网站读取 html 数据。

问题是我正在阅读的所有来源都有&lt;p&gt;标签,但我实际上想以不同的方式格式化它们

有没有办法让一些&lt;p&gt;标签使用一种格式,而一些&lt;p&gt;标签在同一个网页中使用其他格式?

【问题讨论】:

  • 您能否格式化正在从其他站点读取的源内容?
  • 导入的 p 标签会应用内联样式吗?
  • 你能提供示例源代码吗?

标签: asp.net html css


【解决方案1】:

用这样的东西包装导入的内容:

<div class='imported'>
<p>Imported content here...</p>
<p>These paragraph tags were imported...</p>
</div>

并像这样设置样式:

div.imported p {
    /* My style for imported <p>s */
}

编辑在回答关于设置自己的&lt;p&gt;s 样式的评论时,您可以使用如下标准规则设置页面上所有&lt;p&gt;s 的样式:

p {
    /* Style for all <p>s */
}

然后导入的&lt;p&gt;s 的更具体规则将覆盖该规则。

编辑:在回答有关内联样式的评论时,您可以使用 !important 覆盖它们,但这会对使用用户样式表的人产生连锁反应。我不相信有一个干净的纯 CSS 解决方案 - 毕竟你可能最终不得不解析导入的 HTML。

【讨论】:

  • 页。 importes 仅选择导入了类的 p 标签,并且您导入的类附加到 div 元素。这有效吗?
  • @phoenix:他不需要更改内容 - 当他将内容插入到他的页面时,他将其包装在 &lt;div class='imported'&gt; 中。我的示例中的段落是未更改的导入 HTML。
  • 但是如果导入的 p 标签有与之关联的内联样式怎么办。
  • 您没有回答问题:

    的一种格式和不同

    的另一种格式。

  • @CsTamas:他可以像往常一样设计自己的&lt;p&gt;s;我以为那是不言而喻的。答案已更新。
【解决方案2】:

是的,如果标签有不同的 CSS 类,例如

HTML

<p class="foo-site">This is some content lifted from Foo Site.</p>
<p class="bar-site">This is some content lifted from Bar Site.</p>

CSS

p.foo {
    /* Style for Foo Site text */
}

p.bar {
    /* Style for Bar Site text */
}

【讨论】:

    【解决方案3】:

    是的,你可能可以像这样给他们特异性

    p:first-child { /* note this won't work in ie6 */
        border: 1px solid red;
    }
    
    p.main {
        background: pink;
    }
    

    如果您无权更改 HTML,并且确实需要添加类(以使其在 IE6 中工作),您可以使用 jQuery(请记住,没有 JS 的用户将看不到您的任何类以这种方式添加)

    $('#content p:last').addClass('last');
    

    【讨论】:

      【解决方案4】:
      <div class="includedContent">
      <p>a paragraph</p>
      </div>
      <p>Another paragraph</p>
      

      p { font-size: 8pt; }
      div.includedContent p { font-size: 10pt; }
      

      【讨论】:

      • 对于屏幕媒体,pt 单位被认为是有害的(它会破坏 IE 中的字体缩放,并且大多数系统未配置为正确计算点数)。请不要在示例中使用它。
      【解决方案5】:

      标记中必须有一些东西来区分段落。

      一个组可能都是given class 的成员,或者可能都是descendants 的具有particular id 的元素的成员,或者一些other condition

      您必须查看您的标记,看看是否有任何规则可以描述不同的段落组,并更改标记以便在没有规则的情况下编写这样的规则。

      Selectutorial 将帮助您了解可以使用的规则类型。

      既然你说你是从其他网站导入 HTML(我希望你小心,听起来你冒着让他们在你的页面中插入有害代码的风险),你应该能够将导入的代码包装在一个元素中(a div 可能是最好的),您可以提供一个类或一个 id 并使用后代选择器。

      【讨论】:

        【解决方案6】:

        您可以使用 jQuery 将 css 添加到所有偶数和奇数 &lt;p&gt;s,如下所示:

        $("p:even").css("background-color", "#bbbbff");

        $("p:odd").css("background-color", "#aaaaff");

        【讨论】:

          猜你喜欢
          • 2016-10-05
          • 2023-02-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-08-23
          • 2013-03-17
          相关资源
          最近更新 更多