【问题标题】:mega drop down menu clashes with background picture大型下拉菜单与背景图片冲突
【发布时间】:2015-09-12 10:00:04
【问题描述】:

我已经建立了一个大型下拉菜单

问题是它与主页上的背景图像和 div 冲突

我已将我的代码副本放在小提琴上,并会就如何解决这个问题提出任何建议:mega Drop down menu

#menu {
    list-style:none;
    width:1100px;
    margin:30px auto 0px auto;
    height:43px;
    padding:0px 20px 0px 20px;

    background: #014464;
    background: -moz-linear-gradient(top, #0272a7, #013953);
    background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#0272a7), to(#013953));


}

#menu li {
    float:left;
    display:block;
    text-align:center;
    position:relative;
    padding: 4px 10px 4px 10px;
    margin-right:30px;
    margin-top:7px;
    border:none;
    width: 7em;
}

.home-panel {
    color: #686767;
    padding: 0;
    margin: 0;
    font-family: "open-sans", "Open Sans", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    position: relative;
    cursor: default;
}

.home-panel {
    background: rgba(0, 0, 0, 0) url("wallpaper.jpg") no-repeat scroll center center / cover;
    position: relative;
}

更新:

rachel gallen VERSION of mega drop

大家好,rachel Gallen 向我展示了如何使用 Z-index 解决问题。

我唯一的问题是,在瑞秋的版本中,她在下拉菜单中没有间隙。我的版本有差距。我想知道瑞秋是怎么做到的——我显然希望复制这一点。

第二次更新:

我现在遇到的问题是下拉菜单中的空白。

firstExample

我听从了@ThomasBaumgartner 的建议

是由您的#menu li 声明中的固定宽度 7em 引起的。如果 可能删除“宽度:7em”并添加“空白:nowrap”

problems caused by removing width

但这导致蓝色背景推到最左边——它也使主页下拉菜单脱离了它的 div

我非常感谢任何建议。

【问题讨论】:

  • 它向左移动,因为它有 float:left。它比以前更向左移动,因为它不再被任何出血菜单项阻止。你的小提琴对我不起作用 - 缺少 css。
  • margin-top:7px 导致了差距。删除它并从那里工作
  • 嗨,Thomas,我将正确的文件放在由删除导致的问题下。请再次单击该链接;jsfiddle.net/TheSearcher/v18zhj41
  • .home-panel .intro-signup { background-color: #034888;浮动:无;边距:0 自动;上边距:1px; } 如果您希望登录表单水平居中; padding-top 可以防止标题边距移动到你的盒子里。如果您不喜欢填充,另一种实现此目的的方法是将标题 margin-top 设置为 0。jsfiddle.net/5su9uc4b/5

标签: html css


【解决方案1】:

将 z-index 属性添加到您的菜单飞出。

.dropdown_1column, 
.dropdown_2columns, 
.dropdown_3columns, 
.dropdown_4columns, 
.dropdown_5columns {
    ...
    z-index: 1; /* or higher, depending other layers you might use */
    ...
}

【讨论】:

    【解决方案2】:

    我在以下代码中添加了z-index:50;

    .dropdown_1column, 
    .dropdown_2columns, 
    .dropdown_3columns, 
    .dropdown_4columns,
    .dropdown_5columns {
        margin:4px auto;
        position:absolute;
        left:-999em; /* Hides the drop down */
        text-align:left;
        padding:10px 5px 10px 5px;
        border:1px solid #777777;
        border-top:none;
        z-index:50; 
        /* Gradient background */
        background:#F4F4F4;
        background: -moz-linear-gradient(top, #EEEEEE, #BBBBBB);
        background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#EEEEEE), to(#BBBBBB));
    

    瞧!

    【讨论】:

    • 你好,瑞秋。非常感谢你做的这些。将 Z-index 添加到 div 是否合适?我认为 z-index 仅指图像的堆叠顺序
    • 不,它是指您希望事物出现在页面上的顺序,因此将其应用于 div 就可以了
    • @Paul:z-index 适用于所有定位元素(绝对/相对/固定)顺便说一句:在您的示例中,您需要这样做只是因为主面板中的相对定位元素
    • 嘿,瑞秋和大家。我现在知道了。快速提问大家。当我单击查找托儿所的下拉列表时,下拉列表中有一个空白。我很困惑是什么原因造成的
    • 对不起。我的意思是在我的下拉菜单中。不是雷切尔。我正在努力弄清楚瑞秋是如何阻止差距出现的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多