我想只在主页上隐藏一个类。
<div class="search-wrapper">
.search-wrapper {
background: none repeat scroll 0 0 #3d4895;
height: 50px;
margin-top: 10px;
width: 100%;
}
所以这必须在所有页面上显示。除了首页。我就是搞不懂。
我已经创建了HOME PAGE菜单项来拥有一个页面类,但是仍然不能仅在主页上针对. search -wrapper。
如果可能的话,让您想要隐藏模块的部分,并在模板中设置适当的模块区域。这样,您可以将它分配给除了主页以外的所有页面。这种方法的好处是页面不会大量生成不必要的隐藏内容。
如果不这样做,请将以下内容添加到模板中:
<?php
$pageclass="";
$app = JFactory::getApplication();
$menu = $app->getMenu();
if ($menu->getActive() == $menu->getDefault()) {
$pageclass="homepage";
}
?>
然后,在body标签中…
<body class="<?php echo $pageclass; ?>">
这将在主页的body标签中添加一个类"主页"。然后,样式可以像这样添加到主页…
.homepage .search-wrapper {
display:none;
}
不需要javascript
您必须使用jquery,使用以下行:
//Here you check if the user is on the homepage
$app = JFactory::getApplication();
$menu = $app->getMenu();
if ($menu->getActive() == $menu->getDefault()) {
//This line makes it hide the class
$('.search-wrapper').css('display','none');
}
最简单的方法—创建一个只发布到主页的自定义HTML模块。扩展->模块管理器->新建->自定义HTML
在该模块中,切换到代码视图而不是所见即所得编辑器,并创建一个样式'块'。你所需要做的就是使用一个更具体的CSS规则来否决样式表中的CSS。
假设你的样式表目前只引用了一个类,那么在选择器前加上任何父容器中一个元素的id会更"具体"。
<style type="text/css">
#some-id .search-wrapper {display:none;}
</style>
显然将'some-id'替换为父/祖父母/等元素的实际id