我正在尝试使用 CSSclip
和clip-path
属性来显示单页网站布局的浮动寻呼机导航。我试图让导航根据它是在深色还是浅色背景上更改颜色。您可以在http://dannymcgee.net/redesign中查看 Firefox 中的预期结果。我还在http://dannymcgee.net/dev/clipnav-prototype/上使用更简洁、更轻量级的代码复制了导航和容器,以进行故障排除。
这是为具有不同背景颜色的每个部分构建标记的方式:
<section>
<div class="clipper">
<ul class="nav">
...
</ul>
</div>
<article class="content">
...
</article>
</section>
section
每次背景变化时都会重复这一过程。每个section
都是相对定位的。的.clipper
样式如下:
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 300px;
clip: rect(auto,auto,auto,auto);
clip-path: inset(0 0 0 0);
剪纸器的.nav
内部是position: fixed
从页面顶部开始的,并且有backface-visibility: hidden
.
该效果基本上与我在 Firefox 中的效果完全一样,但在 Chrome 和 IE 中存在问题。在 Chrome 中,背景图像的行为很奇怪,并且导航在第一部分之后无法交互。在 IE 中,导航根本不会出现在第一部分之后。我已经看到这个完全相同的设置在 Chrome 和 IE 中正常工作(实际上,我在一个旧的 StackOverflow 线程上找到了我无法评论的链接),所以我知道这是可能的,我只是不知道是什么他们做的不一样。如果我能找到某种 shim Javascript 或 jQuery 解决方案,我会非常满意,但这似乎是一个非常不寻常的案例场景,我什至不知道从哪里开始寻找。