diff --git a/src/menus/css/menus-core.css b/src/menus/css/menus-core.css index 771c5a3..0e6cd86 100644 --- a/src/menus/css/menus-core.css +++ b/src/menus/css/menus-core.css @@ -1,22 +1,24 @@ /*csslint adjoining-classes: false, box-model:false*/ -.pure-menu ul, .pure-menu li { +.pure-menu-list, +.pure-menu-item { position: relative; } -.pure-menu ul { +.pure-menu-list { list-style: none; margin: 0; padding: 0; + display: inline-block; } -.pure-menu li { +.pure-menu-item { padding: 0; margin: 0; height: 100%; + text-align: left; } -.pure-menu a, -.pure-menu .pure-menu-heading { +.pure-menu-link, +.pure-menu-heading, +.pure-menu-responsive-toggle { display: block; - line-height: 1.5em; - padding: 5px 20px; text-decoration: none; white-space: nowrap; } @@ -28,18 +30,7 @@ margin: 0; vertical-align: middle; } -.pure-menu-horizontal > ul { - display: inline-block; - *display: inline; - zoom: 1; - vertical-align: middle; -} -.pure-menu li a { padding: 5px 20px; } - -.pure-menu-can-have-children > .pure-menu-label { - padding-right: 30px; -} /* FIXED MENU */ .pure-menu-fixed { @@ -58,7 +49,8 @@ } /* Initial menus should be inline-block so that they are horizontal */ -.pure-menu-horizontal li { +.pure-menu-horizontal .pure-menu-item, +.pure-menu-horizontal .pure-menu-heading { display: inline-block; *display: inline; zoom: 1; @@ -66,54 +58,34 @@ } /* Submenus should still be display: block; */ -.pure-menu-horizontal li li { +.pure-menu-item .pure-menu-item { display: block; } -/* Adjusting separator for vertical menus */ -.pure-menu-horizontal .pure-menu-separator { - height: 50%; - width: 1px; - margin: 0 7px; -} - -/* Submenus should be horizontal separator again */ -.pure-menu-horizontal li .pure-menu-separator { - height: 1px; - width: auto; - margin: 7px 2px; -} - /* RESPONSIVE MENUS */ /* Hide the toggle button by default. It will show on small screen sizes */ -.pure-menu-responsive .pure-menu-toggle { - float: right; - text-transform: uppercase; - font-size: 80%; +.pure-menu-responsive .pure-menu-list { display: none; } -/* If the menu is open, and the viewport is larger than 767px, we - still want the toggle button to show. -*/ -.pure-menu-responsive.pure-menu-active .pure-menu-toggle { +.pure-menu-responsive-toggle { display: block; } -.pure-menu-responsive .pure-menu-toggle:after { +.pure-menu-responsive-toggle:after { content: "\25BE"; float: right; - /* These specific fonts have the Unicode char we need. */ font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'DejaVu Sans', sans-serif; margin-right: -15px; margin-top: -1px; } -.pure-menu-responsive.pure-menu-active ul, .pure-menu-responsive.pure-menu-active li { +.pure-menu-is-active .pure-menu-list, +.pure-menu-is-active .pure-menu-item { display: block; } -.pure-menu-responsive.pure-menu-active .pure-menu-separator { +.pure-menu-is-active .pure-menu-separator { width: auto; height: 1px; } diff --git a/src/menus/css/menus-dropdown.css b/src/menus/css/menus-dropdown.css new file mode 100644 index 0000000..3642d56 --- /dev/null +++ b/src/menus/css/menus-dropdown.css @@ -0,0 +1,40 @@ +/* By default, don't show the .pure-menu-children. */ +.pure-menu-children { + display: none; + position: absolute; /* absolute positioned inside a relative container */ + margin: 0; + padding: 0; +} + +/* Vertical Menus - when an item is interacted with, show the children */ +.pure-menu-item:hover > .pure-menu-children, +.pure-menu-item:focus > .pure-menu-children { + display: block; + top: 0; + left: 100%; + width: 100%; +} + +/* Horizontal Menus - when an item is interacted with, show the children */ +.pure-menu-horizontal .pure-menu-item:hover > .pure-menu-children, +.pure-menu-horizontal .pure-menu-item:focus > .pure-menu-children { + top: 100%; + left: 0; + width: inherit; +} + +.pure-menu-is-active .pure-menu-children { + display: block; + position: static; +} + +/* Regular Menus - show the dropdown arrow */ +.pure-menu-has-children > .pure-menu-link:after { + padding-left: 0.5em; + content: "\25B8"; +} + +/* Horizontal Menus - show the dropdown arrow */ +.pure-menu-horizontal .pure-menu-has-children > .pure-menu-link:after { + content: "\25BE"; +} diff --git a/src/menus/css/menus-paginator.css b/src/menus/css/menus-paginator.css deleted file mode 100644 index bf248dc..0000000 --- a/src/menus/css/menus-paginator.css +++ /dev/null @@ -1,55 +0,0 @@ -/*csslint box-model:false*/ -/*TODO: Remove this lint rule override after a refactor of this code.*/ - - -.pure-paginator { - - /* `pure-g` Grid styles */ - letter-spacing: -0.31em; /* Webkit: collapse white-space between units */ - *letter-spacing: normal; /* reset IE < 8 */ - *word-spacing: -0.43em; /* IE < 8: collapse white-space between units */ - text-rendering: optimizespeed; /* Webkit: fixes text-rendering: optimizeLegibility */ - - /* `pure-paginator` Specific styles */ - list-style: none; - margin: 0; - padding: 0; -} -.opera-only :-o-prefocus, -.pure-paginator { - word-spacing: -0.43em; -} - -/* `pure-u` Grid styles */ -.pure-paginator li { - display: inline-block; - *display: inline; /* IE < 8: fake inline-block */ - zoom: 1; - letter-spacing: normal; - word-spacing: normal; - vertical-align: top; - text-rendering: auto; -} - - -.pure-paginator .pure-button { - border-radius: 0; - padding: 0.8em 1.4em; - vertical-align: top; - height: 1.1em; -} -.pure-paginator .pure-button:focus, -.pure-paginator .pure-button:active { - outline-style: none; -} -.pure-paginator .prev, -.pure-paginator .next { - color: #C0C1C3; - text-shadow: 0 -1px 0 rgba(0,0,0, 0.45); -} -.pure-paginator .prev { - border-radius: 2px 0 0 2px; -} -.pure-paginator .next { - border-radius: 0 2px 2px 0; -} diff --git a/src/menus/css/menus-r.css b/src/menus/css/menus-r.css index 31e8e86..d8afe7b 100644 --- a/src/menus/css/menus-r.css +++ b/src/menus/css/menus-r.css @@ -1,16 +1,8 @@ -/*adjoining-classes: false*/ -@media (max-width: 767px) { - .pure-menu-responsive .pure-menu-toggle { - display: block; +@media (min-width: 48em) { + .pure-menu-responsive .pure-menu-list { + display: inline-block; } - .pure-menu-responsive ul { + .pure-menu-responsive-toggle { display: none; } - .pure-menu-responsive.pure-menu.active ul { - display: inline-block; - *display: inline; - zoom: 1; - vertical-align: middle; - } - -} +} \ No newline at end of file diff --git a/src/menus/css/menus.css b/src/menus/css/menus.css index b3931fd..587beca 100644 --- a/src/menus/css/menus.css +++ b/src/menus/css/menus.css @@ -1,55 +1,15 @@ -/*csslint adjoining-classes: false, duplicate-properties:false*/ - -/* MENUS STYLING */ -/* Focus style for a dropdown menu-item when the parent has been opened */ -.pure-menu { - background: #fff; /* need this to make menus stand out from page background */ - border: 1px solid #eee; -} -.pure-menu a { - color: #666; -} -/* Hover and focus styles */ -.pure-menu li a:hover, -.pure-menu li a:focus { - background: #dedede; - *background: #dedede; - background: rgba(0,0,0,0.15); -} - -/* DISABLED STATES */ -/* need the .pure-menu prefix so that people over-riding `a` don't over-ride pure-menu-disabled too */ -.pure-menu .pure-menu-disabled a, -.pure-menu .pure-menu-disabled a:hover, -.pure-menu .pure-menu-disabled a:focus { - color: #bababa; - *color: #bababa; - color: rgba(0,0,0, 0.5); - background: transparent; -} - - .pure-menu-heading { - color: #565d64; - text-transform: uppercase; - font-size: 90%; - margin-top: 0.5em; - border-bottom: 1px solid #eee; + font-weight: bold; } -.pure-menu-horizontal .pure-menu-heading { - border-bottom: none; +.pure-menu-responsive-toggle { + float: right; } -/* ACTIVE MENU ITEM */ -.pure-menu .pure-menu-selected a { - color: #000; +.pure-menu-link { + padding: 0.3em 0.5em; } -/* FIXED MENU */ -.pure-menu-fixed { - border: none; - border-bottom: 1px solid #b7b7b7; - *border-bottom: 1px solid #b7b7b7; - border-bottom: 1px solid rgba(0,0,0,0.4); -} +.pure-menu-is-active .pure-menu-children { + padding-left: 0.5em; +} \ No newline at end of file diff --git a/src/menus/tests/manual/menus.html b/src/menus/tests/manual/menus.html index 941852a..dbe57f6 100644 --- a/src/menus/tests/manual/menus.html +++ b/src/menus/tests/manual/menus.html @@ -7,216 +7,115 @@ - + - - -
- -

Pure Menus CSS

-

Simple styling for HTML List elements as menus.

- -
- -
- -

Horizontal Menu

- -

- You can mark the active menu element by adding the .pure-menu-selected class to the list item. -

- -
- Site Title - -
- -

Vertical Menu

- -
- Site Title - -
- -
- -
- - -

Fixed Menus

- -

- Fixed menus can be created by adding the pure-menu-fixed class name to the wrapper. This will fix a menu to the top of the page. -

- -

- -

- -
- -
- -

Responsive Menu

- -
- Site Title - Open - -
- -

Customizing Menu

- - -
- Site Title - Open - -
- - - -

Paginator

- -