ScheduleJS is rendered through native HTML elements. Each of the rendered items has its own class and can be accessible in a Stylesheet. You can inspect the rendered application using your web browser developer tools and identify the classes you need from here.

Concerning the Angular View encapsulation parameter, Encapsulation.None is recommended. You might have to use the ::ng-deep selector and/or the !important keyword for your style to be applied correctly.

Example styling

In the following example we are going to override the dateline styles. Let's say we want every day of the week to be displayed on a gray background, with some white text. On the other hand, let's say we want every Sunday of the week to be displayed on a white background, with black text.

You can see the resulting dateline where you can differentiate days using gray background and white text, and Sundays using white background and black text. Below, you will find the associated Stylesheet and Angular Template.

Stylesheet:

.../demo-covid-tracker.component.scss
// ...
.demo-covid-tracker-date-line {      // Class applied to the <schedule-date-line> Angular Component.
  
  .schedule-date-line-cell {         // Override the ScheduleJS generic 'schedule-date-line-cell' class.
    background: #404040;             // Use gray background.
    color: white;                    // Use white text.
  }

  .sunday {                          // Override the 'sunday' ScheduleJS 'schedule-date-line-cell' helper class.
    background: white;               // Use white background.
    color: black;                    // Use black text.
  }
            
  .schedule-date-line-cell:after {   // Override the ScheduleJS 'schedule-date-line-cell:after' pseudo class.
    box-shadow: none;                // Remove box-shadow.
  }

}
// ...

Angular Template:

.../demo-covid-tracker.component.html
<!-- ... -->
<schedule-date-line class="demo-covid-tracker-date-line"
                    [gantt]="gantt">
</schedule-date-line>
<!-- ... -->

ScheduleJS classes

For your convenience, the following table lists the main components, their child elements and their associated style classes.

Reminder: A CSS variable named --info-column-width exists to dynamically get the width of the Info Column (left row) directly in your Stylesheet. You can use it to set the width of the Info Column Headers or for a Filler component to complete the space located on the left-hand side of the Timeline.
ex: width: var(--info-column-width);

ComponentDepth

Nearest Parent

ElementCSS Class
Dateline0Angular ComponentDate Line Row
schedule-date-line-row

1Date Line RowDate Line Cell
schedule-date-line-cell

1Date Line RowTop Cell Helper Class
top

1Date Line RowBottom Cell Helper Class
bottom

1Date Line RowMonth Cell Helper Class
january / februay / march / april / may / june / july / august / september / october / november / december

1Date Line RowWeekday Cell Helper Class
monday / tuesday / wednesday / thursday / friday / saturday / sunday
Eventline0Angular ComponentEvent Line Row
schedule-event-line-row

1Event Line RowInterval Start
schedule-event-line-start-span

1Event Line RowInterval End
schedule-event-line-end-span

1Event Line RowLine Cursor
schedule-event-line-cursor-span
GanttChart0Angular ComponentGantt Graphic
schedule-gantt-graphic

1Gantt GraphicBelow View Transversal Canvas Container
schedule-gantt-graphic-below-view-transversal-canvas-container

2Below View Transversal Canvas ContainerBelow View Transversal Canvas
schedule-gantt-graphic-below-view-transversal-canvas

1Gantt GraphicGantt Rows Container
schedule-gantt-rows-container

2Gantt Rows ContainerGantt Rows Viewport
schedule-gantt-rows-viewport

3Gantt Rows ViewportViewport Whole Container
viewport-whole-container

4Viewport Whole ContainerViewport Container
viewport-container

5Viewport ContainerViewport Margin Top
viewport-margin-top-filler

5Viewport ContainerViewport
viewport

6ViewportViewport Rows
viewport-rows-container

7Viewport RowsRow
schedule-gantt-row

8RowInfo Row
schedule-gantt-row-info-container

9Info RowInfo Template
schedule-gantt-row-info-template-container

10Info TemplateInfo Row Index
schedule-gantt-row-info-index-box

10Info TemplateInfo Row Name
schedule-gantt-row-info-text-box

10Info TemplateResize Handle Container
schedule-gantt-row-info-resize-handle

11Resize Handle ContainerResize Handle
resize-handle-content

8RowRow Canvas
schedule-gantt-row-canvas

6ViewportBelow Rows Transversal Content Container
viewport-rows-transversal-below-content-container

7Below Rows Transversal Content ContainerBelow Rows Transversal Canvas Container
schedule-gantt-graphic-below-rows-transversal-canvas-container

8Below Rows Transversal Canvas ContainerBelow Rows Transversal Canvas
schedule-gantt-graphic-below-rows-transversal-canvas

6ViewportAbove Rows Transversal Content Container
viewport-rows-transversal-above-content-container

7Above Rows Transversal Content ContainerAbove Rows Transversal Canvas Container
schedule-gantt-graphic-above-rows-transversal-canvas-container

8Above Rows Transversal Canvas ContainerAbove Rows Transversal Canvas
schedule-gantt-graphic-above-rows-transversal-canvas

5Viewport ContainerViewport Margin Bottom
viewport-margin-bottom-filler

4Viewport Whole ContainerViewport Pointer Events None Scroll Glass
viewport-pointer-events-none-scroll-glass

1Gantt GraphicAbove View Transversal Canvas Container
schedule-gantt-graphic-above-view-transversal-canvas-container

2Above View Transversal Canvas ContainerAbove View Transversal Canvas
schedule-gantt-graphic-above-view-transversal-canvas