下拉菜单和页面转换之间的可见性冲突
Visibility Clash between Drop Down Menus and PageTransitions
我有两个似乎冲突的能力。当我移除另一个时,每个都可以完美地工作。第一个功能是一行下拉菜单。在其正下方,我正在实施 PageTransitions 库。我的问题是当它存在时我的下拉菜单不再出现。这是一个屏幕截图:
当我注释掉转换库时,下拉菜单功能完美。当我替换为常规的旧 <div>
并为其设置背景颜色时,我可以看到下拉菜单。我浏览了图书馆,并确定了 z-index 值出现的位置。库中最高的 z-index 值是 999999,所以我给下拉菜单设置了 1000000 的 z-index。仍然没有。
阻止下拉列表的 div 在 css file classes pt-page
(第 12 行)中进行了描述,pt-page-1
(第 76 行)和 pt-page-current
(第 31 行)。我尝试删除任何对背面可见性的引用,但这没有任何改变。这些是从该文件中摘录的 classes:
.pt-page {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
visibility: hidden;
overflow: hidden;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
transform-style: preserve-3d;
}
.pt-page-current,
.no-js .pt-page {
visibility: visible;
z-index: 1;
}
这是我的 html 文件中的相关代码:
<div id="innerframe">
<div id="dropdown">
<ul class="navigation">
<li><a href="#">Workout Builder</a></li>
<li><a href="#">Send Email</a></li>
<li><a href="#">Building Blocks</a>
<ul>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
<div class="clear"></div>
</li>
<li><a href="#">Other Capabilities</a>
<ul>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
<div class="clear"></div>
</li>
<li><a href="#">Help</a></li>
<li><a href="#">Log Out</a></li>
</ul> <!--navigation-->
<div class="clear"></div>
</div> <!--dropdown-->
<div class="pt-triggers">
<button id="iterateEffects" class="pt-touch-button">Show next page transition</button>
<div id="dl-menu" class="dl-menuwrapper">
</div>
<!-- /dl-menu-wrapper-->
</div><!-- /triggers -->
<div id="pt-main" class="pt-perspective">
<div class="pt-page pt-page-1"><h1><span>A collection of</span><strong>Page</strong> Transitions</h1></div>
<div class="pt-page pt-page-2"><h1><span>A collection of</span><strong>Page</strong> Transitions</h1></div>
<div class="pt-page pt-page-3"><h1><span>A collection of</span><strong>Page</strong> Transitions</h1></div>
<div class="pt-page pt-page-4"><h1><span>A collection of</span><strong>Page</strong> Transitions</h1></div>
<div class="pt-page pt-page-5"><h1><span>A collection of</span><strong>Page</strong> Transitions</h1></div>
<div class="pt-page pt-page-6"><h1><span>A collection of</span><strong>Page</strong> Transitions</h1></div>
</div>
</div> <!--innerframe-->
导航cssclass:
/* Adjusting the margins, paddings and no list styles */
.navigation {
margin:0;
padding:0;
list-style:none;
height:36px;
z-index:1000000;
}
/* Little tricking with positions */
.navigation li {
float:left; /* Show list items inline */
width:200px;
position:relative;
}
/* Playing with Main Categories */
.navigation li a {
background:#262626;
color:#aaaaaa;
display:block; /* Making sure a element covers whole li area */
padding:8px 7px 8px 7px;
text-decoration:none; /* No underline */
border-top:1px solid #73bf00;
text-align:center;
text-transform:uppercase;
}
.navigation li a:hover {
color:#73bf00;
}
/* Sub Cat Menu stuff*/
.navigation ul {
position:absolute;
left:0;
display:none; /* Hide it by default */
margin:0 0 0 -1px;
padding:0;
list-style:none;
border-bottom:3px solid #73bf00;
}
.navigation ul li {
width:200px;
float:left;
border-top:none;
}
/* Sub Cat menu link properties */
.navigation ul a {
display:block; /* Making sure a element covers whole li area */
height:15px;
padding:8px 7px 13px 7px;
color:#aaaaaa;
text-decoration:none;
border-top:none;
border-bottom:1px dashed #000000;
}
.navigation ul a:hover {
color:#73bf00;
}
抱歉所有代码。我无法确定是哪几行导致了问题。感谢任何可能会看这个的人。对此,我真的非常感激。我不知道还能去哪里。
如果您的下拉菜单隐藏在主要内容后面 div,指定 z-index
可以将它们带到顶部。
请记住,为了在元素上使用 z-index
,您还需要将定位设置为 position: relative
。
尝试将 position: relative
添加到您的 .navigation
class。
我有两个似乎冲突的能力。当我移除另一个时,每个都可以完美地工作。第一个功能是一行下拉菜单。在其正下方,我正在实施 PageTransitions 库。我的问题是当它存在时我的下拉菜单不再出现。这是一个屏幕截图:
当我注释掉转换库时,下拉菜单功能完美。当我替换为常规的旧 <div>
并为其设置背景颜色时,我可以看到下拉菜单。我浏览了图书馆,并确定了 z-index 值出现的位置。库中最高的 z-index 值是 999999,所以我给下拉菜单设置了 1000000 的 z-index。仍然没有。
阻止下拉列表的 div 在 css file classes pt-page
(第 12 行)中进行了描述,pt-page-1
(第 76 行)和 pt-page-current
(第 31 行)。我尝试删除任何对背面可见性的引用,但这没有任何改变。这些是从该文件中摘录的 classes:
.pt-page {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
visibility: hidden;
overflow: hidden;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
transform-style: preserve-3d;
}
.pt-page-current,
.no-js .pt-page {
visibility: visible;
z-index: 1;
}
这是我的 html 文件中的相关代码:
<div id="innerframe">
<div id="dropdown">
<ul class="navigation">
<li><a href="#">Workout Builder</a></li>
<li><a href="#">Send Email</a></li>
<li><a href="#">Building Blocks</a>
<ul>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
<div class="clear"></div>
</li>
<li><a href="#">Other Capabilities</a>
<ul>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
<div class="clear"></div>
</li>
<li><a href="#">Help</a></li>
<li><a href="#">Log Out</a></li>
</ul> <!--navigation-->
<div class="clear"></div>
</div> <!--dropdown-->
<div class="pt-triggers">
<button id="iterateEffects" class="pt-touch-button">Show next page transition</button>
<div id="dl-menu" class="dl-menuwrapper">
</div>
<!-- /dl-menu-wrapper-->
</div><!-- /triggers -->
<div id="pt-main" class="pt-perspective">
<div class="pt-page pt-page-1"><h1><span>A collection of</span><strong>Page</strong> Transitions</h1></div>
<div class="pt-page pt-page-2"><h1><span>A collection of</span><strong>Page</strong> Transitions</h1></div>
<div class="pt-page pt-page-3"><h1><span>A collection of</span><strong>Page</strong> Transitions</h1></div>
<div class="pt-page pt-page-4"><h1><span>A collection of</span><strong>Page</strong> Transitions</h1></div>
<div class="pt-page pt-page-5"><h1><span>A collection of</span><strong>Page</strong> Transitions</h1></div>
<div class="pt-page pt-page-6"><h1><span>A collection of</span><strong>Page</strong> Transitions</h1></div>
</div>
</div> <!--innerframe-->
导航cssclass:
/* Adjusting the margins, paddings and no list styles */
.navigation {
margin:0;
padding:0;
list-style:none;
height:36px;
z-index:1000000;
}
/* Little tricking with positions */
.navigation li {
float:left; /* Show list items inline */
width:200px;
position:relative;
}
/* Playing with Main Categories */
.navigation li a {
background:#262626;
color:#aaaaaa;
display:block; /* Making sure a element covers whole li area */
padding:8px 7px 8px 7px;
text-decoration:none; /* No underline */
border-top:1px solid #73bf00;
text-align:center;
text-transform:uppercase;
}
.navigation li a:hover {
color:#73bf00;
}
/* Sub Cat Menu stuff*/
.navigation ul {
position:absolute;
left:0;
display:none; /* Hide it by default */
margin:0 0 0 -1px;
padding:0;
list-style:none;
border-bottom:3px solid #73bf00;
}
.navigation ul li {
width:200px;
float:left;
border-top:none;
}
/* Sub Cat menu link properties */
.navigation ul a {
display:block; /* Making sure a element covers whole li area */
height:15px;
padding:8px 7px 13px 7px;
color:#aaaaaa;
text-decoration:none;
border-top:none;
border-bottom:1px dashed #000000;
}
.navigation ul a:hover {
color:#73bf00;
}
抱歉所有代码。我无法确定是哪几行导致了问题。感谢任何可能会看这个的人。对此,我真的非常感激。我不知道还能去哪里。
如果您的下拉菜单隐藏在主要内容后面 div,指定 z-index
可以将它们带到顶部。
请记住,为了在元素上使用 z-index
,您还需要将定位设置为 position: relative
。
尝试将 position: relative
添加到您的 .navigation
class。