我有一个页面名称url.com/yourfirstpage/当我转到页面时默认隐藏所有div(显示:无)
如果我们将#sec1定位为url.com/yourfirstpage/#sec1,则只显示sec1并隐藏其他内容.
我想知道我们是否在没有像url.com/yourfirstpage/这样的锚ID的情况下去了网址,它需要显示所有的div.
#sec1,#sec2,#sec3{
display:none;
}
#sec1:target{
display:block;
}
#sec2:target{
display:block;
}
#sec3:target{
display:block;
}
最佳答案
如果您能够修改HTML结构,这是一个技巧.想法是让元素可见,然后我们使用:target隐藏它们.由于我们没有先前的兄弟选择器或父选择器,因此我在父元素中使用id来选择任何元素:
原文链接:https://www.f2er.com/html/425660.html#sec1:target .page:nth-child(n+2){
display: none;
}
#sec2:target .page:nth-child(2n+1){
display: none;
}
#sec3:target .page:nth-last-child(n+2){
display: none;
}
它可以与任意数量的部分一起使用,我们可以改进CSS代码,如下所示:
#sec1:target .page:not(:nth-child(1)),#sec2:target .page:not(:nth-child(2)),#sec3:target .page:not(:nth-child(3)),#sec4:target .page:not(:nth-child(4)),#sec5:target .page:not(:nth-child(5)) {
display: none;
}