Menu style customization

  • Release version: Zurich
  • Updated July 31, 2025
  • 4 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Menu Style Customization

    ServiceNow allows you to customize the appearance of menus on your site by modifying the style sheets associated with your site’s design. This is done through the Content Management interface under Design > Style Sheets. The provided examples demonstrate how to adjust the styling of submenu and super menu sections using CSS without needing to create new menu systems. This approach enables you to control layout, colors, fonts, spacing, and other visual elements, enhancing the user experience while maintaining the existing menu structure.

    Show full answer Show less

    Key Features

    • Submenu Styling: Custom CSS targets submenu containers such as div.cmsmenusectionblocks within an outer container (TD.layoutcontentsubmenucolumn). You can specify widths, padding, background images, text styles, and hide elements like menu bullets.
    • Super Menu Styling: The super menu uses a float grid layout with default styles that can be overridden by adding unique classes and adjusting properties like width, background, margins, borders, and font styles.
    • CSS Class Selectors and Rules: The examples include detailed CSS selectors for various menu elements such as titles, links, separators, and menu bar items, allowing for precise control over each part of the menu presentation.
    • Visual Enhancements: Use of background images, box shadows, and text transformations improves menu readability and aesthetics, such as uppercase headings and colored text links.
    • Integration with Site Layout: Menus are styled in context with existing site layout containers, ensuring seamless visual integration without disrupting page structure.

    Practical Application for ServiceNow Customers

    By applying these CSS customization techniques, ServiceNow customers can:

    • Modify the look and feel of existing menus to better align with branding and user interface guidelines.
    • Enhance navigation usability by adjusting spacing, fonts, and colors to improve clarity and accessibility.
    • Maintain existing menu functionality while applying visual improvements, avoiding the complexity of rebuilding menu systems.
    • Leverage provided CSS examples as templates to build responsive and visually consistent menu styles tailored to their specific portal design.
    • Easily implement changes through the Content Management system’s Style Sheets area, enabling quick iterations and testing.

    Overall, this customization approach empowers ServiceNow customers to create visually appealing, user-friendly navigation menus that integrate smoothly with their portal design and support a positive user experience.

    You can customize menu styles in the style sheets your site uses.

    Navigate to Content Management > Design > Style Sheets to customize style sheets.

    Supplementary page navigation menu example code

    In the following example, look at the CSS class selectors and rules. Also, review how the block containers (div.cms_menu_section_blocks) are defined based on the outer container (TD.layout_content_submenu_column). The outer container is actually a part of the site layout.

    This concept is clearer if you compare the styles to the styles used in the super menu further down in the example. This example shows that there is no need to make a completely new menu system. You can use CSS to change the look and feel of existing menus.
    /*********************************************************************************************************************************************************
       SUB MENU VARIATIONS FOR HORIZONTAL MENUS - Section Blocks Menu (cms_menu_section_blocks UI Macro)
    *********************************************************************************************************************************************************/
    TD.layout_content_submenu_column DIV.cms_menu_section_blocks {
        width: 156px;
        height: auto;
        float: left;
        position: relative;
        border-style: solid;
        margin: 0px 0px 0px 0px;
        border: 0px solid #e0e0e0;
        padding: 0px;
        background: none;
        padding: 24px 12px 0px 12px;
    }
     
    TD.layout_content_submenu_column DIV.sub_menu_section {
        width: 156px;
        height: 20px;
        float: left;
        border-style: solid;
        border: 0px solid #e0e0e0;
        padding: 0px;
        background: none;
        padding: 0px 12px 0px 12px;
    }
     
    SPAN.cms_sub_menu_list_link, TD.submenu_cell A   {
        color: #FFF;
    }
     
    TD.layout_content_submenu_column IMG.menu_bullet{
    	display: none;
    }
     
    TD.cms_menu_section_blocks_title h2, TD.cms_menu_section_blocks_title h2 a, TD.cms_menu_tab_blocks_text h2 {
        margin:0;
        padding: 0px;
        font-size: 11px;
        text-transform: uppercase;
        color: #42C4DD;
        font-weight: normal;
        white-space: nowrap;
    }
     
    TD.layout_content_submenu_column a.cms_menu_block_item {
        margin:0;
        padding: 0px;
        font-size:11px;
        color:#FFF;
    }
     
    TR.layout_content_submenu_row TD.layout_content_submenu_column{
    	background: transparent url(sub_menu_background.gifx) repeat-y center top !important; 
    }
    

    Super menu sections example code

    The following menu is a simple float grid. The defaults are written first. Then, below the "SUPER MENU VARIATIONS..." comment, the defaults are overwritten by adding a containing div with a unique class. In the code that renders the header for the base system, the bottom menu resides in a table cell with the class of cms_header_bottom_menu (refer to the TD.cms_header_bottom_menu CSS selector).
    /*********************************************************************************************************************************************************
       SUB MENU VARIATIONS FOR HORIZONTAL MENUS - Section Blocks Menu (cms_menu_section_blocks UI Macro)
    *********************************************************************************************************************************************************/
     
    TD.layout_content_submenu_column DIV.cms_menu_section_blocks {
        width: 156px;
        height: auto;
        float: left;
        position: relative;
        border-style: solid;
        margin: 0px 0px 0px 0px;
        border: 0px solid #e0e0e0;
        padding: 0px;
        background: none;
        padding: 24px 12px 0px 12px;
    }
     
    TD.layout_content_submenu_column DIV.sub_menu_section {
        width: 156px;
        height: 20px;
        float: left;
        border-style: solid;
        border: 0px solid #e0e0e0;
        padding: 0px;
        background: none;
        padding: 0px 12px 0px 12px;
    }
     
    SPAN.cms_sub_menu_list_link, TD.submenu_cell A   {
        color: #FFF;
    }
     
    TD.layout_content_submenu_column IMG.menu_bullet{
    	display: none;
    }
     
    TD.cms_menu_section_blocks_title h2, TD.cms_menu_section_blocks_title h2 a, TD.cms_menu_tab_blocks_text h2 {
        margin:0;
        padding: 0px;
        font-size: 11px;
        text-transform: uppercase;
        color: #42C4DD;
        font-weight: normal;
        white-space: nowrap;
    }
     
    TD.layout_content_submenu_column a.cms_menu_block_item {
        margin:0;
        padding: 0px;
        font-size:11px;
        color:#FFF;
    }
     
    TR.layout_content_submenu_row TD.layout_content_submenu_column{
    	background: transparent url(sub_menu_background.gifx) repeat-y center top !important; 
    }
    
    
    4.2 2. Super Menu Sections Example Code
    
    This menu is essentially a simple float grid. The defaults are written first. Then, below the "SUPER MENU VARIATIONS..." comment, the defaults are overwritten by adding a containing div with a unique class. In the code that renders the header for the base system, the bottom menu resides in a table cell with the class of "cms_header_bottom_menu" (note the TD.cms_header_bottom_menu CSS selector).
    
    /*******************************************************************************************
       Section Blocks Menu (cms_menu_section_blocks UI Macro)
    *******************************************************************************************/
    div.cms_menu_section_blocks {
        width: 260px;
        height: 260px;
        float: left;
        border-style: solid;
        margin: 0px 0px 12px 12px;
        border: 1px solid #e0e0e0;
        padding: 10px;
        background: url(blue/portal_horizontal_bkg.pngx) repeat-x center bottom; 
    }
     
    p.cms_menu_separator {
        border-top:1px dotted #ccc;
        margin-top: 6px;
        margin-bottom: 6px;
    }
     
    td.cms_menu_section_blocks_title h2, td.cms_menu_section_blocks_title h2 a, td.cms_menu_tab_blocks_text h2 {
        margin:0;
        padding: 0px;
        font-size: larger;
        font-weight: normal;
        color:#444;
    }
     
    a.cms_menu_block_item {
        margin:0;
        padding: 0px;
        color:#999;
        font-size: inherit; 
    }
     
    /*******************************************************************************************
       SUPER MENU VARIATIONS FOR HORIZONTAL MENUS - Section Blocks Menu (cms_menu_section_blocks UI Macro)
    *******************************************************************************************/
    TD.cms_header_bottom_menu .cms_menu_super_menu_bar { /*style the super menu drop down bar */
       z-index: 199;
       float: left;
       background: none;
       margin-left: 44px;
    }
     
    TD.cms_header_bottom_menu div.cms_menu_section_blocks {
        width: 200px;
        float: left;
        border: 0px;
        margin: 0px 0px 12px 0px;
        padding: 0px;   
        background: none; 
    }
     
    TD.cms_header_bottom_menu p.cms_menu_separator {
        border-top:0px dotted #ccc;
        margin-top: 0px;
        margin-bottom: 0px;
    }
     
    TD.cms_header_bottom_menu  .cms_menu_super_menu_bar_item {  /*style an item on the super menu drop down bar*/ 
       z-index: 200;
       float: left; 
       padding-left: 12px; 
       padding-right: 12px;
       padding-bottom: 8px;
       padding-top: 4px;
       cursor: pointer;
       cursor: hand;
       font-weight: bold;
       color: #000;
       border-left: 1px solid #FFF;
       border-top: 1px solid #FFF;
    }
     
    TD.cms_header_bottom_menu  .cms_menu_super_menu_bar_item_selected {  /*style a selected item on the super menu drop down bar*/ 
       z-index: 200;
       float: left; 
       padding-left: 12px; 
       padding-right: 12px;
       padding-bottom: 8px;
       padding-top: 4px;
       cursor: pointer;
       cursor: hand;
       background: #fff url(super_menu_bkg.gifx) no-repeat left top;
       font-weight: bold;
       border-right: 0px solid #CCC;
       border-bottom: 0px solid #CCC;
       border-left: 1px solid #DDD;
       border-top: 1px solid #EEE;
     
    }
     
    TD.cms_header_bottom_menu  .cms_menu_super_menu_content { /* style super menu content block */
       position: absolute;
       z-index: 999;
       height:260px;
       display: none;
       padding: 18px;
       background: #dedfe0 url(super_menu_bkg.gifx) no-repeat left top;
       border-right: 1px solid #CCC;
       border-bottom: 1px solid #CCC;
       border-left: 1px solid #DDD;
       box-shadow: 5px 5px 6px #666;
       -webkit-box-shadow: 5px 5px 6px #666;
       -moz-box-shadow: 5px 5px 6px #666;
       filter: progid:DXImageTransform.Microsoft.dropShadow(color=#666, offX=5, offY=5, positive=true);
    }
     
    TABLE.super_menu_video_table {
        background: #787878 url("grey_background.pngx") repeat-y scroll center top;
    	width: 184px;
    }