仅在一页上固定标题

时间:2014-05-17 09:27:21

标签: html css wordpress

我有一个固定的导航(主页上的标题。我使用的是wordpress,因此这个固定的标题位于header.php中我不希望固定的标题也可以在其他页面上使用。我该怎么做:< / p>

这是我申请的风格:

#header, #footer{
        position:fixed;
        display:block;
        width: 100%;
        background: #05556d;
        z-index:9;
        text-align:center;
        color: #f2f2f2;
    }

    #header{
        top:0px;
    }
    #footer{
        bottom:0px;
        padding:10px 0px;
        font-size:12px;
    }

我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:2)

查看body元素上添加的类。有多个类,并且与使用的模板,当前页面等不同。

使用其中一个来调整标题上的position css属性。

#header, #footer{
    display:block;
    width: 100%;
    background: #05556d;
    text-align:center;
    color: #f2f2f2;
}
#footer{
    padding:10px 0px;
    font-size:12px;
}
.homeClass #header, .homeClass #footer{
    position:fixed;
    z-index:9;
}
.homeClass #header{
    top:0px;
}
.homeClass #footer{
    bottom:0px;
}

如果您看不到其他类,可以在functions.php中添加一个conditionnaly:

add_filter('body_class','custom_body_class');

function custom_body_class($classes) {
    if(YOUR_ISHOMEPAGE_CONDITION) $classes[] = 'homeClass';
    return $classes;
}

<强> [编辑]

查看暂存版本,我看到你的主题没有为身体添加任何课程。查看header.php并找到开始body标记。如果它没有class属性,则添加

<body <?php body_class(); ?>>

同时

page-js.js中的代码在每个页面上调用jQuery fullPage插件。你应该编辑它,以便在调用fullPage之前检查body类,如下所示:

if(!$('body').hasClass('home')){
    $('#fullpage').fullpage({...});
}

答案 1 :(得分:2)

使用CSS

主体类应该是主页上的.home。因此,您可以通过将.home添加到样式中来固定主页而不是其他页面:

.home #header, .home #footer{
    position:fixed;
    ...
}

或者@Armel回答,或许这个类因模板/主题而异。您应该能够使用浏览器开发人员工具进行调查,并将.home替换为最终的类。

可能需要反过来声明所有其他#header和#footer元素都设置为position: static,并且可能需要声明覆盖其他样式很重要:position: static !important

使用WordPress PHP函数

或者,您可以使用WordPress的is_front_page()函数在header.php中创建自己的类。添加一个类,甚至只是有条件地添加样式。