HTML 製作簡單的下拉選單
效果
Source Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0" >
<title>簡單的下拉選單</title>
<style>
* {
box-sizing: border-box;
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333;
}
/* 為每個連結設定樣式 */
.dropbtn {
display: inline-block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
/* 滑鼠放置連結時改變樣式 */
.dropbtn:hover
{
background-color: #111;
color : red;
}
.dropdown {
display: inline-block;
}
/* 下拉選單設定樣式 */
.dropdown-content {
/* 隱藏選單 */
display: none;
position: absolute;
background-color: #f9f9f9;
/* 設定連結元素的最小寬度 */
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(12, 12, 12, 0.2);
overflow: auto;
}
.dropdown-content a {
display: block;
color: black;
padding: 12px 16px;
text-decoration: none;
}
.dropdown-content a:hover {
background-color: #f1f1f1
}
.dropdown:hover .dropdown-content {
display: block;
}
</style>
</head>
<body>
<ul>
<div class="dropdown">
<a href="#" class="dropbtn">魔方</a>
<div class="dropdown-content">
<a href="#">二階</a>
<a href="#">三階</a>
<a href="#">四階</a>
</div>
</div>
<div class="dropdown">
<a href="#" class="dropbtn">悠悠球</a>
<div class="dropdown-content">
<a href="#">離合</a>
<a href="#">蝶形</a>
<a href="#">拱形</a>
</div>
</div>
<div class="dropdown">
<a href="#" class="dropbtn">王者榮耀</a>
<div class="dropdown-content">
<a href="#">貂蟬</a>
<a href="#">楊玉環</a>
<a href="#">上官婉兒</a>
</div>
</div>
</ul>
</body>
</html>
box-sizing
box-sizing 屬性可以被用來調整這些表現:
content-box 是預設值。如果你設定一個元素的寬為100px,那麼這個元素的內容區會有100px寬,並且任何邊框和內邊距的寬度都會被增加到最後繪製出來的元素寬度中。
border-box 告訴瀏覽器去理解你設定的邊框和內邊距的值是包含在width內的。也就是說,如果你將一個元素的width設為100px,那麼這100px會包含其它的border和padding,內容區的實際寬度會是width減去border + padding的計算值。大多數情況下這使得我們更容易的去設定一個元素的寬高。
border-box width 和 height 屬性包括內容,內邊距和邊框,但不包括外邊距。這是當文件處於 Quirks模式 時Internet Explorer使用的 盒模型。注意,填充和邊框將在盒子內 , 例如, .box {width: 350px; border: 10px solid black;} 導致在瀏覽器中呈現的寬度為350px的盒子。內容框不能為負,並且被分配到0,使得不可能使用border-box使元素消失。
這裡的維度計算為:
width = border + padding + 內容的 width,
height = border + padding + 內容的 height。
CSS部分
.dropdown 類使用 position:relative, 這將設定下拉選單的內容放置在下拉按鈕 (使用 position:absolute) 的右下角位置。
.dropdown-content 類中是實際的下拉選單。預設是隱藏的,在滑鼠移動到指定元素後會顯示。 注意 min-width 的值設定為 160px。你可以隨意修改它。 注意: 如果你想設定下拉內容與下拉按鈕的寬度一致,可設定 width 為 100% ( overflow:auto 設定可以在小尺寸螢幕上滾動)。
我們使用 box-shadow 屬性讓下拉選單看起來像一個"卡片"。
:hover 選擇器用於在使用者將滑鼠移動到下拉按鈕上時顯示下拉選單。