我正在嘗試製作一個巨大的菜單,它將是#header的寬度,並且居中居中。標題的最大寬度爲1024px。但是,下拉菜單始終在父li的邊緣開始。我設法用利潤率來破解它,但這不是一個永久的解決方案。爲了解決這個問題,我刪除了邊距。調整兆豐菜單的頁面寬度並居中
HTML
<header>
<div id="header">
<div class="row">
<div class="medium-3 columns">
<div id="logo">
<a href="#"><img alt="logo" src="http://dummyimage.com/174x114/828282/0011ff.png"/></a>
</div>
</div>
<div class="medium-7 columns">
<ul class="nav clearfix animated">
<li class="border-half"><a href="#">Home</a></li>
<li class="border-half">
<a href="#">Series</a>
<div class="mega-container1">
<div style="width: 1000px; height: 290px;"></div>
</div>
</li>
<li class="border-half"><a href="#">Members</a>
<div class="mega-container2">
<div style="width: 1000px; height: 290px;"></div>
</div>
</li>
<li class="border-half">
<a href="#">About</a>
<div class="mega-container3">
<ul style="width: 1000px; height: 290px;">
<li><a href="#">Who We Are</a></li>
<li><a href="#">Why We Care</a></li>
<li><a href="#">Some other page</a></li>
<li><a href="#">How We Work</a></li>
</ul>
</div>
</li>
<li class="border-half"><a href="#">Contact Us</a></li>
</ul>
</div>
<div class="medium-2 columns">
</div>
</div>
</div>
</header>
CSS
body {font-size: 16px; background: #cacaca;}
#wrapper{width: 100%; height: 100%; padding: 0; margin: 0; background: #cacaca;}
header {width: 100%; max-height: 7.188em; background: #fff; border-bottom: 0.063em solid $header-border; z-index: 1;}
#header{max-width: 1024px; height: 7.125em; margin: 0 auto; padding: 0; background: #cdecde}
#logo {max-width: 10.875em; max-height: 7.125em; float: left; background: #eee;}
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}
.nav {
background: #cdecde;
max-width: 500px;
height: 114px;
}
.nav li { list-style: none; }
.nav > li { padding: 0; float: left; position: relative; }
.nav > li > a {
float: left;
color: $body-font-color;
font-size: $paragraph-font-size;
text-decoration: none;
line-height: 114px;
padding: 0 20px;
height: 114px;
position: relative;
border-left: 1px solid #fff;
}
.nav > li:hover > a { background: #F7F7F7; border-left: 1px solid #f1f1f1;}
.nav > li:first-child > a { }
.nav > li:last-child > a { border-right: 0;}
.nav > li:hover > div { display: block; }
/* Mega Dropdown */
.nav > li > div {
position: absolute;
top: 114px;
display: none;
background: #F7F7F7;
padding: 10px 10px;
box-shadow: 0 2px 3px rgba(0,0,0,0.1);
overflow: hidden;
border-bottom: 4px solid $primary-color;
border-left: 1px solid $header-border;
border-right: 1px solid $header-border;
z-index: 2;
max-width: 1024px;
height: auto;
margin: 0 auto;
}
.mega-container1 {
left: ;
}
.mega-container2 {
left: ;
}
.mega-container3 {
left: ;
}
.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.border-half {
border-right: 1px solid #F0F0F0;
position: relative;
}
.border-half:before {
border-left: 1px solid #cdecde;
}
.border-half:after {
content: '';
display: block;
position: absolute;
height: 50px;
top: 0px;
right: -1px;
border: 1px solid #cdecde;
}
.border-half:hover::after {
right: -3px;
}
這裏是一個要的jsfiddle得到的想法:http://jsfiddle.net/7e3esmpx/
更新1:解釋是有點混亂。
我很抱歉如果我沒有解釋得很好。我想要的是隱藏的div是#header的寬度,所以如果#header是1024px,隱藏div的最大寬度應該是1024px,隱藏div應該在屏幕中間。 – Dzoni
我正在尋找一種方法來做到這一點。不是那麼容易(對我來說至少大聲笑) 我可能會研究硬編碼隱藏的div在它的永久位置,然後使用JavaScript來拉動懸停的每個鋰的動態內容。你會喜歡使用JavaScript的想法,還是你想堅持HTML和CSS? –
我很高興我不是唯一對此感到困惑的人。那麼...這個導航必須神奇地縮小到手機的大小。所以我更喜歡CSS/HTML,但是如果沒有選擇,我想我可以做JS ......我確實設法鎖定它,但是在特定的窗口大小下面,然後回到繪圖板。 – Dzoni