如果我在一个页面上有两个层,可以分开,第二层与第一层重叠,可以让它“点击”吗?
我有第一层中的链接,第二层重叠,这阻止链接被点击.有没有办法使图层显示,但要点击,同时仍然有自己的链接可点击?
编辑:
这是一个例子,用html和样式表.
当与Layer3中的标题内联时,测试链接变得不可压缩,但在下面它们是正确的.有没有办法纠正这个?
- <title>Test</title>
- <link rel="stylesheet" href="test.css" type="text/css">
- <body>
- <div id="Layer0">
- <div id="Layer1" class="Layer1">
- <h3 align="left">Brands</h3>
- </div>
- <div id="Layer2" class="Layer2"><h1>TEST</h1>
- <div id="rightlayer">
- <a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p><a href="test">TEST></a><p>
- </div>
- </div>
- <div id="Layer3" class="Layer3"><h1>Ed Hardy Auctions</h1>
- </div>
- </div>
- </body>
- </html>
和css
- #Layer0 {
- width:100%;
- height:100%;
- }
- body {
- margin:10px 10px 0px 10px;
- padding:0px;
- color:#999999;
- font-family:"Trebuchet MS",arial,sans-serif;
- font-size:70.5%;
- }
- #Layer1 {
- position:absolute;
- left:10px;
- width:200px;
- margin-top:17px;
- font-size:1.0em;
- padding-left:12px;
- padding-top:8px;
- }
- #Layer2 {
- background:#fff;
- margin-left:199px;
- color:#000;
- }
- #rightlayer {
- float:right;
- }
- .Layer3 {
- position:absolute;
- top:67%;
- padding:20px;
- width: 100%;
- }
解决方法
如果您希望div保留在当前的x,y(最重要的是)z中,这是不可能的 – 只有“顶”层是可点击的.
附录帖子OP编辑:
想想CSS布局,就好像你正在使用一些纸张一样(如果你给所有的“layer”div)一个不同的背景颜色,这很容易可视化.渲染引擎在您找到的每个元素的尺寸上剪掉了一些纸张(或它的工作原理).它按照它遇到的顺序,将每一页纸放在页面上 – 最后一个项目将在顶部.
现在你已经告诉渲染引擎把你的第三个div放在了与第二个div重叠的位置.而现在,您希望能够“看到”涵盖的内容.不能使用纸张,不能使用HTML.因为它是透明的并不意味着它不占用空间.
所以你必须改变一些东西.
看看你的CSS和标记(诚实地可以清理,但我会假设有其他的标记,你没有告诉我们哪些是正当的)有几个简单的胜利的方式:
1).在Layer3 – z-index上设置z的z-index是如何从默认(如遇到)更改分层顺序.这只是将Layer3的整体移动到页面的其余部分之下,所以隐藏的内容会暴露出来,反之亦然,这取决于内容.
2).将宽度从100%更改为例如. 80%,或更可能给你使用pos:abs设置left:0px和right:199px; (我猜,Layer2上的padding-left是一个预期的列宽?).这样做的代价是您的Layer3不再是100%的宽度
3). Google“CSS列布局”,并找到一个反映您需要并适应的模式.可以完成的每个CSS布局已经完成了一百万次.存在解决问题的标准技术.如果您没有建立体验,CSS就很难,所以利用他人的经验.不要重新发明轮子