2017-01-10 38 views
0

我的头标中有CSS样式表引用的母版页。我在主页头标签中也有一个内容占位符。在使用该母版页的子页面中,我放置了特定于该页面的CSS样式表引用的头部内容占位符。未应用子内容占位符的CSS样式表

子页面中的CSS样式表具有应该覆盖母版页中CSS样式表中某些样式的样式。只有母版页中的一些样式应该被覆盖而不是全部。

母版页中的CSS样式表引用位于head标签的顶部,而Content Place Holder位于最下方,所以我认为子页面中的CSS引用优先,但不是。

如何让子页面中的样式表优先于母版页中的样式表?

有人可以解释是什么导致这种情况发生?

+0

这可能是一些asp.net渲染方式来渲染事物。你有没有一个特定的容器,你想要它在风格的子页面上? –

回答

0

我找到了答案,我的问题here的方式。

我的样式表的参考看起来像这样

<link href="~/Styles/PopForms.css" rel="stylesheet" /> 

和所解释的there~不是由在此上下文中的浏览器理解。

我改变了参考

<link href="../Styles/PopForms.css" rel="stylesheet" /> 

,现在工作得很好。

1

如果您在两个不同的页面中拥有相同的类名,并且想要更改默认值,请在声明后立即使用'!important'。

.red-background { background-color: red; } /* MASTER */ 
.red-background { background-color: green !important; } /* CHILD PAGE */ 
+0

1.我读过使用!重要的是不好的做法。 2.我正在使用其他页面上使用的样式表的样式表参考,我不会使用!重要的。 3.是否可以使用!对样式表引用很重要? –

+0

1.在编程中有什么好处,每个问题/包/问题都有如此多的解决方案。 您可以通过JS检查页面名称并决定删除哪些样式,但这是很长的路。 2.在这种情况下,通过更改css的位置,您的代码将无法工作。 3.我使用!重要,对我来说这是很多情况的最佳解决方案。它被宣布为这种情况。 – Idoshhh

+1

您可以尝试在子页面中创建一个容器类 - 例如将其称为“子容器”,并在css中派生到容器,如 - > .child-container> .red-background {background-color : 绿色; } – Idoshhh

1

如果你不想使用!important的小孩页容器/目标与特定的类去,是去

.some-class { 
    background-color: deepskyblue; 
} 

.child-container .some-class { 
    background-color: deeppink; 
} 
+0

在子页面的html标记中,我必须给每个标记这个类,还是足以将它提供给包含所有页面的div? –

+1

@DovMiller容器,保留整个页面。很好,你把它整理出来。 –

+0

谢谢!无论如何,你一直很有帮助! –