2012-01-02 182 views
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;} 

回答

1

正如Purmou提到的,这些方法都将工作,因为的Joomla从模板中使用相同的index.php,让每个网页的网站将包括CSS类或ID,如果你在那里编写它。

幸运的是,的Joomla把这个在考虑,你可以很容易地做你正在尝试用一个简单的MOD到您的模板做。 Joomla使用所谓的页面类后缀来让你制作页面特定的CSS。每次创建菜单项时,都可以选择包含仅添加到该菜单项中页面的页面类后缀。为了把该后缀在身体标记,以便你能达到什么你正在尝试做的,在你的模板的代码添加到您的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,并针对网站上的每个页面进行男性更改。

+0

谢谢布伦特,这是我想要的,因为这是真正聪明的答案。 – RoyalEnfy 2012-01-03 05:39:11

0

拨打第二包装(只在您的主页),其中有 “homepage_wrapper” 的ID,并使用CSS设置那个背景。

+0

如何只在网页上设置第二包装? – RoyalEnfy 2012-01-02 07:15:42

1

在您的body处给ID,然后为该页定义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} 
+0

但这个css在每个页面都会保持不变,意味着每个页面都会保留背景图片。可以请你解释一下 – RoyalEnfy 2012-01-02 07:17:27

+0

背景图像仅在#wrapper指定 – sandeep 2012-01-02 08:02:31

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指定),将覆盖。家里类属性的背景,所以请确保您将使用在后台(。家里)类

+0

我使用Joomla意味着CSS将保持在每一页相同#home页面,意味着背景图像将保留在每一页上。你能解释一下你的想法来改变背景图片吗? – RoyalEnfy 2012-01-02 07:30:26

+0

您只能将此课程放在主页上。 不要把这个类放在外部文件中 – 2012-01-02 07:32:56

+0

我不能把这个类只放在主页上,因为这个包装不是这个部分的主容器,我想要适合分辨率的背景图像,主容器只有960像素的宽度。那么我怎样才能在主容器中使用外包装。希望你能理解。 – RoyalEnfy 2012-01-02 08:55:07