我遇到了一些解決方案無法解決的問題。第一個問題:Navbar全寬和下拉寬度問題
作爲水平導航欄,該部分需要跨越整個屏幕寬度。在我的顯示器上,這一切都很好,但是當我放大或調整瀏覽器寬度以使水平滾動條出現時,導航欄背景的切斷長度等於瀏覽器的寬度。也就是說,無論大小或縮放大小如何,導航欄都會跨越整個可見寬度,但即使向右滾動一點也會顯示導航欄不會跨越整個頁面寬度。
第二個問題涉及到下拉功能。此刻,寬度會自動調整爲最長單詞的寬度(即空格會導致單詞跳到下一行)。首先,我該如何阻止它,其次,是否可以將寬度調整爲始終與主導航欄鏈接兩側的邊界之間的距離一樣寬? (編輯:忽略此段落的第一部分,我不小心從CSS中刪除white-space:nowrap
第二部分仍然是一個問題,雖然。)
HTML:
<nav class="bg">
<ul class="width nav">
<li><span class="bord"></span></li>
<li><a href="#">DropLink</a>
<ul class="drop">
<li><a href="#">LongerLinkName</a></li>
<li><a href="#">LongLink WithSpace</a></li>
<li><a href="#">Link</a></li>
</ul>
</li>
<li><span class="bord"></span></li>
<li><a href="#">Link</a></li>
<li><span class="bord"></span></li>
<li><a href="#">Link</a></li>
<li><span class="bord"></span></li>
<li><a href="#">Link</a></li>
<li><span class="bord"></span></li>
<li><a href="#">Link</a></li>
<li><span class="bord"></span></li>
</ul>
</nav>
CSS:
*{margin:0;padding:0;font-size:small;vertical-align:middle;}
a{color:#F00;text-decoration:none;}
.width{margin:0 auto;min-width:1000px;width:84%;}
.bg,.drop{background:#000;}
nav>ul{width:100%;text-align:justify;font-size:0;position:relative;}
nav>ul:after{content:"";width:100%;display:inline-block;}
nav li{list-style:none;display:inline-block;position:relative;}
nav a{display:inline-block;background:rgba(0,0,0,0);transition:background 0.2s linear;padding:8px;}
nav a:hover{background:rgba(0,0,255,1);}
.drop{position:absolute;left:-1000px;top:-1000px;opacity:0;transition:opacity .5s,top 0 .25s,left 0 .25s;border-left:1px solid #BBB;border-right:1px solid #BBB;border-bottom:1px solid #BBB;}
.nav li:hover .drop{left:0;top:100%;opacity:1;transition:opacity .5s,top 0s,left 0s;}
.bord{border-left:1px solid #000;border-right:1px solid #555;padding:7px 0;}
另外,雖然我在這裏,但是我怎樣才能讓邊框與導航欄本身的高度完全一樣呢?如果我增加填充,它會變成像素太長。如果我減少填充,它會變成像素太短。
此外,如果您的瀏覽器需要在代碼中的前綴道歉。我用腳本替代了前綴CSS,爲我做了。
諷刺的是,我是幾秒鐘遠離回答這個問題的鏈接,你在悄悄之前!所以我只是投了贊,發牢騷,離開了!無論如何,我現在只注意到了我的CSS,這就解釋了它。我一定是意外地刪除了nowrap。儘管如此,第二部分的寬度仍然存在。至於第一個問題,是的,我不想刪除最小寬度,因爲它與頁面內容混淆。即,導航欄。 – Hiigaran
嗨Hiigaran:你能再看看我的答案。我已經更新了它的最小寬度。 –
它仍然有100%寬度相同的問題。一旦它達到最小寬度並且水平滾動條啓動,問題就會發生。寬度%和最小寬度px組合的要點是爲較大的顯示器保留頁面兩側的空間,但隨着瀏覽器寬度,顯示器大小或分辨率的降低,它會自動刪除該空間並最終使頁面佔用增加整個寬度,使得擁有較少觀看空間的人可以利用整個區域。 – Hiigaran