纯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日

相关文章

  • Ruffy javascript 学习笔记

    关于“Ruffy javascript 学习笔记”的完整攻略,以下是我给出的建议: Ruffy Javascript 学习笔记完整攻略 1. 前言 在学习Javascript之前,我们首先要明确“Javascript”是什么以及它能为我们做什么。 Javascript是一种编程语言,特别适用于网页编程。它可以让网页在用户的操作下进行动态交互、响应式地提供用户…

    css 2023年6月10日
    00
  • webpack 打包压缩js和css的方法示例

    我很乐意为您讲解 “webpack 打包压缩js和css的方法示例”的完整攻略。首先,我们需要明确的是,webpack是一个强大的静态模块打包工具,它可以通过配置文件对JavaScript、CSS、图片等资源进行打包、压缩,并优化加载速度,提高应用程序的性能。 下面是一个简单的webpack配置示例,其中包含了两个常用的loader和一个插件,用于打包压缩J…

    css 2023年6月9日
    00
  • 利用JS生成博文目录及CSS定制博客

    下面是“利用JS生成博文目录及CSS定制博客”的完整攻略: 1. 生成博文目录 1.1 实现原理 利用JS生成博文目录的原理是通过JS获取博客文章的标题、对应的dom节点和锚点,然后利用DOM操作动态生成目录并插入到博客页面的特定位置。 1.2 示例代码 以下是一个简单的JS生成目录的示例代码,实现了获取所有标题,创建目录结构并添加到页面对应位置的功能。 /…

    css 2023年6月10日
    00
  • IE7下父元素及子元素的隐藏顺序不当带来的display:none出现BUG

    在IE7浏览器中,当父元素使用display:none属性隐藏,子元素也使用display:none属性隐藏且先于父元素隐藏,再显示的时候会出现BUG,即子元素无法显示。要解决这个问题,可以执行以下步骤: 使用visibility:hidden代替display:none 在IE7浏览器下,使用visibility:hidden代替display:none能…

    css 2023年6月10日
    00
  • 微信小程序如何设置基本的页面样式,做出用户界面UI

    要设置微信小程序的页面样式和用户界面(UI),主要需要针对不同的组件进行样式设置。我们可以使用CSS来实现样式的设置。 设置全局样式 在微信小程序中设置全局样式可以使用 app.wxss 文件。我们可以在这里定义页面中常用的颜色、字体等,这些定义会应用到全局。 /* app.wxss */ /* 定义全局字体和颜色 */ :root { –main-fon…

    css 2023年6月9日
    00
  • Div+Css实现屏蔽效果

    DIV+CSS实现屏蔽效果通常是通过CSS属性设置元素的可见性和定位方式,以达到遮盖其他元素的目的。下面是一个完整的攻略: 实现思路 创建遮罩层元素,使用绝对定位和半透明背景颜色实现遮盖效果; 通过设置遮罩层元素的z-index属性值来使它位于要屏蔽的元素之上; 设置要屏蔽的元素的可见性(visibility)为隐藏(hidden),或者通过CSS属性设置它…

    css 2023年6月10日
    00
  • uni-app学习之nvue使用教程

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

    css 2023年6月10日
    00
  • 原生js和jquery中有关透明度设置的相关问题

    如果你想在网页中改变元素的透明度,原生JavaScript和jQuery提供了各自不同的实现方式。 使用原生JavaScript设置元素透明度 原生JavaScript提供了不同的方式来设置元素的透明度,下面列举其中两种常用的实现方法。 1. 使用opacity属性 使用opacity属性是一种直接而简单的方式来设置元素的不透明度。这个属性可以取值为0到1之…

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