我製作了這個 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 天以來無法解決;[
對於第一個問題,使用 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; }