仅限滑出式菜单 css

2023-12-22

我正在尝试制作一个纯 css 滑出菜单,可以滑出和滑回,请参阅我的小提琴http://jsfiddle.net/EZ8SK/1/ http://jsfiddle.net/EZ8SK/1/这里。现在我想将处理程序合二为一。 我尝试使用单选按钮或复选框来执行此操作,但我无法使其工作,我想我忽略了一些东西。

CSS

#wrapper                  { width: 100%; height: 100%; }
#header-wrapper           { width: 100%; height: 56px; position: relative }
#header                   { width: 100%; height: 56px; background: #111; position: absolute; }

        #content-wrapper  { width: 100%; background: #333; }
            #left-nav     { width: 200px; height: 100%; background: #555; float: left; }
            #right-nav    { width: 300px; height: 100%; background: #555; float: right; }

    #left-nav             { margin-top: -392px; transition-duration: .4s }
    #left-nav:target      { margin-top: -56px }
    #nav-menu > .menu-item > .menu-item-link { display: block; padding: 20px; width: calc(200px - (2*20px)); }      
    #right-menu > .menu-item > .menu-item-link { display: block; padding: 20px; width: calc(300px - (2*20px)); }      
    .menu-item-link:hover { background: #222 }

    #menu-slideout        { position: absolute; top: 0; left: 0; color: #fff; }
    #last-item            { cursor: pointer; display: block; }
    #last-item:hover      { background: #222; cursor: pointer }
    #last-item-back:hover { background: #222; cursor: pointer }

HTML

    <div id="header-wrapper">
        <div id="header">
            <div id="menu-slideout">
                <div id="left-nav">
                    <div class="menu">
                        <ul id="nav-menu">
                            <li class="menu-item"><a href="" class="menu-item-link">Menüpunkt</a></li>
                            <li class="menu-item"><a href="" class="menu-item-link">Menüpunkt</a></li>
                            <li class="menu-item"><a href="" class="menu-item-link">Menüpunkt</a></li>
                            <li class="menu-item"><a href="" class="menu-item-link">Menüpunkt</a></li>
                            <li class="menu-item"><a href="" class="menu-item-link">Menüpunkt</a></li>
                            <li class="menu-item"><a href="" class="menu-item-link">Menüpunkt</a></li>
                            <li class="menu-item"><a href="" class="menu-item-link">Menüpunkt</a></li>
                            <li class="menu-item"><a href="#left-nav" class="menu-item-link" id="last-item">Einblenden</a></li>
                            <li class="menu-item"><a href="#" class="menu-item-link" id="last-item-back">Ausblenden</a></li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>
    </div>

只需要一点 JavaScript 就可以很容易地实现这一点,只需添加类似的内容<a onclick="togglePos(this)">大约在最后li元素及使用

function togglePos(obj) { 
    obj.style.webkitTransform = (obj.style.webkitTransform == "translateY(-392px)") ?
        "translateY(0px)" : "translateY(-392px)";
    obj.style.transform = (obj.style.transform == "translateY(-392px)") ?
        "translateY(0px)" : "translateY(-392px)";
}

但我抑制住了所有这些感觉,并花了一段时间想出了这个技巧:

/* CSS */
ul {
    background:red;
    -webkit-transform:translateY(-90px);
    transform:translateY(-90px);
    transition: 1s;
}
ul li {
    transition: 1s;
}
input[type=checkbox] {
    position: absolute;
    top: -999px;
    left: -999px;
}
input[type=checkbox]:checked ~ ul {
    -webkit-transform:translateY(0px);
    transform:translateY(0px);
}
label {
    display:block;
    width:100%;
    height:20px;
}
<!-- HTML (for demo) -->
<input type="checkbox" id="toggler">
<ul id='dropDown'>
    <li>Content</li>
    <li>Content</li>
    <li>Content</li>
    <li>Second to last one</li>
    <label for="toggler"><li>Last one</li></label>
</ul>
<div>Other content</div>

演示在这里 http://jsfiddle.net/jmM4z/249/

如果您知道发生了什么,结果会非常简单。您可以将input在您想要影响的对象前面并放置带有for="toggler"在您想要用来切换的元素周围translateY。使用变换比使用变换更高效margin or top.

很抱歉没有将其特别应用于您的情况,我不确定您想要保留什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅限滑出式菜单 css 的相关文章

  • 如何保留用户的输入打印?

    我正在尝试添加用户的评论 所以我只是尝试读取输入并将其发送以进行打印 但问题是 一旦我刷新页面或输入另一个输入 打印的输入就会消失 因此 即使刷新页面或重新输入新评论 我也希望始终保持所有用户的显示 代码 div div
  • 可以将position:absolute元素设为粘性吗?

    In CSS position sticky使元素能够显示position static行为 即 它采用文档流中的默认位置 直到到达某个滚动位置 然后采用position fixed行为 那么 这是否意味着我们不能使用position st
  • 使用其innerHTML查找元素

    请看一下这个 DOM 树 div div span Home1 span div span Home2 span span Home3 span div 现在假设我有一个场景 我以某种方式获得了第一个跨度的innerHTMLHome1 是否
  • NSSharingService 共享子菜单

    如何在 Mac 应用程序中添加共享子菜单 例如 Safari gt 文件 gt 共享 我戳了戳Apple 共享服务示例代码 http developer apple com library mac samplecode SharingSer
  • save_and_open_page 已停止提供我的 CSS

    我的测试设置工作得很好 每当我打电话时 都能提供正确格式的 css 页面save and open page从测试中 然后 我设置了一些 javascript 测试 并对我的设置进行了一些更改 抱歉 我无法详细说明所有内容 我没有足够详细地
  • 多语言标记验证器

    是否有免费的在线多语言标记验证服务可以正确识别和验证多语言标记 我确实找到了totalvalidator和htmlvalidator 但这些是 付费 非基于网络的解决方案 Use http validator w3 org nu http
  • 无法使用 BeautifulSoup4 (Python 3) 抓取特定表

    我想从 Ligue 1 足球网站上抓取一张表格 具体来说 该表包含有关卡片和裁判的信息 http www ligue1 com LFPStats stats arbitre competition D1 http www ligue1 co
  • 使用本地存储在从另一个表保存的 HTML TABLE 中打印 JSON,以便我在另一个页面上打印我的表

    在我的作业中 我必须使用用户输入中的数据并将数据保存在本地存储中 我必须以水平表格式将这些数据从本地存储打印到其他页面 为此 我编写了用于用户输入并将数据保存在本地存储中的代码 div p p div
  • 如何在其他div id的悬停中使用div显示块

    如何打开div悬停时标记href tag 这是我在悬停 href 标签上显示 div 标签的代码 Services is id of href tag Services is id of div tag Service hover Serv
  • CSS 继承、别名和其他很酷的东西

    有一天 我随机浏览网页 发现了一些程序 可以让你编写 CSS 别名和其他很酷的东西 我现在不记得了 举个例子 我记得你可以这样做 myclass background color red greenfont 其中 greenfont 在其他
  • 如何在Yii框架中向Form添加类?

    我在 Yii 中有一个表单 我想向该表单添加一个类
  • 如何使用javascript确保元素仅在圆上朝一个方向移动?

    好吧 我承认我对三角学真的很糟糕 出于上下文的考虑 我将添加我在这里提到的问题中的内容 参考问题 https stackoverflow com a 39429290 168492 https stackoverflow com a 394
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • 删除 IE9 边缘周围的 2px 灰色边框

    我正在尝试对这个网站进行编码 尝试关键字 并且我正在尝试找出如何删除这个阴影2px灰色边框延伸到 IE9 窗口的内部 至少顶部 左侧和底部 我的边距设置为零 因此所有页面元素都到达页面的最边缘 但使用 IE9 它们会停在这个灰色边框处 我没
  • 如何使使用 css 调整大小的图像在 IE 中看起来不错?

    当使用 css 宽度 高度或属性宽度 高度缩放图像时 IE6 和 IE7 无法很好地缩放网页中的图像 我不确定它默认使用哪种算法 但这不好 在这些浏览器中缩放时 缩放图像会显示锯齿伪影 幸运的是 有一种方法可以通过简单的 css 规则强制
  • 如何使用角度材料在具有可扩展行的表格中创建嵌套垫表

    我有以下数据 id c9d5ab1a subdomain wing domain aircraft part id c9d5ab1a info mimetype application json info dependent parent
  • 如何始终将焦点保持在文本框中

    我创建了一个包含两个 div 的 HTML 页面 左侧的 div 页面的 90 是 ajax 结果的目标 右侧的 div 页面的 10 包含一个文本框 该页面的想法是在文本框中输入零件编号 通过条形码扫描仪 并显示与该零件编号匹配的绘图 显
  • 为什么我的交互式图像仅在 Internet Explorer 上出现故障?

    我的问题 我为自己制作了一个图像地图 交互式图像 它在 Chrome safari 和 Firefox 上完美运行 然而 当我在可怕的互联网浏览器上尝试它时 它真的很糟糕 这些小点应该扩展到更大的盒子中 在互联网浏览器上它要么不起作用 要么
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • 禁用允许文本选择的

    残疾人可以吗

随机推荐

  • 如何覆盖Python当前正在读取的文件

    我不太确定最好的表达方式 但我想做的是读取 pdf 文件 进行各种修改 然后将修改后的 pdf 保存在原始文件上 截至目前 我可以将修改后的 pdf 保存到单独的文件中 但我希望替换原始文件 而不是创建新文件 这是我当前的代码 from p
  • NameError:名称“数组”未在 python 中定义

    I get NameError name array is not defined当我想创建数组时出现 python 错误 例如 a array 1 8 3 我究竟做错了什么 如何使用数组 您需要导入array模块中的方法 from arr
  • TOKENMATCHES[cdl] 中的“cdl”有什么作用?

    我在第 31 分钟遇到了 TokenMatchesCloudKit 简介 https developer apple com videos play wwdc2014 208 并且很好奇 所以我做了谷歌搜索 发现除了它之外很少有关于它的信息
  • 在不同的列表上执行成员检查,但如何进行?

    我试图回答另一个问题 虽然错误 这导致了一个关于 差异列表 或 列表差异 这似乎是一个更合适的名称 除非不首选 埃舍尔构造 的问题 我们有一个完整的元素列表obj X Y both X and Y地面 我们只想保留第一个obj X wher
  • QGraphicsScene SelectionChanged() 事件

    我需要知道什么时候QGraphicItem是从我的中选择的Scene 我正在使用该方法中的信号selectionChange 但这没有任何作用 这是我的代码 scene h class Scene public QGraphicsScene
  • 将 JSON 数据 POST 到现有对象中

    我正在从格式如下的 URL 检索 JSON 数据 zoneresponse tasks datafield1 datafor1 datafield2 datafor2 datafield3 datafor3 我无法控制该结构 因为它来自私有
  • 斯坦福 NLP 解析器是否有语义角色标记方法?

    我正在尝试找到英语句子的语义标签 我正在使用斯坦福 NLP 解析器 它有这方面的方法吗 我正在查看文档 但我能找到的最接近的东西是 CoreAnnotations SemanticWordAnnotation CoreAnnotations
  • 通过 XSL 获取当前 Unix 时间戳的最简单方法

    通过 XSL 获取当前 Unix 时间戳的最简单方法是什么 在 XSLT2 中 使用current dateTime 功能 在 XSLT1 中 您需要 EXSLT 扩展函数date time 但是 请注意 如果在样式表中多次计算该函数 则不
  • graph.microsoft.com 收到错误请求响应,缺少 UPN 和 PUID 声明

    我们正在尝试使用 Office 365 统一 API 向 graph microsoft com 发出请求 身份验证成功 但访问令牌缺少 UPN 和 PUID 这意味着针对https graph microsoft com beta me
  • 从 LiveData(房间数据库)填充 Spinner

    我在哪里 我正在尝试使用 Room 使用数据库中的数据填充微调器 该数据是一个术语列表 其中包含与其相关的课程 我想在创建新课程时使用微调器来选择与其关联的术语 目前 微调器不显示默认选项 但如果单击微调器 它会显示可供选择的数据列表 从微
  • 使用 IN 子句从 Excel 进行参数化查询

    我有一个MS Query连接来自Excel 2016床单到IBM DB2数据库 我使用参数化查询并将参数值链接到 Excel 单元格 而 奇异值 条款 例如 lt gt like工作 我无法得到IN工作条款具有多个值但除此之外超级简单的查询
  • 如何从 iPhone 在 Whatsapp 上分享图像 + 文本标题(URL)?

    我已使用以下代码在 WhatsApp 上共享图像 但无法使用以下代码设置标题文本 我尝试过注释属性UIDocumentInteractionController 但是在WhatsApp开发者表单中没有指定任何键进行注释 我确实知道我们可以通
  • 当用户不活动 2 分钟时获取信息“此请求导致为您的应用程序启动一个新进程”

    我使用 java 和 GWT 在 GAE 上部署了我的应用程序 当我使用我的应用程序 ID Sample sampleappId appspot com 登录我的应用程序时 在我的应用程序中 当我填写诸如客户注册之类的表格时 有很多表格 然
  • 我应该将 `package-lock.json` 复制到 Dockerfile 中的容器映像吗?

    这是我的Dockerfile FROM node 12 slim ENV NODE ENV production WORKDIR COPY COPY ENTIRE FOLDER COPY package json package json
  • 如何获取 Android 上的软键盘高度?

    这些天我一直在使用 libgdx 开发一个 android 项目 期间出现了一个疑问 当软键盘出现时 一些视图将被覆盖 所以我想获取解决此错误的高度 我知道使用android api开发项目时可以设置软输入模式来解决这个问题 libgdx是
  • 引用同一解决方案 C# 中另一个项目的 Web.Config 文件

    我有一个 VC2010 C 解决方案 其中有许多项目 例如 我有一个网络项目 并且有一个类库 在 web config 文件中 我有一个密钥
  • 向数据框添加新列的函数

    我需要一个函数 将新列 具有常量值 添加到数据框中df 到目前为止我的尝试是这样的 f function df col name col value df col name col value print df 典型的输入是 f df Ne
  • 如何停止docker中运行的节点

    我刚刚安装了 dockers 并安装了节点 我能够运行一个基本的快递网站 我现在的问题是我无法阻止它 Control C 没有执行任何操作 我暂时退出的做法是 关闭泊坞窗的终端 打开一个新的 搜索所有正在运行的 docker 容器 Then
  • JSP:将文件上传到服务器的最佳实践

    我正在使用多部分表单 Apache FileUpload 等上传文件 它工作正常 但是 我想知道在服务器中保存文件时的最佳实践或常见做法是什么 如下所示 命名服务器中的文件 即 什么名称更好 生成的一些UUID 或者当我插入文件关联数据时由
  • 仅限滑出式菜单 css

    我正在尝试制作一个纯 css 滑出菜单 可以滑出和滑回 请参阅我的小提琴http jsfiddle net EZ8SK 1 http jsfiddle net EZ8SK 1 这里 现在我想将处理程序合二为一 我尝试使用单选按钮或复选框来执