1

我有一个用 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;}
4

4 回答 4

1

正如 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,并控制网站上每个页面的特定男性更改。

于 2012-01-02T15:45:25.400 回答
1

为该页面提供ID您的bodythen 定义。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}
于 2012-01-02T07:01:52.847 回答
0

你也可以在上面使用类。

 <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) 类中使用背景

于 2012-01-02T07:22:28.570 回答
0

制作第二个包装器(仅在您的主页上),其 id 为“homepage_wrapper”,并使用 CSS 为其设置背景。

于 2012-01-02T06:57:28.667 回答