首页 > 其他分享 >怎么利用CSS实现HTML5响应式导航栏

怎么利用CSS实现HTML5响应式导航栏

时间:2023-04-05 12:04:47浏览次数:45  
标签:right text ul nav HTML5 导航 CSS left


在html5中实现响应式导航栏的方法有很多种,如何利用纯CSS来现实这一功能,在这里小编就通过实例来和大家讲解,纯CSS实现的HTML5响应式导航栏的方法和技巧。
目前响应试web页面已经逐渐开始盛行,除了将页面的内容以及布局结构实现响应试以外,剩下的重点就是实现导航栏的响应试,当然方法有很多,不过最 近我发现了一个新的无需使用Javascript就能轻松实现响应试导航栏的技术,它采用的是简洁的html5标签结构来实现的应式导航栏,导航栏能够被 轻松的控制在左侧,中部,已经右侧。当鼠标经过导航栏时就会平滑拉菜单,不仅如此该响应式导航栏在手机屏幕和ie浏览器中也同样能够正常运行。

这篇文章的目的是让大家能够知道 如何将普通的导航栏转变成小型的可伸缩的下拉菜单。

这种技术非常适合用于多栏目导航栏,如下图所示你可以将所有的导航栏目精简成一个优雅的菜单按钮。

<nav class = “nav”>
 <ul>
 <li class = “current”><a href = “www.elsyy.com”>portfolio</a></li>
 <li><a href = “www.elsyy.com”>Illustration</a></li>
 <li><a href = “www.elsyy.com”>Web Design</a></li>
 <li><a href = “www.elsyy.com”>Print Media</a></li>
 <li><a href = “www.elsyy.com”>Graphic Disign</a></li>
 </ul>
 </nav>

HTML5导航标签结构
如果想使用纯css实现该效果,首先应该使用标签,它是创建css下拉框所必须使用的结构,用.current类标记出当前的菜单栏目。HTML5导航标签结构

/* right nav */
 .nav.right ul {
 text-align: right;
 }/* center nav */
 .nav.center ul {
 text-align: center;
 }



CSS属性
首先以下所使用的css属性跟我们平常见到的方法没什么区别,细节就不多说了,但是我们注意到 nav ui li元素中使用了display:inline-block;这个属性替代了原先常用的float:left属性,这就是不同的地方。
使用display:inline-block这个方法后,我们就可以随意的调整转换后菜单按钮的位置了,如果要改变按钮位置只需在 nav ul 元素中添加 text-align:left; text-align:center; 或者 text-align:right;
即可。

<–[if lt IE 9]>
 <script src=”#”></script>
 <script src=”#”></script>
 <![endif]–>

提供老版本ie浏览器的支持
我们都知道IE8已经之前的版本对html5中的标签和media query方法是无法提供支持的,所以我们在使用前应该先先加上css3-mediaqueries.js(或者respond.js)和 html5shim.js两个脚本,来提供相应的回退支持。
最后再加上media query检测方法来对屏幕宽度进行识别,这里设置了以600px的宽度为断点,意味着当浏览器或者屏幕宽度小于600px像素时就将使用一下css属性。

@media screen and (max-width: 600px){
 .nav {
 position: relative;
 min-height: 40px;
 }
 .nav ul {
 width: 180px;
 padding: 50px 0;
 position: absolute;
 top: 0px;
 left: 0px;
 border: 1px solid #aaa;
 background: #fff url(images/icon-menu.png) no-repeat 10px 11px;
 border-radius: 5px;
 box-shadow: 0 1px 2px rgba(0,0,0,0.3);
 }
 .nav li {
 display:none; /* hide all<li>items */
 margin: 0;
 }
 .nav .current{
 display: block; /* show only current <li> item */
 }
 .nav a{
 display: block;
 padding:5px 5px 5px 32px;
 text-align: left;
 }
 .nav .current a{
 background: none;
 color: #666;
 }/* on nav hover */
 .nav ul:hover{
 background-image: none;
 }
 .nav ul:hover li{
 display: block;
 margin: 0 0 5px;
 }
 .nav ul:hover .current{
 background: url(images/icon-check.png) no-repeat 10px 7px;
 }/* right nav */
 .nav .right ul{
 left: auto;
 right: 0;
 }/* center nav */
 .nav .center ul{
 left: 50%;
 margin-left: -90px;
 }
 }

