0

ページ全体に半透明の背景画像を作成し、残りのコンテンツをその上に重ねて表示しようとしています (不透明)。ただし、div をレイヤー化しようとすると、pagecontent も半透明になります。z インデックスを切り替えてみましたが、何も変わりません。

ここに2つの関連するスタイルがあります

#backgroundImage
{
    background-image: url('/Images/background.jpg');
    background-size: 100%;
    opacity: 0.5;
    height: 100%;
    width: 100%;
    position: absolute;
    z-index: 1;
}

#PageWrapper
{
    z-index: 2;
}

ここにページのマークアップがあります

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Frontend.master.cs" Inherits="PTMS.MasterPages.Frontend" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">
    <title></title>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
    <link href="../Styles/Styles.css" rel="stylesheet" type="text/css" />
</head>

<body>    
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True">
            <Scripts>
                <asp:ScriptReference runat="server" Path="~/Scripts/jquery-1.4.1.min.js"/>
            </Scripts>
        </asp:ScriptManager>
        <div id="backgroundImage">
        <div id="PageWrapper" >
            <div id="Header">
                <asp:SiteMapPath ID="MainMenuSiteMapPath" runat="server"></asp:SiteMapPath>
            </div>
            <div id="RightSide">
                <UserControls:Sidebar ID="RightSidebar" runat="server" />
            </div>
            <div id="LeftSide">
                <UserControls:Navbar ID="LeftSidebar" runat="server" />
            </div>
            <div id="MainContent">                
                <asp:ContentPlaceHolder ID="cpMainContent" runat="server">        
                </asp:ContentPlaceHolder>
            </div>

            <div id="Footer">
                <asp:LoginName ID="LoginName1" runat="server" FormatString="Logged in as {0}" />
                <LoggedInTemplate>
                    (<asp:LoginStatus ID="LoginStatus1" runat="server" />)
                </LoggedInTemplate>
            </div>
        </div>
        </div>
    </form>
</body>

</html>
4

2 に答える 2

0

問題を解決しました。backgroundImage div の終了タグを移動して、PageWrapper div をラップしないようにし、backgroundImage div の不透明度を設定して position: absolute; を追加しました。私のPageWrapperに。

于 2013-02-20T02:33:10.120 に答える
0

z-indexを機能させるには、も必要ですposition: absolute, relative, or fixed

したがって、PageWrapperスタイルにはこの位置の値が含まれていないため、機能しません。

また、backgroundImage レイヤーは単独である必要があり、pageWrapper がその中にあることはできません。

最終結果を参照してください: http://jsfiddle.net/EnUaK/

于 2013-02-20T02:22:12.113 に答える