【发布时间】:2013-07-19 18:21:48
【问题描述】:
我想创建一个包含三层的菜单。 菜单应该延伸到整个屏幕宽度。
第一层是包含渐变的图像。由于菜单在宽度上拉伸,颜色的变化量/宽度取决于。它看起来像这样:
第二层看起来就像第一层,但我们说蓝色而不是红色。所以它包含相同的渐变。我想用第一个覆盖该层的部分以突出显示选定的菜单项。
第三层包含菜单项。
这是一个 jsfiddle:http://jsfiddle.net/UrVq2/9/ 以及对应的代码:
HTML:
<div id="firstLayer"></div>
<div id="secondLayer"></div>
<div id="thirdLayer">Click me</div>
CSS:
#firstLayer {
background-image:url('http://s21.postimg.org/imynbhjo7/example.jpg');
background-size: 100% 100%;
width: 100%;
height: 100px;
min-width:900px;
position:absolute;
left:0;
top:0
}
#secondLayer {
background-image:url('http://s13.postimg.org/5o17i8wwn/example2.jpg');
background-size: 100% 100%;
width: 100%;
height: 100px;
min-width:900px;
position:absolute;
left:0;
top:0
}
#thirdLayer {
position:absolute;
top: 50px;
left: 50%;
}
当菜单中的某项要突出显示时,为了使第一层渐变和第二层渐变匹配,我将第一层和第二层都拉伸到整个屏幕宽度。然后我尝试使第二层不高亮的部分透明。但是,我这样做失败了。有没有办法实现它,还是我应该采取另一种方法?
例如我已尝试关注https://stackoverflow.com/a/8422890/1419386,但由于渐变,我无法应用 1. 和 3. 建议。 2. 建议我不相信我可以申请,我希望图像中的某个点突然透明,而不是渐变到透明度。
(只是将渐变从两层中分离出来对我来说不起作用,因为它实际上也会随着它下面的颜色(红色或蓝色)扩散,所以这是一个简化的例子)。
【问题讨论】:
-
来吧,你应该知道的更好...请发布代码。
-
我会首先考虑使用 Javascript 来更改高亮/非高亮部分的 z-index。
-
不完全确定你想看到什么样的代码,但我已经为我现在使用的第 1 层和第 2 层添加了两个 div。
-
请提供 (html + css + javascript) 并且如果可能的话,提供一个像 jsFiddle 这样的工作原型。
-
上面提供了html、css和jsFiddle
标签: css html background