标签:right,text,ul,nav,HTML5,导航,CSS,left
From: https://blog.51cto.com/u_15967457/6170537

相关文章

  • html5从响应式导航开始
    常用的一个响应式网页导航条解决方案,整理记录。效果展示入口:https://shanhubei.github.io/navigationh5/html结构和js代码都很简单,主要是css样式。直接粘上来的代码有点乱。最下面有demo的下载地址,可以下载看整理过的代码。主要的css知识点有:@mediascreenand(max-width:1279px......
  • Chrome 112 发布,删除 Chrome Apps、支持 CSS 嵌套
    时隔一个月时间,Google正式发布了Chrome112版本,该版本删除了ChromeApps、支持CSS嵌套、改进了<dialog>等。ChromeApps过去,ChromeApps是一种被视为向用户提供轻量级网站体验的方式。然而,它们从未像浏览器扩展或标准网站那样大受欢迎。为了跟上时代的变化,改善用......
  • 黑马程序员前端-CSS:溢出的文字省略号显示
    按照HTML+CSS的学习顺序笔记已经更新了28篇内容了,因为篇幅问题,请看文末。目录一、单行文本溢出显示省略号二、多行文本溢出显示省略号(了解即可)三、往期合集今天来学溢出文字省略号显示。一、单行文本溢出显示省略号单行文本溢出显示省略号必须满足三个条件:/*1.先强制一行内显示文......
  • 黑马程序员前端-CSS盒子模型以及PS基础
    前端学习笔记教程不定期更新中,传送门:前端HTML第一天:什么是网页?什么是HTML?网页怎么形成?黑马程序员前端-CSS入门总结黑马程序员前端-CSS之emmet语法黑马程序员前端-CSS的复合选择器黑马程序员前端-CSS的显示模式黑马程序员前端-CSS背景黑马程序员前端-CSS三大特性:叠层性、继承性、优......
  • 黑马程序员前端-CSS三大特性:叠层性、继承性、优先级
    前端学习笔记教程不定期更新中,传送门:前端HTML第一天:什么是网页?什么是HTML?网页怎么形成?黑马程序员前端-CSS入门总结黑马程序员前端-CSS之emmet语法黑马程序员前端-CSS的复合选择器黑马程序员前端-CSS的显示模式黑马程序员前端-CSS背景上一期的CSS入门笔记没有更新完,继续更新中…今天......
  • CSS基础
    为满足网页的需要,来进行前端代码的学习CSS基础一:style<style>css标签</styte>例:对p标签进行更改<style>p{color:red;/*像素*/font-size:30px;/*背景*/background:aqua;/*宽度*/width:400px;}</style>二:引入方......
  • 火狐主页被360导航劫持怎么办
    一直都是火狐的忠实粉丝,但是最近不知道怎么就出现了打开火狐就弹出360主页的情况,实在恶心到我了。关键是我的电脑从来都没使用过360!!这是因为某些应用捆绑了360,但是没写360在上面,真是要喷血。今天教大家一些简单实用的方法。解决方案一:进行主页修复,重设火狐主页,详情请访问:http:/......
  • web前端tips:CSS之sticky粘滞效果
    Sticky介绍Sticky是CSS3的一个定位属性,它可以让元素在滚动过程中“粘”在屏幕上的某个位置,直到滚动到某个临界点后才会跟随滚动。Sticky定位可以使得页面更具交互性和易用性,也提高了页面的可读性。Sticky定位可以通过以下代码实现:position:sticky;top:0;其中,top属性定义了......
  • css3 箭头上下跳动
    .container.stepsItem.permit.permitStepItem.table.showTable{width:.37rem;margin:.20remauto;position:absolute;bottom:0;left:50%;margin-left:-.18rem;-webkit-animation:opener.5sease-in-outalternateinfinite;......
  • app直播源码,css预加载旋转动画 与 流光字体
    app直播源码,css预加载旋转动画与流光字体一、预加载旋转动画Html<viewclass="concentric_round"></view>​cssbody{}.concentric_round{width:200rpx;height:200rpx;position:relative;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);}.......