Version:

    Updating the Primitives UIKit site header

    The UIKit includes a Header component, which is placed at the top of the site templates. The header includes a site logo, search field, main navigation, utilities navigation and social network links.

    Configuring the Header component

    The header component has configurable settings that allow you to make changes to the header without modifying the Header component. To configure the Header component, navigate to Site Studio > Templates > Master templates. The Header component needs configuring in both the Site template and the Site template - Boxed.

    Configuration options available:

    Header position

    Modifier classes with inline styles are added to the .site-header element to achieve these behaviors.

    • Relative - the header will scroll off-screen as the page is scrolled.
    • Fixed - the header will stay at the top of the screen as the page is scrolled. Page content will scroll underneath it.

    Header color theme

    Choose from Light, Dark, or Colored header themes. The selected theme corresponds to the following custom style class that are applied to the header element.

    • Header light theme - .coh-style-header-light-theme
    • Header dark theme - .coh-style-header-dark-theme
    • Header colored theme - .coh-style-header-colored-theme

    If you would like to update the theme with different colors to match your brand, you can do one of the following:

    1. If you know the colors being changed need to be changed everywhere on the site, change them in Website settings > Color palette. This will then update all uses of the changed color.
    2. If you only want the changes to apply to the header component, add any new colors to your color palette so they can be reused, then update the relevant header theme custom style (Listed above).

    Site logo

    • Site logo -  Upload your site logo. The image will always maintain its aspect ratio. Breakpointed width controls are provided to further restrict the width of the logo. The image will not exceed the height of the header. For example:
      • If the uploaded image has a height greater than the header, it will automatically shrink down to the header height.
      • If the image uploaded has a smaller height than the header, it will be displayed actual size.
    • Alt tag - Provides a text alternative for the logo image that is read by screen readers and is displayed on the screen if the image doesn’t load.

    Desktop menu settings

    Modifier classes with inline styles are added to the .site-header element to achieve these behaviors. They affect the display of the main navigation at the breakpoints laptop and above.

    • Main navigation menu position - Choose from Left, Center and Right. The main menu will be horizontally-aligned according to the option selected. Menu links may wrap onto multiple lines if there isn’t enough horizontal space. If you do not want this to happen, consider reducing the width of your site logo and/or the number of top-level links in your menu.
    • Drop-down menu columns - Select the number of columns you would like your second-level menu links to be split into, creating a mega menu style. If 1 is selected, the second-level links will display in a single column, so only use this option for smaller menus.

    Phone menu settings

    • Menu toggle button ARIA label - This adds a screen reader accessible label to the mobile menu toggle button. This button is visible from the tablet breakpoint down.

    Modifying the Header component

    If the configuration options (listed above) don't meet your requirements, you can directly change the Header component. For example, you may not want to include the Utilities navigation bar. In this case, you would need to remove it from the Header components.

    Before making any changes to the Header component, read the information below to understand how it is built and the best way to make modifications.

    The header component layout canvas can be split into multiple parts:

    • The header element (with class .site-header) - a container that wraps around all other header content.
    • The horizontal utilities bar (with class .utilities-bar-horizontal).
    • Three sibling containers labelled left, centre and right.
    • The vertical utilities bar (with class .utilities-bar-vertical).
    • A container that is a sibling to the .site-header.

    Let’s go into these in a bit more detail.

    Horizontal and vertical utilities bars

    These are separate components that display secondary menu links and social links - their content is the same. The only difference is how they are displayed at different breakpoints - they have unique styles.

    Social links is also a separate component that is added to both utility bars. You will need to update the social links in both utility bars as they are separate instances.

    The horizontal utility bar is the first-child of the .site-header and is displayed above the main header on breakpoints laptop and above.

    The vertical utility bar resides in Container - center > .main-menu-wrapper and is displayed within the mobile menu on breakpoints tablet and below.

    Left, center and right containers

    • The left container houses the site logo. It grows in size to accommodate a center and right-aligned menu, and shrinks to actual size accommodate a left-aligned menu.
    • The center container houses the mobile menu toggle button, main navigation and vertical utilities bar.
    • The right container houses the site search. It grows in size to accommodate a center and left-aligned menu, and shrinks to actual size to accommodate a right-aligned menu

    These sibling containers are critical for menu alignment options to work correctly and must not be deleted, as they grow and shrink with CSS Flexbox properties to support this.

    The contents within these containers can be changed, for example, having the search in the left container and the logo in the right container.

    The left and center containers visually reorder at breakpoints tablet and below so that the logo appears in the middle between the mobile menu toggle button and the search. This is achieved using the Flexbox Order property.

    .site-header container sibling

    In the component form settings, if Header position > Fixed is selected, match heights JS sets the height of this container to the height of .site-header, so that page content does not go under the header until scrolled. This container has no content inside it.

    Match heights are necessary for this as the header has variable height. 

    DX8 knowledge base icon

    Frequently asked questions

    Get instant answers to common questions. Available online 24/7.

    Find answers

    Raise a ticket icon

    Raise a support ticket

    To raise a ticket, sign into Acquia Cloud and select Help in the top menu.

    Raise support ticket

    Acquia

    Copyright © 2020 Acquia, Inc. All Rights Reserved. Drupal is a registered trademark of Dries Buytaert.