我正在試圖製作一個帶有邊框底部的導航欄作爲懸停效果,其目的是跟隨用戶鼠標懸停並突出顯示該項目。然而,邊界底部包括其父母的填充,我不喜歡。使用padding: 0px;
不這樣做。如何製作邊框底部動畫和忽略填充
這裏就是我這麼遠,忍耐一下,因爲我是相當新的HTML CSS &,這是我第一次拍網站:
*{
\t padding: 0px;
\t margin: 0px;
}
#navdiv ul {
\t width: 100%;
\t height: 80px;
\t line-height: 80px;
\t vertical-align: middle;
\t background: #333;
\t margin-top: 5px;
}
#container {
\t margin-left: 200px;
\t margin-right: 200px;
}
#navdiv ul a {
\t width: 80%;
\t text-decoration: none;
\t color: #f2f2f2;
\t padding: 15px;
\t font-size: 16px;
}
#navdiv ul li {
\t height: 63px;
\t list-style-type: none;
\t float: right;
}
#navdiv ul li:hover {
\t border-bottom: 5px solid #FF9933;
\t transition: all 0.3s ease-in-out;
}
#highlight {
\t display: inline-block;
\t line-height: 1em;
\t padding: 0;
\t border-bottom: 5px solid #FF9933;
}
#navdiv img {
\t width: auto;
\t height: auto;
\t max-width: 100%;
\t max-height: 60px;
\t vertical-align: middle;
}
<nav>
<div id="Maindiv">
<div id="navdiv">
<ul>
<div id="container">
<a href="../index.html"><img src="../img/menu-logo.png" alt="Menu Logo"></a>
<li><a href="../item4/index.html">Item 4</a></li>
<li><a href="../item3/index.html">Item 3</a></li>
<li><a href="../item2/index.html">Item 2</a></li>
<li><a href="../item1/index.html" id="highlight">Item 1</a></li>
</div>
</ul>
</div>
</div>
</nav>
由於你可以看到,橙色邊框底部採用「Item 1」填充,使邊框底部大於其內容,我覺得它很難看,我想修復它。
雖然在它,有沒有辦法讓邊界底部的動畫從左到右?如果是這樣,是否還有一種方法可以使其「足夠聰明」,以知道如果用戶的光標來自項目的左側,則應該從「從左到右」進行動畫製作,並且如果光標來自右側,則將其從「從右到左」呢?
我也希望使它跟隨用戶光標,而不是在離開前一個項目後立即消失,並且在下一個項目懸停後立即出現。
對不起,很長的文章,我有這麼多的問題,所以運氣很差,同時用我知道的小知識進行故障排除。
非常感謝! - 凱。
我唯一的問題是,當我在'ul'內添加一個'div'來僅僅定位''li'時,我的項目會在導航欄下面,填充不起作用。我肯定做錯了什麼,只是不知道該怎麼做。 [演示示例](https:// codepen。io/Kayonne/pen/yoyOKN) – Kayonne
在示例中添加了一個片段,希望它更符合您所尋找的內容:) – TripWire
這正是我在找的東西!現在border-bottom效果並不需要這個元素的整個填充,而是像'item','item1','item2'等內容!要仔細看看你的代碼來破譯你做的不同。感謝一堆! – Kayonne