我有一个用 Joomla 1.7 开发的网站。我想只在主页而不是其他页面上保留背景图片。
代码是这样的。
HTML
<body>
<div id="wrapper">
all content goes here
</div>
</body>
CSS
body{margin:0px; padding:0px;}
#wrapper{background:url(../images/bg-img.jpg) repeat-x;}
正如 Purmou 所提到的,这些方法都不起作用,因为 Joomla 使用模板中的相同 index.php,因此如果您在其中编写代码,网站上的每个页面都将包含 CSS 类或 ID。
幸运的是,Joomla 考虑到了这一点,您可以通过对模板的简单 mod 轻松地做您想做的事情。Joomla 使用所谓的页面类后缀来允许您制作特定于页面的 CSS。每当您创建菜单项时,您都可以选择包含页面类后缀,该后缀只会添加到该菜单项内的页面中。为了将该后缀放在 body 标记中以便您可以实现您想要做的事情,请将此代码添加到模板中的 index.php 中:
<?php
$app = JFactory::getApplication('site');
$params = & $app->getParams('com_content');
$pageclass = trim($params->get('pageclass_sfx'));
?>
<body id="<?php echo $pageclass ? $pageclass : 'default'; ?>">
如果将页面类后缀添加到菜单项,它将作为正文标记 ID 插入。如果你不这样做,它将使用“默认”代替。通过这种方式,您可以按页面控制正文的 ID,并控制网站上每个页面的特定男性更改。
为该页面提供ID
您的body
then 定义。css
像这样:
HTML:
<body id="home">
<div id="wrapper">
all content goes here
</div>
</body>
CSS:
#home #wrapper{background:url(../images/bg-img.jpg) repeat-x;}
#wrapper{background:red}
你也可以在上面使用类。
<body>
<div id="wrapper" class="home">
all content goes here
</div>
</body>
CSS:
#wrapper{}
.home {background:url(../images/bg-img.jpg) repeat-x;}
如果您将在 (#wrapper) 上使用背景,这将覆盖 .home 类属性,因此请确保您将在 (.home) 类中使用背景
制作第二个包装器(仅在您的主页上),其 id 为“homepage_wrapper”,并使用 CSS 为其设置背景。