当前位置:首页 > CSS

css右导航栏制作

2026-02-12 15:54:28CSS

固定定位实现右导航栏

使用position: fixed将导航栏固定在视窗右侧,不受页面滚动影响。设置right: 0定位到右侧边缘,通过toptransform调整垂直居中。

.right-navbar {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 200px;
  background: #f5f5f5;
  padding: 20px;
  box-shadow: -2px 0 5px rgba(0,0,0,0.1);
}

弹性布局控制内部元素

采用Flexbox布局管理导航项排列,flex-direction: column实现垂直堆叠。gap属性设置项目间距,align-items控制对齐方式。

css右导航栏制作

.right-navbar {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: flex-end;
}

.nav-item {
  padding: 10px 15px;
  border-right: 3px solid transparent;
  transition: all 0.3s ease;
}

.nav-item:hover {
  border-right-color: #4CAF50;
}

响应式设计适配移动端

通过媒体查询在较小屏幕时调整导航栏样式。修改宽度、定位方式和显示形式以适应移动设备。

css右导航栏制作

@media (max-width: 768px) {
  .right-navbar {
    width: 100%;
    position: static;
    flex-direction: row;
    justify-content: center;
    box-shadow: none;
    padding: 10px 0;
  }

  .nav-item {
    border-right: none;
    border-bottom: 3px solid transparent;
  }
}

滚动监听高亮当前章节

结合JavaScript实现滚动时自动高亮对应导航项。通过IntersectionObserverAPI检测元素可见性。

const observer = new IntersectionObserver((entries) => {
  entries.forEach(entry => {
    const id = entry.target.getAttribute('id');
    const navItem = document.querySelector(`.nav-item[href="#${id}"]`);
    if (entry.isIntersecting) {
      navItem.classList.add('active');
    } else {
      navItem.classList.remove('active');
    }
  });
}, { threshold: 0.5 });

document.querySelectorAll('section').forEach(section => {
  observer.observe(section);
});

对应CSS样式:

.nav-item.active {
  font-weight: bold;
  color: #4CAF50;
  border-right-color: #4CAF50;
}

标签: css
分享给朋友:

相关文章

css表格制作

css表格制作

CSS 表格制作基础 使用 CSS 可以创建美观且响应式的表格。以下是一些基本方法: table 元素用于定义表格,tr 定义行,td 定义单元格,th 定义表头单元格。 <table>…

css div 制作导航菜单

css div 制作导航菜单

基本导航菜单结构 使用HTML创建一个简单的导航菜单结构,通常使用<ul>和li>列表实现。每个菜单项用<a>标签包裹以实现链接功能。 <div class="n…

表格制作css

表格制作css

基础表格样式 使用CSS可以轻松地为HTML表格添加样式。以下是一个基础表格的HTML和CSS示例: <table class="basic-table"> <thead>…

css 边框制作

css 边框制作

基础边框设置 使用 border 属性可快速设置边框样式、宽度和颜色: .element { border: 1px solid #000; /* 宽度 | 样式 | 颜色 */ } 样式选…

css制作时钟

css制作时钟

CSS 制作时钟的方法 使用纯CSS和少量JavaScript可以创建一个动态的时钟。以下是实现步骤: HTML结构 <div class="clock"> <div cla…

css导航条制作

css导航条制作

水平导航条制作 使用display: inline-block或flexbox布局创建水平导航条。设置背景色、内边距和悬停效果增强交互性。 <nav> <ul class="h…