{"id":22897285,"url":"https://github.com/center-key/hamburger-menu","last_synced_at":"2026-03-11T22:45:14.985Z","repository":{"id":57156653,"uuid":"70771778","full_name":"center-key/hamburger-menu","owner":"center-key","description":"☰ A responsive CSS solution ☰","archived":false,"fork":false,"pushed_at":"2026-01-23T08:43:07.000Z","size":448,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-24T01:28:11.588Z","etag":null,"topics":["css","hamburger","hamburger-menu","menu","mobile-first","mobile-web","responsive","ui"],"latest_commit_sha":null,"homepage":"https://hamburger-menu.js.org","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/center-key.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-10-13T05:24:35.000Z","updated_at":"2026-01-23T08:42:57.000Z","dependencies_parsed_at":"2024-01-03T01:27:04.480Z","dependency_job_id":"d6cfcfc3-b83b-4de7-9f05-932973d325f8","html_url":"https://github.com/center-key/hamburger-menu","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/center-key/hamburger-menu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/center-key%2Fhamburger-menu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/center-key%2Fhamburger-menu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/center-key%2Fhamburger-menu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/center-key%2Fhamburger-menu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/center-key","download_url":"https://codeload.github.com/center-key/hamburger-menu/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/center-key%2Fhamburger-menu/sbom","scorecard":{"id":270930,"data":{"date":"2025-08-11","repo":{"name":"github.com/center-key/hamburger-menu","commit":"3a2c58b4a0c60a44b7951836d99f608723d05670"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/release-on-vtag.yaml:1","Warn: no topLevel permission defined: .github/workflows/run-spec-on-push.yaml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-vtag.yaml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/center-key/hamburger-menu/release-on-vtag.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-on-vtag.yaml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/center-key/hamburger-menu/release-on-vtag.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-spec-on-push.yaml:9: update your workflow using https://app.stepsecurity.io/secureworkflow/center-key/hamburger-menu/run-spec-on-push.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/run-spec-on-push.yaml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/center-key/hamburger-menu/run-spec-on-push.yaml/main?enable=pin","Warn: npmCommand not pinned by hash: task-runner.sh.command:25","Warn: npmCommand not pinned by hash: task-runner.sh.command:26","Warn: npmCommand not pinned by hash: .github/workflows/run-spec-on-push.yaml:12","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-17T13:20:03.978Z","repository_id":57156653,"created_at":"2025-08-17T13:20:03.978Z","updated_at":"2025-08-17T13:20:03.978Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30405985,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T22:36:59.286Z","status":"ssl_error","status_checked_at":"2026-03-11T22:36:57.544Z","response_time":84,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","hamburger","hamburger-menu","menu","mobile-first","mobile-web","responsive","ui"],"created_at":"2024-12-14T00:16:25.439Z","updated_at":"2026-03-11T22:45:14.968Z","avatar_url":"https://github.com/center-key.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u0026#9776;\u0026nbsp; HamburgerMenu \u0026nbsp;\u0026#9776;\n_A responsive CSS solution_\n\n[![License:MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/center-key/hamburger-menu/blob/main/LICENSE.txt)\n[![npm](https://img.shields.io/npm/v/hamburger-menu.svg)](https://www.npmjs.com/package/hamburger-menu)\n[![Hits](https://data.jsdelivr.com/v1/package/npm/hamburger-menu/badge?style=rounded)](https://www.jsdelivr.com/package/npm/hamburger-menu)\n[![Build](https://github.com/center-key/hamburger-menu/actions/workflows/run-spec-on-push.yaml/badge.svg)](https://github.com/center-key/hamburger-menu/actions/workflows/run-spec-on-push.yaml)\n\nHamburger button menus should be used with caution as they can impair user interaction.\nAs they say, *\"Out of sight, out of mind\"*.\n\nWhen you do need a hamburger button menu, this solution uses CSS to replace the navigation menu\nwith a tappable hamburger icon on mobile devices or any browser with a sufficiently narrow screen.\nTapping the hamburger reveals the navigation menu with smooth CSS animation.\n\n## A) Try It Out\nInteractive example:\u003cbr\u003e\nhttps://hamburger-menu.js.org\n\n\u003ckbd\u003e\u003cimg src=https://raw.githubusercontent.com/center-key/hamburger-menu/main/screenshots/mobile-hamburger.png height=300 alt=screenshot align=left\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=https://raw.githubusercontent.com/center-key/hamburger-menu/main/screenshots/mobile-menu.png      height=300 alt=screenshot\u003e\u003c/kbd\u003e\n\u003ckbd\u003e\u003cimg src=https://raw.githubusercontent.com/center-key/hamburger-menu/main/screenshots/desktop-menu.png     height=300 alt=screenshot\u003e\u003c/kbd\u003e\n\n## B) Setup\nInclude the **HamburgerMenu** CSS and JavaScript:\n```html\n...\n\u003clink rel=stylesheet href=hamburger-menu.css\u003e\n...\n\u003cscript src=hamburger-menu.js\u003e\u003c/script\u003e\n...\n```\n...or from the [jsDelivr CDN](https://www.jsdelivr.com/package/npm/hamburger-menu):\n```html\n...\n\u003clink rel=stylesheet href=https://cdn.jsdelivr.net/npm/hamburger-menu@0.3/dist/hamburger-menu.min.css\u003e\n...\n\u003cscript src=https://cdn.jsdelivr.net/npm/hamburger-menu@0.3/dist/hamburger-menu.min.js\u003e\u003c/script\u003e\n...\n```\n\n...the **HamburgerMenu** files can be installed using **npm**:\n```terminal\n$ npm install hamburger-menu\n```\n\n## C) Usage\nSee the\n[**x3000.html**](https://github.com/center-key/hamburger-menu/blob/main/spec/multipage/products/x3000.html)\ntest page for an example or follow the instructions below.\n\nInsert the following HTML into your web page and modify the menu items (`\u003cli\u003e`) as appropriate\nfor your website:\n```html\n\u003cnav class=hamburger-menu\u003e\n   \u003ca class=hamburger href=#\u003e\u0026#9776;\u003c/a\u003e\n   \u003caside\u003e\n      \u003cul\u003e\n         \u003cli\u003e\u003ca href=.\u003eHome\u003c/a\u003e\u003c/li\u003e\n         \u003cli\u003e\u003ca href=page1.html\u003ePage 1\u003c/a\u003e\u003c/li\u003e\n         \u003cli\u003e\u003ca href=page2.html\u003ePage 2\u003c/a\u003e\u003c/li\u003e\n         \u003cli\u003e\u003ca href=page3.html\u003ePage 3\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n   \u003c/aside\u003e\n\u003c/nav\u003e\n```\n\n## D) Customize\nChange the width and colors by adding the CSS below into your website and modifying it:\n```css\n/* HamburgerMenu ☰ Custom width and colors */\nbody {\n   padding-right: 50px;         /* gutter on left and right sides of page */\n   padding-left: 200px;         /* set to \"padding-right\" + \"width\"(aside) */\n   }\nnav.hamburger-menu aside {\n   width: 150px;                /* menu width */\n   }\nnav.hamburger-menu {\n   color: gainsboro;            /* menu font color */\n   background-color: teal;      /* menu background color */\n   }\nnav.hamburger-menu aside ul li.current {\n   border-color: white;         /* border color for selected menu item */\n   }\nnav.hamburger-menu aside ul li.current \u003espan,\nnav.hamburger-menu aside ul li.current \u003ea,\nnav.hamburger-menu aside ul li \u003espan:hover,\nnav.hamburger-menu aside ul li \u003ea:hover {\n   color: white;                /* menu font highlight color */\n   background-color: darkcyan;  /* menu background highlight color */\n   }\n```\n\n## E) Highlight Menu Item for Current Page\n**HamburgerMenu** automatically highlights the selected menu item.\n\nTurn off automatic highlighting by *either*:\n1. Not loading the `hamburger-menu.js` file\n1. Adding the class `disable-auto-highlight` to the `\u003caside\u003e` element\n\nA menu item can be highlighted by adding the class `current` to the appropriate `\u003cli\u003e` element in\nthe HTML or programmatically after the page has been loaded.\n\nExample of highlighting the menu item for \"**Page 2**\":\n```html\n\u003cli class=current\u003e\u003ca href=page2.html\u003ePage 2\u003c/a\u003e\u003c/li\u003e\n```\n\n**Note:**\u003cbr\u003e\nTo support old legacy web browsers, add a polyfill for\n[URL](https://www.npmjs.com/package/url-polyfill)\nto your website.\n\n## F) hamburger-menu.js File is Optional\nYou can the `hamburger-menu.js` file by incorporating this one line of JavaScript in your website:\n```javascript\ndocument.addEventListener('click', () =\u003e {});  //workaround for sticky hover on mobile\n```\n\n## G) Issues\nThis library has been tested on iPhone and Android mobile devices.\nIf you encounter a bug or have a question, submit an\n[issue](https://github.com/center-key/hamburger-menu/issues).\n\n---\n[MIT License](LICENSE.txt)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcenter-key%2Fhamburger-menu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcenter-key%2Fhamburger-menu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcenter-key%2Fhamburger-menu/lists"}