CSS響應式導航的原理主要是通過媒體查詢來設置不同的樣式,在不同的設備上顯示不同的導航樣式,同時通過JavaScript來實現(xiàn)導航欄的交互效果。
/* 媒體查詢 */ @media screen and (max-width: 768px) { /* 在小于等于768px寬度的設備上,導航菜單的樣式 */ .nav-menu { display: none; } .nav-toggle { display: block; } .nav-dropdown { max-height: 0; } } @media screen and (min-width: 769px) { /* 在大于768px寬度的設備上,導航菜單的樣式 */ .nav-toggle { display: none; } .nav-menu { display: flex; } .nav-dropdown { max-height: none; } } /* JavaScript代碼 */ // 獲取DOM元素 const navToggle = document.querySelector('.nav-toggle'); const navMenu = document.querySelector('.nav-menu'); // 添加事件監(jiān)聽器 navToggle.addEventListener('click', () =>{ navMenu.classList.toggle('nav-menu-active'); });
在媒體查詢中,我們通過設置不同的樣式來實現(xiàn)不同設備上的導航顯示效果。小于等于768px寬度的設備上,我們隱藏默認的導航菜單,并顯示一個切換按鈕來展示下拉菜單。在大于768px寬度的設備上,我們隱藏切換按鈕,并顯示默認的導航菜單,使用戶能夠直接查看導航選項。
同時,我們還需要通過JavaScript來實現(xiàn)導航欄的交互效果。在代碼中,我們獲取了導航切換按鈕和導航菜單的DOM元素,并將切換按鈕與下拉菜單的展開、關閉事件進行了綁定。當用戶點擊切換按鈕時,我們利用JavaScript代碼來切換下拉菜單的顯示狀態(tài),從而實現(xiàn)導航欄的交互效果。