我的目标:
使用:target伪类相对容易,只显示我正在查看的页面(div {display: none} :target {display: block}
)。
我想添加两个改进:
#
之后的内容)时显示的主页面。我使用空div和兄弟选择器创建了一个解决方案。目标元素(ID在URL片段标识符中的元素)是一个空div target
,然后我的CSS说#target1 ~ #page1 { ... } #target1 ~ #link1 { ... }
。有关完整示例,请参阅此Fiddle;请注意,在点击导航栏中的链接后,后退和前进浏览器按钮可以合理地预期(我不认为可以使用jsfiddle演示深层链接)。
此解决方案有三个缺点:
:target
和后退按钮(另请参阅此Webkit bug)。我的问题是,有没有更好的方法去做我想做的事情?我略微偏爱没有JavaScript(主要是因为这使深层链接更明显正确)。
答案 0 :(得分:1)
new Navigo(null, false)
.on(/target(.)/, function(x) {
$('.active').removeClass('active');
$('#page'+x).addClass('active');
$('#link'+x).addClass('active');
})