纯css实现蓝色圆角效果水平导航菜单代码

接下来我将分享一份实现纯css水平导航菜单的代码攻略。首先,我们需要明确的是,要实现蓝色圆角效果是通过CSS属性 border-radius 来控制元素的边框半径实现的。而通过HTML元素的嵌套结构,我们可以实现水平导航菜单的布局。下面详细介绍实现过程。

步骤 1: 准备 HTML 结构

<ul> 标记中嵌套 <li> 标记,用于横向导航菜单的排列,如下所示:

<nav class="menu">
  <ul>
    <li><a href="#">菜单1</a></li>
    <li><a href="#">菜单2</a></li>
    <li><a href="#">菜单3</a></li>
    <li><a href="#">菜单4</a></li>
    <li><a href="#">菜单5</a></li>
  </ul>
</nav>

步骤 2: CSS的样式设置

通过CSS选择器及属性设置,设置横向导航菜单的菜单项样式,实现蓝色圆角效果。以下是示例代码:

/*导航菜单容器样式*/
.menu {
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: #0077cc;
  border-radius: 10px;
  display: inline-block;
}

/*导航菜单项样式*/
.menu li {
  float: left;
  border-right: 1px solid #fff;
}

/*导航菜单链接样式*/
.menu li a {
  display: block;
  padding: 10px;
  color: #fff;
  text-decoration: none;
  border-radius: 10px;
}

/*鼠标经过导航链接时的样式*/
.menu li a:hover {
  background-color: #fff;
  color: #0077cc;
}

将以上代码保存为 .css 文件,和 HTML 结构文件连接起来,就完成了水平导航菜单的样式设置。通过设置 .menu.menu li.menu li a.menu li a:hover 四项选择器,实现了导航菜单容器、导航菜单项及其链接的样式设置。

步骤3: 示例说明

下面我们演示两个示例让大家更好的理解这份攻略:

示例1

创建一个带标签页切换效果的水平导航菜单,只需要在HTML效果上加点改动,使用CSS来实现:

<nav class="menu">
  <ul>
    <li><a href="#tab1">选项卡1</a></li>
    <li><a href="#tab2">选项卡2</a></li>
    <li><a href="#tab3">选项卡3</a></li>
  </ul>
  <div id="tab1" class="tabcontent">选项卡1的内容</div>
  <div id="tab2" class="tabcontent">选项卡2的内容</div>
  <div id="tab3" class="tabcontent">选项卡3的内容</div>
</nav>

在 CSS 样式中添加以下代码:

/*隐藏所有选项卡内容*/
.tabcontent {
  display: none;
}

/*仅显示当前选项卡内容*/
.tabcontent:target {
  display: block;
}

在实现示例1中,我们额外添加了三项 <div> 标记用于放置选项卡内容。然后在导航菜单链接中,使用 # 符号添加所在文件中的 ID 属性,这样点击菜单链接时就会调用相应选项卡的ID。利用 CSS 样式设置 .tabcontent.tabcontent:target 两个选择器,可以控制导航菜单如何切换不同标签签页的内容。

示例2

创建带动画效果的导航菜单,只需稍加改变通过 CSS 的 hover 伪类实现:

<nav class="menu">
  <ul>
    <li><a href="#">菜单1</a></li>
    <li><a href="#">菜单2</a></li>
    <li><a href="#">菜单3</a></li>
    <li><a href="#">菜单4</a></li>
    <li><a href="#">菜单5</a></li>
  </ul>
</nav>

在 CSS 样式中添加以下代码:

/*导航菜单链接样式*/
.menu li a {
  display: block;
  padding: 10px;
  color: #fff;
  text-decoration: none;
  border-radius: 10px;
  position: relative;
}

/*鼠标经过导航链接时的样式*/
.menu li a:hover {
  background-color: #fff;
  color: #0077cc;
}

/*鼠标经过导航链接时的动画效果*/
.menu li a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  transform: scaleX(0);
  transform-origin: 0% 50%;
  transition: transform 0.5s ease-out;
}

.menu li a:hover::before {
  transform: scaleX(1);
}

