HTML:
<div id="e_ticket_info" class="e_ticket_font" runat="server" Visible="False">
<p>
Some text.
</p>
</div>
CSS:
.e_ticket_font {
font-weight: normal;
}
HTML 代码位于母版页内的内容页上。
问题是 - 文本是粗体的,但它不应该是。
我怎样才能摆脱它?
尝试
.e_ticket_font p {
font-weight: normal;
}
因为您没有定位p
标签。
迪佩什的回答是正确的。我只是添加一点解释。CSS 是级联样式表,意味着任何元素/类/id 的样式都可以在多个位置被提及,并按照它们被包含的顺序应用。在您的情况下,其他一些样式似乎会覆盖您的样式以使其变为粗体,因为您的代码段不会使其变为粗体。
考虑到这一点,作为一般的最佳实践,如果您不确定它的类是否会在其他地方设置样式,请始终针对特定元素。
因此,.e_ticket_font p {...
比 更可取.e_ticket_font {...
。如果有多个段落并且您只希望其中一些不同,那么再次使用类/ID,例如
.e_ticket_font p#heading {...
.e_ticket_font p#content {...
.e_ticket_font p.specialpara {
等等。
确保它的另一种方法是为该元素应用 css inline,但这不应该用于许多元素,因为它会影响“结构应该与表示分离”原则
<div runat="server" Visible="False">
<p class="e_ticket_font">
Some text.
</p>
</div>
CSS:
.e_ticket_font {
font-weight: normal !important;
}
或(对于每个).e_ticket_font 下的元素:
.e_ticket_font * {
font-weight: normal;
}
我建议很少使用 !important以防失控冒泡你的 DOM
但是请注意选择器的详细信息。如果有任何 CSS 选择器可以更直接地描述对象,例如...
.e_ticket_info#e_ticket_info {
font-weight: bold;
}
...css 将选择具有特权的那个!
尝试内联 css,因为如果您不知道 masterpage 中是否指定了其他 css 类<P>
就像是:
<div runat="server" Visible="False">
<p style="font-weight: normal;" >
Some text.
</p>
</div>
它肯定会起作用,然后您可以检查其他 CSS 参考<P>