当添加具有绝对位置的div时,无法单击链接

ren*_*thy 24 html css

我在页面上有菜单,div是绝对定位的.问题是当这个div在页面上时,我无法点击菜单项中的任何链接.

当我删除这个div(#left_border)时,可以再次点击链接.

为什么?

CSS:

 #left_border {
    background-image: url(http://tax.allfaces.lv/templates/tax/images/ena.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    width: 1094px;
    background-size: 100% auto;
    position: absolute;
    height: 850px;
    left: -51px;
   top: 0px;
}  
Run Code Online (Sandbox Code Playgroud)

HTML:

<div id="wrapper">
<div id="content">
    <div id="left_border"></div>
    <div id="left">
        <div id="menu">
            <ul class="menu">
                <li class="item-101 current active deeper parent"><a href="/">Home</a>

                    <ul>
                        <li class="item-107"><a href="/index.php/home/news">News</a>

                        </li>
                    </ul>
                </li>
                <li class="item-102 deeper parent"><a href="/index.php/merchants-shops">Merchants / Shops</a>
                </li>                    
            </ul>
        </div>
    </div>       
</div>
Run Code Online (Sandbox Code Playgroud)

在这里,您看到,您无法单击菜单项:http://jsfiddle.net/Dq6F4/

Kam*_*ski 28

CSS - 取消阻止点击添加到#left_border类以下语句:

pointer-events: none 
Run Code Online (Sandbox Code Playgroud)

(这是包括> = IE11的跨浏览器解决方案)

以下是具有更多信息的此解决方案的来源.我测试了它在chrome,firefox和safari(macOs和iOS)上工作:)

  • 截至 2019 年,这是我找到的最佳解决方案。 (3认同)
  • 我他妈爱你!谢谢你! (2认同)
  • 这是互联网上最好的解决方案..有人给这个人一个奖 (2认同)

Nit*_*esh 21

添加一个z-index:-1;这将允许单击链接.由于The Div绝对位于链接上,因此不允许点击.

 #left_border {
    background-image: url(http://tax.allfaces.lv/templates/tax/images/ena.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    width: 1094px;
    background-size: 100% auto;
    position: absolute;
    height: 850px;
    left: -51px;
   top: 0px;
    z-index:-1;
}  
Run Code Online (Sandbox Code Playgroud)

这是相同的工作解决方案.

希望这可以帮助.

  • 虽然这在几年前可能有效,但现在该解决方案不再适用。`z-index: -1` 是一个 hack,随着时间的推移,使用它永远不会起作用。正如您今天所看到的,带有“z-index:-1”的元素不再显示在 Chrome 中。首选解决方案是“pointer-events: none”。 (3认同)
  • 我可以支持@Kevin Ghadyani。我的问题实际上是由“z-index:-1”引起的。请不要使用负的“z-index”。它会带来更多的头痛,而不是解决问题。 (2认同)

Sac*_*hin 5

添加position:relative#menu

#menu
{
    position:relative;
}
Run Code Online (Sandbox Code Playgroud)

JS小提琴演示


Adi*_*mar 5

将 z-index:1 放在具有绝对属性的组件上。

例如:

function myFunction() {
  document.getElementById("print").innerHTML = "Hello World";
}
Run Code Online (Sandbox Code Playgroud)
.custcontainer {
    position: relative;
    
}
.custcontainer .like {
    position: absolute;
    top: 18%;
    left: 10%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);

    cursor: pointer;
    font-size:30px;
    text-align: center;
    z-index: 1;
}
Run Code Online (Sandbox Code Playgroud)
<div class="custcontainer">
  <P id="print"></p>
  <button onclick="myFunction()" class="like">like</button>
  <img src="https://www.crownplumbing.co/wp-content/uploads/2015/07/placeholder.gif"/>
</div>
Run Code Online (Sandbox Code Playgroud)