在实现示例2中,我们使用伪类 ::before 和 transform 属性以及 transition 属性来实现鼠标经过导航链接时的动画效果。当鼠标悬停在链接上时, ::before 伪类将出现并慢慢放大,同时颜色从白色变成蓝色。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:纯css实现蓝色圆角效果水平导航菜单代码 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • uni-app学习之nvue使用教程

    一、nvue简介及使用场景 nvue是uni-app框架的新型组件化方案,它是一种基于webview(也就是小程序内嵌的webview)的组件开发方案,可以使用vue语法编写,主要用于实现小程序内拥有原生乃至更高的性能与动画效果。 nvue的特点: 相较于weex等其他方案,nvue的兼容性更好,可以兼容所有支持webview的小程序和app平台,如微信小程…

    css 2023年6月10日
    00
  • HTML5移动端开发中的Viewport标签及相关CSS用法解析

    让我来详细讲解“HTML5移动端开发中的Viewport标签及相关CSS用法解析”的完整攻略。 Viewport标签介绍 在移动端开发中,Viewport是一个非常关键的概念。Viewport是指浏览器视口,也就是用户当前可以看到的网页区域。而Viewport标签则是在HTML文档中指定Viewport的具体属性,来达到更好的移动端适配效果。 Viewpor…

    css 2023年6月9日
    00
  • 从css 3d说到空间坐标轴附源码

    从CSS 3D到空间坐标轴附源码,是一项涉及3D视觉效果的技术,可以在Web页面中呈现更丰富、更生动的内容。下面是详细讲解这个过程的攻略: 什么是CSS 3D? CSS 3D是CSS3中的一种功能,支持在Web页面上实现3D视觉效果。其本质是一个立体坐标系,能够控制元素的位置、方向、大小等属性,让元素在3D空间中进行位移、旋转、缩放等变换。实现CSS 3D需…

    css 2023年6月10日
    00
  • JS图片懒加载库VueLazyLoad详解

    JS图片懒加载库VueLazyLoad详解 什么是图片懒加载 图片懒加载是一种技术手段,用于减少页面加载时的请求次数。它将一些图片的资源延迟加载,直到用户需要访问它们的时候才进行加载,从而提高页面的加载速度。 VueLazyLoad介绍 VueLazyLoad是一个基于Vue.js的图片懒加载库。它能够处理负责的图片加载,让网页的加载速度更快,用户体验更好。…

    css 2023年6月11日
    00
  • CSS子元素选择父元素的实现

    CSS 子元素选择父元素的实现,其实就是通过 CSS 选择器来选择某个元素下面子元素中的某个标签,同时还要求这个子元素必须是其直接的子元素,而不是后代元素。 使用 CSS 子元素选择器可以非常方便地实现父元素和子元素之间的关系。下面,我会为大家提供两种实现方法示例。 方法一: “>” 子元素选择器 利用 “>” 子元素选择器,我们可以很方便地实现…

    css 2023年6月9日
    00
  • 图片旋转、鼠标滚轮缩放、镜像、切换图片js代码

    以下是详细讲解“图片旋转、鼠标滚轮缩放、镜像、切换图片js代码”的完整攻略,具体步骤如下: 1. 图片旋转 1.1 使用插件 可以使用某些现成的插件来实现图片的旋转效果。比如 jQueryRotate 插件,可以在网站上引入该插件库,并且在相应的 JavaScript 代码中使用 rotate 方法对图片进行旋转操作。 $(document).ready(f…

    css 2023年6月10日
    00
  • 详解vue-flickity的fullScreen功能实现

    详解vue-flickity的fullScreen功能实现 简介 Vue-flickity 是基于 Flickity.js 的 Vue 组件库,采用了 Vue 组件编写方式,支持多种滑动方式和自定义样式,提供了许多有用的功能,其中之一就是全屏展示功能(fullScreen)。 本篇攻略将详细介绍如何在 Vue-flickity 中实现 fullScreen …

    css 2023年6月11日
    00
  • css cursor 的可选值(鼠标的各种样式)

    CSS的cursor属性用于指定鼠标在元素上的样式,它可以控制当鼠标悬停在某个元素上时它的外观表现。下面是所有可选值的详细攻略。 可选值 auto:默认值,浏览器自动设置光标。 default:浏览器默认光标。 none:无光标。 pointer:手势光标,通常用于链接。 progress:忙碌或进行操作,通常用于指示页面正在加载中。 wait:等待,通常用…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部