CSS:除非我在 IE8 中指定背景颜色,否则超链接框不可单击

发布于 2024-09-15 23:39:53 字数 3442 浏览 2 评论 0原文

我正在尝试制作一个 256x256px 透明可点击框,位于 3 层之上,可以打开/关闭(只是状态显示)。我给 3 层的 z 索引为 -1,超链接框的 z 索引为 5,所以它应该位于顶部。这段代码在 Chrome 和 Firefox 中运行良好。奇怪的是,如果我为状态链接设置背景颜色,它就会显示并且可以单击。这是我的 CSS 文件:

.layer{position: absolute;left: 0px;top: 0px;z-index: -0;}
.map{position: absolute;left: 0px;top: 0px;z-index: 1;}
.headerarea{height: 200px; width: 100%; }
.header{ position: relative; text-align: center; width: 100%; }
.bodyarea{position: relative; width: 100%; height: 1000px;}
#logo1{float: left;border: 1px solid #dcdce9;}
#logo2{float: right;border: 1px solid #dcdce9;}
.roomlist ul{list-style: none; padding: 0;margin: 0; position: relative; }
.roomlist li{margin: 0 0.15em; float: left; position: absolute;}
#floor1{left: 0px;top: 0px;}
#floor2{left: 300px;top: 0px;}
.statuslink{ position: absolute; top: 30px; height: 256px; width: 256px; z-index: 5;}
.statusimg{position: absolute;left: 0px;top: 30px;z-index: -0; }
.menu{width:30em;position: absolute;left: 860px;top: 20px;}
.menu ul{list-style: none;padding: 0;margin: 0;}
.menu li{margin: 0 0.15em;}
.menu li a{background-color: white;height: 5em;line-height: 5em;width: 15em;display: block;border: 1px solid #dcdce9;color: #0d2474;text-decoration: none;text-align: center;}
.menu li a:hover{background-color: #dcdce9;height: 5em;line-height: 5em;width: 15em;display: block;border: 1px solid black;color: #0d2474;text-decoration: none;text-align: center;}
#loading {width: 300px;height: 100px;background-color: white;position: absolute;left: 20%;top: 40%;text-align: center;border: 4px solid #999999;z-index: 10;}
img{  border-style: none;}
body { font-family: Verdana; }
.led{position: absolute;}

这是我的 HTML:

9.<div class="bodyarea">
10.        <div class="roomlist">
11.                <ul>
12.                        <li id="floor1"><b>Floor 1</b><br />
13.                        <a class="statuslink" href="C51a-bld.htm"></a>
14.                        <div class="statusimg" id="f1okon">
15.                                <img src="ok_on.gif" /></a>
16.                        </div>
17.                        <div class="statusimg" id="f1okoff">
18.                                <img src="ok_off.gif" /></a>
19.                        </div>
20.                        <div class="statusimg" id="f1fail">
21.                                <img src="fail.gif" /></a>
22.                        </div>
23.                        </li>
24.                        <li id="floor2"><b>Floor 2</b><br />
25.                        <a class="statuslink" href="C52a-bld.htm"></a>
26.                        <div class="statusimg" id="f2okon">
27.                                <img src="ok_on.gif" /></a>
28.                        </div>
29.                        <div class="statusimg" id="f2okoff">
30.                                <img src="ok_off.gif" /></a>
31.                        </div>
32.                        <div class="statusimg" id="f2fail">
33.                                <img src="fail.gif" /></a>
34.                        </div>
35.                        </li>
36.                </ul>
37.        </div>
38.</div>

请有人指导我正确的方向。我的CSS知识很薄弱。

I'm trying to make a 256x256px transparent clickable box thats on top of 3 layers which toggle on/off (just a status display). I gave the 3 layers a z-index of -1 and the hyperlink box a z-index of 5, so it should be on top. This code works fine in chrome and firefox. The strange thing is if I set a background-color for statuslink it displays and is clickable. This is my CSS file:

.layer{position: absolute;left: 0px;top: 0px;z-index: -0;}
.map{position: absolute;left: 0px;top: 0px;z-index: 1;}
.headerarea{height: 200px; width: 100%; }
.header{ position: relative; text-align: center; width: 100%; }
.bodyarea{position: relative; width: 100%; height: 1000px;}
#logo1{float: left;border: 1px solid #dcdce9;}
#logo2{float: right;border: 1px solid #dcdce9;}
.roomlist ul{list-style: none; padding: 0;margin: 0; position: relative; }
.roomlist li{margin: 0 0.15em; float: left; position: absolute;}
#floor1{left: 0px;top: 0px;}
#floor2{left: 300px;top: 0px;}
.statuslink{ position: absolute; top: 30px; height: 256px; width: 256px; z-index: 5;}
.statusimg{position: absolute;left: 0px;top: 30px;z-index: -0; }
.menu{width:30em;position: absolute;left: 860px;top: 20px;}
.menu ul{list-style: none;padding: 0;margin: 0;}
.menu li{margin: 0 0.15em;}
.menu li a{background-color: white;height: 5em;line-height: 5em;width: 15em;display: block;border: 1px solid #dcdce9;color: #0d2474;text-decoration: none;text-align: center;}
.menu li a:hover{background-color: #dcdce9;height: 5em;line-height: 5em;width: 15em;display: block;border: 1px solid black;color: #0d2474;text-decoration: none;text-align: center;}
#loading {width: 300px;height: 100px;background-color: white;position: absolute;left: 20%;top: 40%;text-align: center;border: 4px solid #999999;z-index: 10;}
img{  border-style: none;}
body { font-family: Verdana; }
.led{position: absolute;}

And this is my HTML:

9.<div class="bodyarea">
10.        <div class="roomlist">
11.                <ul>
12.                        <li id="floor1"><b>Floor 1</b><br />
13.                        <a class="statuslink" href="C51a-bld.htm"></a>
14.                        <div class="statusimg" id="f1okon">
15.                                <img src="ok_on.gif" /></a>
16.                        </div>
17.                        <div class="statusimg" id="f1okoff">
18.                                <img src="ok_off.gif" /></a>
19.                        </div>
20.                        <div class="statusimg" id="f1fail">
21.                                <img src="fail.gif" /></a>
22.                        </div>
23.                        </li>
24.                        <li id="floor2"><b>Floor 2</b><br />
25.                        <a class="statuslink" href="C52a-bld.htm"></a>
26.                        <div class="statusimg" id="f2okon">
27.                                <img src="ok_on.gif" /></a>
28.                        </div>
29.                        <div class="statusimg" id="f2okoff">
30.                                <img src="ok_off.gif" /></a>
31.                        </div>
32.                        <div class="statusimg" id="f2fail">
33.                                <img src="fail.gif" /></a>
34.                        </div>
35.                        </li>
36.                </ul>
37.        </div>
38.</div>

Can someone guide me in the right direction please. My css knowledge is very weak.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

抠脚大汉 2024-09-22 23:39:53

看起来您的 链接位于绝对定位的 div 之外。当 Div 重新定位它们时,链接不知道去哪里。

另外,您似乎还有一些额外的 标签。比较下面的源代码以查看更改。

<div class="bodyarea">
        <div class="roomlist">
                <ul>
                        <li id="floor1"><b>Floor 1</b><br />                        
                            <div class="statusimg" id="f1okon"><a class="statuslink" href="C51a-bld.htm"><img src="ok_on.gif" /></a></div>
                            <div class="statusimg" id="f1okoff"><a class="statuslink" href="C51a-bld.htm"><img src="ok_off.gif" /></a></div>
                            <div class="statusimg" id="f1fail"><a class="statuslink" href="C51a-bld.htm"><img src="fail.gif" /></a></div>
                        </a>
                        </li>
                        <li id="floor2"><b>Floor 2</b><br />
                        <a class="statuslink" href="C52a-bld.htm">
                            <div class="statusimg" id="f2okon"><img src="ok_on.gif" /></div>
                            <div class="statusimg" id="f2okoff"><img src="ok_off.gif" /></div>
                            <div class="statusimg" id="f2fail"><img src="fail.gif" /></div>
                        </a>
                        </li>
                </ul>
        </div>
</div>

It looks like you have your <a> links outside of your absolutely positioned div. When the Div reposition them self the links don't know where to go.

Also it looks like you have some extra </a> tags. Compare source below to see changes.

<div class="bodyarea">
        <div class="roomlist">
                <ul>
                        <li id="floor1"><b>Floor 1</b><br />                        
                            <div class="statusimg" id="f1okon"><a class="statuslink" href="C51a-bld.htm"><img src="ok_on.gif" /></a></div>
                            <div class="statusimg" id="f1okoff"><a class="statuslink" href="C51a-bld.htm"><img src="ok_off.gif" /></a></div>
                            <div class="statusimg" id="f1fail"><a class="statuslink" href="C51a-bld.htm"><img src="fail.gif" /></a></div>
                        </a>
                        </li>
                        <li id="floor2"><b>Floor 2</b><br />
                        <a class="statuslink" href="C52a-bld.htm">
                            <div class="statusimg" id="f2okon"><img src="ok_on.gif" /></div>
                            <div class="statusimg" id="f2okoff"><img src="ok_off.gif" /></div>
                            <div class="statusimg" id="f2fail"><img src="fail.gif" /></div>
                        </a>
                        </li>
                </ul>
        </div>
</div>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文