0

次のようなコードがあり、レイヤリングが原因でレンダリングされたリンクをクリックできなくなっていると思われます。この例のいくつかは、小さな使用例として簡単に記述できるように、外部の CSS クラスからスタイルに変換しました。これは現在、最新のブラウザー (最新の安定した FF および Chrome) でテスト中です。

<body>

<!-- whole container needs to be at z-index of -1 -->
<div id="container">

    <div class="corner" id="backgroundTopLeft"></div>
    <div class="corner" id="backgroundTopRight"></div>
    <div class="corner" id="backgroundBottomLeft"></div>
    <div class="corner" id="backgroundBottomRight"></div>

    <!-- whole container needs to be at z-index of 1 -->
    <div id="container2">

        <div id="headerSection"><img src="images/jClarity_logo.png" alt="logo" /></div>

        <div id="navigationSection">
            <a class="selected" href="#">Introduction</a><span class="menuDivider">|</span><a href="about.html">About</a>
        </div>

    </div>

</div> 
</body>

そして、CSS

@charset "utf-8";

/* Default margin, padding and font-family */
*
{
    font-family: Arial;
    margin: 0px;
    padding: 0px;
}

/* All images should have no borders by default */
img
{
    border: none;
}

/* Global styling for links, uses black as the color */
a
{
    color: #000000;
    text-decoration: none;
}

a.selected
{
    font-weight: bold;
}

a:hover
{
    color:#FF00FF;
}

#container
{
    position: relative;
    z-index: -1;
    height: 100%;
}

.corner
{
    position: absolute;
    height: 100px;
    width: 100px;
    background-color: #172944;
    z-index: -1;
}

#backgroundTopLeft
{
    top: 0px;
    left: 0px;
}

#backgroundTopRight
{
    top: 0px;
    right: 0px;
}

#backgroundBottomLeft
{
    bottom: 0px;
    left: 0px;
}

#backgroundBottomRight
{
    bottom: 0px;
    right: 0px;    
}

#container2
{
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0.8;
    filter:alpha(opacity=80);
    background-image:url('../images/groovepaper.png');
}

/* The headerSection div, designed to fit in a centered logo */
#headerSection
{
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 70px;
    padding-top: 54px;    
    height: 70px;
    width: 250px;
}

/* The navigationSection div, designed to fit in the menu */
#navigationSection
{
    padding-bottom: 15px;
    margin-left: auto;
    margin-right: auto;
    width: 600px;
    text-align: right;
}

.menuDivider
{
    color: #666666;
    padding-left: 5px;
    padding-right: 5px;
}    

すべて問題ないように見えますが (他の多くの純粋な色/フォントサイズのスタイルが適用されています)、foobar.html をクリックできません。

レイヤー化で何か間違ったことをしたと確信していますが、z-indices を使用すると解決できると思いました..

4

1 に答える 1

3

正常に動作しているhttp://jsfiddle.net/hPkTu/、問題がIE8にある場合は、z-index:1を使用します。IE8は、z-indexのこの特定の問題にバグがあることが知られています。

更新あなたはあなたの質問を変更しました、これがあなたの更新された問題の動作中のjsFiddleですhttp://jsfiddle.net/VjTXu/2/。コンテナのz-indexをOに変更しました。-1はそれを本体の下に配置していました。そのため、リンクはクリックできませんでした。

于 2012-07-01T19:01:24.087 に答える