我製作了這個 CSS/HTML。
.navbar { width: 100%; background-color: rgb(151, 44, 44); overflow: auto; } .navbar a { border-right:1px solid #f5b7b7; float: left; padding: 8px; color: white; text-decoration: none; font-size: 1.5vh; width: 25%; /* Four links of equal widths */ text-align: center; } .navbar a:hover { background-color: rgb(92, 25, 25); } .navbar a.active { background-color: #04AA6D; } /* ************************************************************** */ /* DROPDOWN */ .dropdown { float: left; overflow: hidden; } .dropdown .dropbtn { font-size: 1.5vh; border: none; outline: none; color: white; padding: 8px; background-color: inherit; font-family: inherit; margin: 0; } .dropdown:hover .dropbtn { background-color: rgb(92, 25, 25); } .dropdown-content { display: none; position: absolute; background-color: #f9f9f9; min-width: 200px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; } .dropdown-content a { float: none; color: rgb(0, 0, 0); padding: 12px 16px; text-decoration: none; display: block; text-align: left; width: 100%; } .dropdown-content a:hover { background-color: #ddd; } .dropdown:hover .dropdown-content { display: block; }
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> </head> <body> <div class="navbar" id="tree"> <a href= "/">Home1</a> <a href= "/">Home2</a> <a href= "/">Home3</a> <div class="dropdown"> <button class="dropbtn" > TOPICS ▼ </button> <div class="dropdown-content"> <a href="#">t1</a> <a href="#">t2</a> <a href="#">t3</a> </div> </div> </body> </html>
但是有兩個問題。
問題 1 - 無法將下拉式選單居中。使用下面的程式碼它居中,但在不同的解析度和裝置等上建立捲軸。
.dropdown { float: left; overflow: hidden; position: relative; transform: translate(150%,0%) }
問題 2 - 下拉按鈕不會擴展到其整個 25% 區域(其他按鈕也是如此)。即.. 懸停僅在文字「TOPIC V」上有效
任何想法為什麼會發生..自 2 天以來無法解決;[
P粉4603775402024-04-05 14:09:25
對於第一個問題,使用 flexbox 來對齊項目。
.navbar { ... display: flex; } .dropdown { ... width: 25%; text-align: center; }
對於第二個問題,需要將寬度設定為100%
。檢查下面的程式碼片段以了解更多詳細資訊。
.dropdown .dropbtn { ... width: 100%; }
.navbar { width: 100%; background-color: rgb(151, 44, 44); overflow: auto; display: flex; } .navbar a { border-right:1px solid #f5b7b7; float: left; padding: 8px; color: white; text-decoration: none; font-size: 1.5vh; width: 25%; /* Four links of equal widths */ text-align: center; } .navbar a:hover { background-color: rgb(92, 25, 25); } .navbar a.active { background-color: #04AA6D; } /* ************************************************************** */ /* DROPDOWN */ .dropdown { float: left; overflow: hidden; width: 25%; text-align: center; } .dropdown .dropbtn { font-size: 1.5vh; border: none; outline: none; color: white; padding: 8px; background-color: inherit; font-family: inherit; margin: 0; width: 100%; } .dropdown:hover .dropbtn { background-color: rgb(92, 25, 25); } .dropdown-content { display: none; position: absolute; background-color: #f9f9f9; min-width: 200px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; } .dropdown-content a { float: none; color: rgb(0, 0, 0); padding: 12px 16px; text-decoration: none; display: block; text-align: left; width: 100%; } .dropdown-content a:hover { background-color: #ddd; } .dropdown:hover .dropdown-content { display: block; }