对于模糊的标题,我很抱歉,我无法在一行中描述我的问题。问题是关于页面标题,它是从公共后端模板生成的,这是
<h2 class='page-title'> {title} </h2>
其中{title}由应用程序动态生成。所以我会在同一个模板生成的网站的每个页面上都有一个。
<h2 class='page-title'>About</h2>
<h2 class='page-title'>Service</h2>
<h2 class='page-title'>Home</h2>
我想要做的是,从3.主页隐藏它,但让它使用CSS或Javascript显示在所有其他页面上。我愚蠢地尝试了h1 {display:none}
,但这只是隐藏了一切,我只想隐藏<h2 class='page-title'>Home</h2>
关于如何做到这一点的任何想法?
答案 0 :(得分:3)
使用后端代码为主页标题指定特定ID,或在主页本身使用页内css:
h2.page-title {
display:none;
}
答案 1 :(得分:1)
您需要在主页上添加一个样式,或者有一个表示您当前正在查看主页的类:
h2.page-title
是选择元素的非常具体的方式,但它会影响所有页面。
.page-title
就可以工作。
如果您在身体上使用课程,则可以执行以下操作:
body.frontpage h2.page-title
或body.frontpage .page-title
取决于您希望的具体方式。
我建议尽可能通用,以避免特异性问题。
答案 2 :(得分:1)
我会给你的<html>
元素一个id(每页唯一):
<html id='{pageid}'>
...
<h2 class='page-title'> {title} </h2>
...
</html>
然后使用选择器
#home .page-title { display: none }
答案 3 :(得分:1)
如果您有CMS或类似的东西,将内容转储到单个模板中,那么我认为您最好使用javascript。我不知道css中的选择器是否为元素的innerText。
我经常使用jquery库 - 我会建议像:
$(document).ready(function() {
$("h2.page-title:contains('Home')").css('display', 'none');
}
答案 4 :(得分:1)
最好通过用于动态生成此语言的服务器端语言来完成,只需添加条件,如果页面为“Home”,则不输出任何内容。
如果这不是你的选择,我会建议Mel的方式,因为它只会工作,而且不需要javascript。
另外我认为Mel的代码应该高于你想要隐藏的h2,并包含在<style></style>
标签中。