当前位置:首页 > 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制作网页

创建HTML文件结构 新建一个index.html文件,写入基础HTML5结构。通过<link>标签引入外部CSS文件,示例结构如下: <!DOCTYPE html> <…

css制作开关

css制作开关

使用纯CSS制作开关 通过CSS的伪元素和input[type="checkbox"]可以创建自定义开关样式。关键点在于隐藏原生复选框,用CSS重新设计外观。 <label class="sw…

css广告制作

css广告制作

CSS广告制作方法 使用CSS创建广告主要涉及布局、动画和响应式设计。以下是关键步骤和技巧: 基础布局设计 通过div容器定义广告区域,设置固定或相对尺寸: .ad-container { w…

css制作导航

css制作导航

CSS 制作导航的方法 基础水平导航栏 使用无序列表(<ul>)和浮动(float)或 Flexbox 布局实现水平导航: <nav> <ul class="ho…

div css制作导航

div css制作导航

导航栏的基本结构 使用HTML的<nav>标签包裹导航链接,内部通常采用无序列表<ul>和列表项<li>结构。示例代码如下: <nav> <…

css按钮制作

css按钮制作

CSS按钮制作方法 基础按钮样式 创建一个简单的CSS按钮需要定义基本属性,如背景色、边框、内边距和文字样式。示例代码: .btn { background-color: #4CAF50;…