这是一个常见的网页布局设计,也被称为“侧边栏布局”,它的优点是可以提供更多的信息和功能,同时也使页面更加整洁和易于阅读。以下是实现此布局的基本步骤:

  1. HTML结构:创建一个左侧菜单和一个右侧内容区域的容器,使用HTML列表元素(

    • )来创建菜单项,并为菜单项添加类或ID以便于CSS样式设计和JavaScript交互。

    • CSS样式:使用CSS样式来设置容器的布局、颜色、字体等属性,以及菜单的样式(如背景、边框、文字效果等)。还可以使用伪元素(如:hover)来为菜单项添加鼠标悬停效果,以及为选中的菜单项添加当前状态样式(如.active)。

    • JavaScript交互:使用JavaScript编写交互代码,当鼠标悬停或点击菜单项时,显示对应的内容区域。可以使用DOM操作方法(如getElementById、querySelector等)来获取菜单项和内容区域的元素,以及事件监听方法(如addEventListener)来监听鼠标事件。

以下是一个简单的示例代码:

HTML结构:

<div class="container">
  <ul class="menu">
    <li id="item1">菜单项1</li>
    <li id="item2">菜单项2</li>
    <li id="item3">菜单项3</li>
  </ul>
  <div class="content">
    <div id="content1">内容1</div>
    <div id="content2">内容2</div>
    <div id="content3">内容3</div>
  </div>
</div>

CSS样式:

.container {
  display: flex;
}

.menu {
  width: 200px;
  background-color: #f8f8f8;
  border-right: 1px solid #ccc;
  padding: 10px;
}

.menu li {
  cursor: pointer;
  padding: 5px;
  border-radius: 3px;
}

.menu li:hover {
  background-color: #e0e0e0;
}

.menu li.active {
  background-color: #ddd;
}

.content {
  flex: 1;
  padding: 10px;
}

.content div {
  display: none;
}

.content div.show {
  display: block;
}

JavaScript交互:

var menuItems = document.querySelectorAll('.menu li');
var contentItems = document.querySelectorAll('.content div');

for (var i = 0; i < menuItems.length; i++) {
  menuItems[i].addEventListener('click', function() {
    var itemID = this.id.replace('item', 'content');
    for (var j = 0; j < contentItems.length; j++) {
      contentItems[j].classList.remove('show');
    }
    document.getElementById(itemID).classList.add('show');
    for (var k = 0; k < menuItems.length; k++) {
      menuItems[k].classList.remove('active');
    }
    this.classList.add('active');
  });
}

这段代码使用了事件委托的方式,为菜单项添加了点击事件,当点击菜单项时,遍历所有内容区域并隐藏它们,然后显示与菜单项对应的内容区域,并将菜单项设为当前状态。

左侧菜单,右侧内容,鼠标悬停左侧菜单,右侧显示对应内容

原文地址: https://www.cveoy.top/t/topic/twk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录