在子导航窗口父子页面中的css规则继承
问题描述:
在导航窗口父子页面中解决css类问题。在子导航窗口父子页面中的css规则继承
我有一个检票基页(BasePage)和一个子页(ChildPage)扩展BasePage。
在BasePage的DIV的现像,
<div class="container-fluid">
<wicket:child/>
</div>
和ChildPage
<wicket:extend>
<div class="sidebar">
..........
</div>
</wicket:extend>
在我的基本页面的CSS
我已经包含在其中有像
CSS规则CSS文件.container-fluid > .sidebar {
float: left;
width: 220px;
}
div container-fluid
在ChildPage中的BasePage和sidebar
div中。问题 是渲染子页面后,它没有找到侧边栏类和页面显示不正确。但是,如果你把边栏类CSS放在ChildPage中,它就可以工作。但是如果我必须专门提供所有儿童CSS,未来将会是一个混乱的工作,孩子的页面很多,并且CSS将是多余的。
任何线索?
答
BasePage/ChildPage关系大多存在于Java中 - 当最终页面被渲染时,它应该被渲染为一个单独的实体。例如,如果您通过IHeaderContributor插入CSS,如果它位于ChildPage或BasePage中,则不会产生任何影响 - 它会在同一点输入。
你拥有的CSS是非常严格的。 >
字符意味着一个直接的孩子(不是后代)。正如Draevor指出的那样,Wicket在开发模式中插入了很多额外的标记。将限制性CSS或Javascript与Wicket组件混合通常不是一个好主意。或者,应该非常小心。
我想知道,当通过子页面插入CSS时,Wicket插入的“额外”div可能会跳过?这没有意义,但这将是一个有趣的实验。
当你说你把它放在一个或另一个中时,这是否意味着你正在使用''元素? –
是的,如果我将CSS放入子样式中,它显然可以发现css规则,但我已经将CSS文件包含在父页面的wicket头部中。它不应该包含在渲染的子页面中吗? – Shahriar