响应式导航(从水平到垂直)的分析与实现
来源:互联网 发布:笔记本风扇调节软件 编辑:程序博客网 时间:2024/06/07 04:04
使用媒体查询,在宽屏下,使用类pure-u-md-1-3,使得导航水平放置,隐藏切换按钮;在窄屏下,使用类pure-u-1,使得导航垂直放置,显示切换按钮,其中切换按钮使用了绝对定位。
代码详情
<!--[if lte IE 8]> <link rel="stylesheet" href="https://unpkg.com/purecss@1.0.0/build/grids-responsive-old-ie-min.css"><![endif]--><!--[if gt IE 8]><!--> <link rel="stylesheet" href="https://unpkg.com/purecss@1.0.0/build/grids-responsive-min.css"><!--<![endif]--><style>.custom-wrapper { background-color: #ffd390; margin-bottom: 1em; -webkit-font-smoothing: antialiased; height: 2.1em; overflow: hidden; -webkit-transition: height 0.5s; -moz-transition: height 0.5s; -ms-transition: height 0.5s; transition: height 0.5s;}.custom-wrapper.open { height: 14em;}.custom-menu-3 { text-align: right;}.custom-toggle { width: 34px; height: 34px; position: absolute; top: 0; right: 0; display: none;}.custom-toggle .bar { background-color: #777; display: block; width: 20px; height: 2px; border-radius: 100px; position: absolute; top: 18px; right: 7px; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -ms-transition: all 0.5s; transition: all 0.5s;}.custom-toggle .bar:first-child { -webkit-transform: translateY(-6px); -moz-transform: translateY(-6px); -ms-transform: translateY(-6px); transform: translateY(-6px);}.custom-toggle.x .bar { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg);}.custom-toggle.x .bar:first-child { -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg);}@media (max-width: 47.999em) { .custom-menu-3 { text-align: left; } .custom-toggle { display: block; }}</style><div class="custom-wrapper pure-g" id="menu"> <div class="pure-u-1 pure-u-md-1-3"> <div class="pure-menu"> <a href="#" class="pure-menu-heading custom-brand">Brand</a> <a href="#" class="custom-toggle" id="toggle"><s class="bar"></s><s class="bar"></s></a> </div> </div> <div class="pure-u-1 pure-u-md-1-3"> <div class="pure-menu pure-menu-horizontal custom-can-transform"> <ul class="pure-menu-list"> <li class="pure-menu-item"><a href="#" class="pure-menu-link">Home</a></li> <li class="pure-menu-item"><a href="#" class="pure-menu-link">About</a></li> <li class="pure-menu-item"><a href="#" class="pure-menu-link">Contact</a></li> </ul> </div> </div> <div class="pure-u-1 pure-u-md-1-3"> <div class="pure-menu pure-menu-horizontal custom-menu-3 custom-can-transform"> <ul class="pure-menu-list"> <li class="pure-menu-item"><a href="#" class="pure-menu-link">Yahoo</a></li> <li class="pure-menu-item"><a href="#" class="pure-menu-link">W3C</a></li> </ul> </div> </div></div><script>(function (window, document) {var menu = document.getElementById('menu'), WINDOW_CHANGE_EVENT = ('onorientationchange' in window) ? 'orientationchange':'resize';function toggleHorizontal() { [].forEach.call( document.getElementById('menu').querySelectorAll('.custom-can-transform'), function(el){ el.classList.toggle('pure-menu-horizontal'); } );};function toggleMenu() { // set timeout so that the panel has a chance to roll up // before the menu switches states if (menu.classList.contains('open')) { setTimeout(toggleHorizontal, 500); } else { toggleHorizontal(); } menu.classList.toggle('open'); document.getElementById('toggle').classList.toggle('x');};function closeMenu() { if (menu.classList.contains('open')) { toggleMenu(); }}document.getElementById('toggle').addEventListener('click', function (e) { toggleMenu(); e.preventDefault();});window.addEventListener(WINDOW_CHANGE_EVENT, closeMenu);})(this, this.document);</script>
参考网址:
https://purecss.io/menus/
https://purecss.io/layouts/tucked-menu-vertical/
阅读全文
0 0
- 响应式导航(从水平到垂直)的分析与实现
- 从最简单和朴素的水平导航菜单栏到复杂的图片导航菜单栏的实现
- 垂直-水平导航菜单的制作
- html css学习笔记-水平与垂直导航
- CSS垂直水平导航栏
- css(css3)实现垂直水平居中的那些事
- css实现简单的水平垂直居中
- 实现盒子的垂直水平居中
- 实现垂直水平居中的方法
- 图像的水平与垂直积分投影
- 图像的水平与垂直积分投影
- android的布局水平与垂直显示
- 水平居中与垂直居中的区别
- 数据库的水平扩展与垂直扩展
- 水平居中与垂直居中的区别
- CSS的水平居中与垂直居中
- 数据库的水平拆分与垂直拆分
- css实现水平垂直居中(总结)
- Linux的iSCSI共享存储服务搭建
- 上传控件选择完图片后将其立即显示在页面上(jquery ajax)
- JavaScript中的值传递
- ajax实现动态加载组合框
- poj 3252 Round Numbers
- 响应式导航(从水平到垂直)的分析与实现
- hdu1072翻译火星文(未解决)
- POJ 1724 ROADS bfs || dfs || A*
- WideCharToMultiByte和MultiByteToWideChar函数的用法
- 与Swagger集成的三种方式
- oracle11g dataguard 完全手册
- Django学习 (6):搭建简易博客
- 【leetcode】第38题 Count and Say 题目+解析+代码
- 《Drools7.0.0.Final规则引擎教程》第4章 Query查询之基础