CSS:仅在div的某些引用上使用类型的第一个

CSS:仅在div的某些引用上使用类型的第一个,css,css-selectors,Css,Css Selectors,我试图找出如何表明“类型的第一个”只应出现在div的某些出现处。例如,假设我有一个class“.maintext”,并且在某些情况下,我希望第一段有一个dropcap,而在其他情况下没有 我通常会这样做: .maintext { font, border, etc } .maintext p:first-of-type:first-letter { css for the dropcap } 但是有了这个,每次我使用它都会调用dropcap。我如何在HTML中指出,有时我喜欢dropcap,而

我试图找出如何表明“类型的第一个”只应出现在div的某些出现处。例如,假设我有一个class“.maintext”,并且在某些情况下,我希望第一段有一个dropcap,而在其他情况下没有

我通常会这样做:

.maintext { font, border, etc }
.maintext p:first-of-type:first-letter { css for the dropcap }
但是有了这个,每次我使用
它都会调用dropcap。我如何在HTML中指出,有时我喜欢dropcap,而有时不喜欢,这样我就可以保持干燥

我的通用HTML如下所示:

<div class="maintext>
<p>some text</p>
<p>some text</p>
</div>

无需过度思考。只需为段落标记使用一个类&在需要时重用它,而不管它的容器是什么

p.hasDropCap:first-letter {
  font: bold 28px Georgia;
}
如果您只希望
.maintext
的第一段有一个dropcap,请执行以下操作:

.maintext p:first-child:first-letter {
  font: bold 28px Georgia;
}

或者,如果您想设计整个第一行的样式,也可以使用
:first-line

无需过度思考。只需为段落标记使用一个类&在需要时重用它,而不管它的容器是什么

p.hasDropCap:first-letter {
  font: bold 28px Georgia;
}
如果您只希望
.maintext
的第一段有一个dropcap,请执行以下操作:

.maintext p:first-child:first-letter {
  font: bold 28px Georgia;
}

或者,如果您想设计整个第一行的样式,也可以使用
:first-line

@Nimsrules答案是正确的。如果你想换一种方式,我就把它加在这里

.maintext { font, border, etc }
.maintext p:not(.nodropcap):first-of-type:first-letter { css for the dropcap }
HTML


@Nimsrules的答案是正确的。如果你想换一种方式,我就把它加在这里

.maintext { font, border, etc }
.maintext p:not(.nodropcap):first-of-type:first-letter { css for the dropcap }
HTML


什么样的情况?根据“环境”的不同,你可能需要javascript来发布你的HTML,我可以将它硬编码到页面中。例如,在“关于”页面上,我希望主文本的第一段有一个dropcap,但在“联系人”页面上没有。什么情况?根据“环境”的不同,你可能需要javascript来发布你的HTML,我可以将它硬编码到页面中。例如,在“关于”页面上,我希望主文本的第一段有一个dropcap,但在“联系人”页面上没有。谢谢!虽然我应该说得更清楚更具体。我将能够设置主div(
)的样式,但由于文本的生成方式,我将无法设置单个段落的样式。因此,我正在寻找一种方法来关闭
中特定出现的
。这有意义吗?这就是为什么我给你一个简单的选择去上课。只将类应用于那些你需要下拉列表的段落&其余的就没有了。谢谢,尽管问题是,由于这个网站上文本的生成方式,我实际上无法将类分配给各个段落。这就是问题所在,也是为什么我试图找出一个好的方法来使用div上的类来实现这一点。生成文本的过程是什么?是否有一种方法可以在生成该文本时用

包装该文本?感谢您为我确认这一想法;我想这不太可能——谢谢你帮我解决这个问题!谢谢虽然我应该说得更清楚更具体。我将能够设置主div(
)的样式,但由于文本的生成方式,我将无法设置单个段落的样式。因此,我正在寻找一种方法来关闭
中特定出现的
。这有意义吗?这就是为什么我给你一个简单的选择去上课。只将类应用于那些你需要下拉列表的段落&其余的就没有了。谢谢,尽管问题是,由于这个网站上文本的生成方式,我实际上无法将类分配给各个段落。这就是问题所在,也是为什么我试图找出一个好的方法来使用div上的类来实现这一点。生成文本的过程是什么?是否有一种方法可以在生成该文本时用

包装该文本?感谢您为我确认这一想法;我想这不太可能——谢谢你帮我解决这个问题!