在flex-element上定位a:target :: before不起作用

时间:2018-12-07 17:35:13

标签: html css css3 flexbox

在几种设计中,我有position:fixed导航栏。

当我选择页面中的锚点时,就会出现问题。页面滚动到:target(ed)元素。 由于导航栏固定,目标被部分隐藏(在码笔中为 Link1

作为解决方法,我使用了一个推到:target::before上方的:target。结果,当我选择锚点时,页面将滚动到:target::before::target会被向下推一点,并且不会被导航栏覆盖。 (codepen中的 link2 )。

这很好用……除非锚定元素是柔性的(使用display:flex)。

无论我尝试什么,当我选择锚点时,页面都会滚动到弹性框,而不是::before

我可以防止这种情况吗?

链接:https://codepen.io/lehollandaisvolant/pen/JOOQeq

1 个答案:

答案 0 :(得分:0)

好吧,经过一些广泛的尝试,我在一个父盒子上使用了它。父箱必须具有#id,以便将实际箱推入导航栏下方:

padding-top: 100px;
margin-top: -100px;

这不理想,但是可以做到。