Login

Recover Your Password

Welcome

Bring Your Vision To Life

We provide software and services that enable our customers and partners to turn advanced technology into real solutions.

What We Do

Contensive works as a team member with client partners, providing the highest level of technical competence and support in the design, production, management & lifecycle support of online applications.

api illustration
API Integration

You name it, we can integrate it

mobile development illustration
Mobile App Development

Custom mobile apps that can do everything

cloud app dev illustration
Cloud Application Development

Customized applications with the features you need

cloud host illustration
Best-In-Class Cloud Hosting

AWS platform, the leader in cloud computing

life cycle illustration
Life Cycle Management

Continuous monitoring, user support, and training

business process illustration
Business Process Automation

Streamline your operations and increase efficiencies

Let’s work on a solution to your problem today!

Process

Agile Software Development Process

Benefits

Why You Should Choose Contensive

The greatest product we offer is our experienced team and our dedication to real-world, time-tested principles: a realistic budget, a disciplined process, and enough flexibility and creativity to accommodate any requirement.

contensive favicon
Proven Development Process

Our agile scrum process allows total transparency

contensive favicon
Time Tested Principles

We follow best practices to get the best results

contensive favicon
Realistic Budget

Payment options that will help you succeed

contensive favicon
Expertise

30+ year history of customer success and profitability

contensive favicon
Talented Team Members

Each developer has disparate skill sets & decades of experience

Experience

Contensive’s Experience

Contensive provides software and services that enable our customers and partners to turn advanced technology into real solutions.

100k+

e-commerce transactions a month

1st

Website allowed in the chamber of US Supreme Court

8 years

Average relationship with client

600+

Websites and applications created

30+

years of experience

300k+

People visiting our applications

Contact Us

Questions?
Call Us (703)-251-0624

Tech Support
support@contensive.com

Return to Product Support > Learning Center > Managing Design > Working with Dynamic Menus

Working with Dynamic Menus

Menuing is facilitated with the Dynamic Menu Add-on. It creates the HTML necessary to produce flyout menuing in many configurations. In addition, it generates the styles to produce a generic menu system.

To customize the Dynamic Menu, start by dropping the Dynamic Menu add-on on a template or content page, and render the page (display it). The system will automatically create the necessary records for the Default menu.

To create a different menu, turn on Advanced Edit, and click the Instance Options tool above the Dynamic Menu Add-on. From here, you can select any existing menu settings record, or create a new one.

At this point you can turn on editing, and edit the menu settings record, or add sections to the menu.

In the Menu record, there are several settings that effect the type of HTML that will be produced, and a tab to create or modify the styles delivered with that HTML. There are several styles selectors required for a dynamic menu. To differentiate one menu instance from another, a style 'prefix' is used. For instance, If you choose your prefix as "topNav", each of the five class selectors necessary for the menu should start with the prefix "topNav", like topNavButton, topNavPanel, etc.

I am using the example of a menu using the style prefix eventMenu


A - .eventMenuButton defines what the "button" of the menu looks like

  • :hover - attributes you want when element is hovered over w/ pointer (inherits from .eventMenuButton if not defined)
  • :visited - attributes you want when element has been visited (inherits from .eventMenuButton if not defined)
  • .eventMenuButtonDown defines attributes when a pointer has activated the fly-out, and the pointer has moved to its sub elements (sub elements would be .eventMenuPanelButton and A.eventMenuPanelButton)

B - A.eventMenuButton defines what an anchored button on the menu looks like (A and B will almost always have identical attributes)

  • :hover - attributes you want when element is hovered over w/ pointer (inherits from A.eventMenuButton if not defined)
  • :visited - attributes you want when element has been visited (inherits from A.eventMenuButton if not defined)
  • A.eventMenuButtonDown defines attributes when a pointer has activated the fly-out, and the pointer has moved to its sub elements (sub elements would be .eventMenuPanelButton and A.eventMenuPanelButton)

C - .eventMenuPanel defines attributes of the panel that flys out

D - .eventMenuPanelButton defines attributes of the buttons within the panel (background applied here will lay over top of the panel)

  • A.eventMenuPanelButton defines what an anchored button within the panel looks like (will almost always have identical attributes as .eventMenuPanelButton)
  • :hover - attributes you want when element is hovered over w/ pointer (inherits from .eventMenuPanelButton if not defined)
  • :visited - attributes you want when element has been visited (inherits from .eventMenuPanelButton if not defined)
  • .eventMenuPanelButtonDown (A.eventMenuPanelButtonDown) defines attributes when a pointer has activated the fly-out, and the pointer has moved to its sub elements (sub elements would be .eventMenuPanelButton and A.eventMenuPanelButton in the next tier)

E - .eventMenuDelimiter defines what the delimiter attributes are (delimiter is defined in the Dynamic Menu record example here is a |).