This article will show everything you need to know about designing your content using Custom CSS.
Cascading Style Sheet (CSS) describes how HTML elements will be displayed on a screen, paper, or other media. If you’re modifying colors, font types, font sizes, images, element positioning, and more, CSS is the tool for the job!
TEMPLATE SPECIFIC ELEMENTS
- TEACH
- TEXT TEMPLATES
- IMAGE TEMPLATES
- VIDEO TEMPLATES - QUIZ
- MULTIPLE CHOICE
- NUMBER TEMPLATES
- WORDS TEMPLATE
- MATCH TEMPLATES - ENGAGE
- GAMES TEMPLATES
- FEEDBACK TEMPLATES
CSS ANATOMY
© Screenshot from Codeacademy
Always double-check if no curly bracket or semicolon is missing, as it could make other CSS syntax, not work.
💡 COURSE ELEMENTS 💡
Below are selectors and rulesets for the general elements across a course. Be guided by using these colors:
root {
--main-color:#223042; /* dark blue /
--accent-color:#00BAFF; / light blue*/
}
TEMPLATE |
RULESET |
---|---|
All Buttons |
btn.btn { |
Solid Buttons |
.btn.btn-solid { |
Progress Bar |
#indicator { |
Page Counter |
#lesson-header-nav { |
Menu Button |
#lesson-header-nav-menu-btn { |
Top Block Header |
#lesson-header { |
Lesson Title & Line at the Top |
#lesson-header-title-content { |
Line at the Bottom |
#slides { |
Selected Buttons for all Quiz Templates |
.selectable.active .btn {
|
Answer Box |
#slide-answer { |
Continue Button in Answer Box |
#slide-answer-continue { |
General Font for the entire course |
#slides-view { |
Headings |
h1, h2, h3, h4, h5 { |
List Bullet Points |
li::before { |
‘OK, I’m ready!’ Button |
btn.btn-solid.play-game { |
Exit Button |
.slide-exit .btn.btn-solid.slide-up { |
🛠️ WORKAROUNDS 🛠️
Below are some workarounds for the common irksome behaviors we encounter in the day-to-day.
Template |
Ruleset |
---|---|
Arrow up in Sequence and Vertical Series hitting the block header. |
.slide-text-sequence .btn-up {
.slide-image-slider .btn-up { You may adjust the value according to your liking.
|
The Bottom caption box hits the arrow down. |
.slide-image-slider .caption.position-bottom { |
A box around the active symbol in Expandable List due to the brand inheritance/color scheme. |
.slide-expandable-list .item.active .item-button:after { |
Broken thumbnail in YouTube template |
.slide-youtube-video-embed .yt-thumb {
.slide-youtube-video-embed .yt-thumb { Choose one image that will be used for all the YouTube slides. Make sure it’s hosted from a secured website. |
Inconsistent indention of the bulleted list and numbered list in Sequence. |
.slide-text-sequence .text-center ul {
.slide-text-sequence .text-center ol {
.slide-text-sequence ol.md-list>li:before { |
Inconsistent indention and color of “Number 1” in the Scrolling Mix.
|
.slide-scrolling-media ol.md-list>li:before {
|
Bullet points in Scrolling Mix are being cut. |
.slide-scrolling-media ul.md-list { By default, bullet points are working fine. This happens when the imported font is added in the custom CSS, wherein it’s not possible for us to get rid of. |
|
#slides-background {
transition-timing-function: unset!important; |
|
Add the following property and value to the corresponding selector of the template: text-transform: none;
|
|
#lesson-header-title-content {
content-visibility: hidden; |
🔎 TEMPLATE-SPECIFIC ELEMENTS 🔍
TEACH ✏️
TEXT TEMPLATES
Below are selectors and rulesets for the Text Templates for TEACH. Be guided by following these colors:
root { --main-color:#223042; /* dark blue */
--accent-color:#00BAFF; /* light blue*/
}
Template |
Ruleset |
---|---|
|
.slide-text-sequence .btn-up {
.slide-text-sequence .btn-down {
.slide-text-sequence .btn-down:hover, .slide-text-sequence .btn-up:hover { By default, the arrow up and down buttons follow the value of the colors set in .btn.btn. It’s up to you to change them, like what the codes above display. |
|
.slide-expandable-list .btn.btn-solid {
.slide-expandable-list .btn.btn-solid:hover {
.slide-expandable-list .item.active .item-button {
.slide-expandable-list .item.active .item-content {
.slide-expandable-list .item-button:after {
.slide-expandable-list .item.active .item-button:after { Due to the brand inheritance, a box following what’s set in the color scheme surrounds the symbol. As a workaround, add a background: transparent. |
|
.btn-reveal-title.btn.btn-solid.flippable {
.slide-reveal .btn-reveal.active .btn-reveal-desc.flippable { By default, the block's radius will follow the value set in .btn.btn.solid. Unless you declare a different value to change it. Refer to the codes above to see the difference. |
|
.slide-speech-bubble .quote.quote-dk .quote-bg {
.slide-speech-bubble .quote.quote-dk {
.slide-speech-bubble .quote.pull-left.quote-dk:after {
.slide-speech-bubble .quote.pull-right.quote-dk:after {
.slide-speech-bubble .quote.quote-lt .quote-bg {
.slide-speech-bubble .quote.quote-lt {
.slide-speech-bubble .quote.pull-left.quote-lt:after {
.slide-speech-bubble .quote.pull-right.quote-lt:after { |
|
.slide-list ::marker { |
|
.slide-table .table-row:nth-child(odd) {
background: var(--main-color);
.slide-table .table-row:nth-child(even) { |
IMAGE TEMPLATES
Below are selectors and rulesets for the Image Templates for TEACH. Be guided by following these colors:
root { --main-color:#223042; /* dark blue /
--accent-color:#00BAFF; / light blue*/
}
Template |
Ruleset |
---|---|
|
Caption Box (Default) .slide-image-slider .style-default .caption-content { Caption Box (Dark) .slide-image-slider .style-dark .caption-content { Caption Box (Light) .slide-image-slider .style-light .caption-content { Button Up .slide-image-slider .btn-up {
background: #223042; Button Down .slide-image-slider .btn-down { Buttons Up and Down when hovered .slide-image-slider .btn-down:hover, .slide-image-slider .btn-up:hover { Arrow Up .icon-chevron-up:before { Arrow Down .icon-chevron-down:before { |
|
Page when visited .slide-image-gallery .pagination .dot.active { Page when not visited .slide-image-gallery .pagination .dot { |
|
Block .slide-image-collection .tappy-child { Block when visited .slide-image-collection .tappy.visited .tappy-child { |
|
.slide-comparison .slider-knob {
.slide-comparison .slider-knob:before {
.slide-comparison .slider-knob:after {
.slide-comparison .slider { |
|
.slide-scratch-to-reveal.state-touched .btn-replay { |
|
.slide-image-map.waypoint-white .waypoint {
.slide-image-map.waypoint-black .waypoint {
.slide-image-map.is-loaded .waypoint.tapped {
|
|
.slide-image-waypoints.guided-false .waypoint:after {
}
.slide-image-waypoints.guided-false .waypoint.tapped:after {
}
.slide-image-waypoints.waypoint-white .waypoint:before {
.slide-image-waypoints.waypoint-white .waypoint:hover:before {
.slide-image-waypoints.waypoint-white .waypoint:hover:before { |
|
.slide-image-waypoints .prev-wp, .slide-image-waypoints .next-wp {
}
.icon-chevron-left:before {
.icon-chevron-right:before { |
|
.slide-scrolling-media.image-focus-true .multi-content-wrapper-image:after {
.slide-scrolling-media img.multi-content { |
|
.slide-image .img-compose {
.pswp__item { This code also applies when you click and zoom an image on Scrolling Mix. |
|
.slide-media-collection .tappy .tappy-child {
.slide-media-collection .tappy.visited .tappy-child { |
VIDEO TEMPLATES
Below are selectors and rulesets for the Video Templates for TEACH. Be guided by using these colors:
root {
--main-color:#223042; /* dark blue /
--accent-color:#00BAFF; / light blue*/
}
Template |
Ruleset |
---|---|
|
.video-js .vjs-tech {
background: white;
.video-js .vjs-big-play-button {
.video-js .vjs-big-play-button:before { |
|
.slide-video-collection .tappy-child.dark:before {
.slide-video-collection .tappy.visited .tappy-child {
.slide-video-collection .thumb-content { |
|
.video-play, .video-replay {
.video-play.__active, .video-replay.__active {
.video-play:before, .video-replay:before {
.slide-youtube-video-embed .yt-thumb { |
|
The Play Button and Icon used on YouTube are the same as the Vimeo template
.vimeo-thumb.content-ver { |
-
QUIZ 📚
MULTIPLE CHOICE TEMPLATES
Below are selectors and rulesets for the Multiple Choice Templates for QUIZ. Be guided by using these colors:
root {
--main-color:#223042; /* dark blue /
--accent-color:#00BAFF; / light blue*/
}
Template |
Ruleset |
---|---|
|
.slide-multiple-choice-game .selectable.active .btn {
.slide-multiple-choice-game.state-complete .selectable.correct .btn {
.slide-multiple-choice-game.state-complete .selectable.incorrect .btn {
.slide-multiple-choice-game .selectable .btn:before {
.slide-multiple-choice-game .selectable.active .btn:before {
.slide-multiple-choice-game .selectable.active .btn:after {
.slide-multiple-choice-game .block-dk { |
|
.slide-circle-the-answer .circle-box.active .circle-box-text {
.slide-circle-the-answer.state-complete .circle-box.active.incorrect { |
|
.slide-chat .message--question {
.slide-chat .message--question:after {
.slide-chat.show-msg-true .selectable {
.slide-chat.show-msg-true .selectable:after {
.slide-chat.show-msg-true .selectable.active {
.slide-chat.show-msg-true .selectable.active:after {
.slide-chat.state-complete .chat-msg.correct {
.slide-chat.state-complete .chat-msg.correct:after {
.slide-chat.state-complete .chat-msg.incorrect {
.slide-chat.state-complete .chat-msg.incorrect:after { |
|
.slide-matrix.game-slide .selectable.active .btn {
.slide-matrix.game-slide .block-dk {
.slide-matrix.game-slide .selectable .btn:before {
.slide-matrix.game-slide .selectable.active .btn:before {
.slide-matrix.game-slide .selectable.active .btn:after { |
|
.slide-categorise .droppy.active .droppy-child {
.slide-categorise.state-complete .droppy-true.active .droppy-child {
.slide-categorise.state-complete .droppy-false.active .droppy-child {
.slide-categorise .btn-text {
.slide-categorise .droppy {
.slide-categorise .droppy-child.block-dk.text-center.text-lg.slide-left, .slide-categorise .droppy-child.block-dk.text-center.text-lg.slide-right { |
|
.slide-image-multiple-choice .tappy.active {
.slide-image-multiple-choice.state-complete .tappy.correct {
.slide-image-multiple-choice.state-complete .tappy.incorrect.active {
.slide-image-multiple-choice .tappy-selection {
.slide-image-multiple-choice .tappy.active .tappy-selection {
.slide-image-multiple-choice .tappy.active .tappy-selection:after { |
|
.slide-carousel .block-dk {
.slide-carousel .carousel-item:before {
.slide-carousel .pagination .page.active {
.slide-carousel .pagination .page { |
NUMBER TEMPLATES
Below are selectors and rulesets for the Number Templates for QUIZ. Be guided by following these colors:
root {
--main-color:#223042; /* dark blue /
--accent-color:#00BAFF; / light blue*/
}
Template |
Ruleset |
---|---|
|
.slide-dial .dial-ring {
.slide-dial .dial-knob {
.slide-dial.dial-knob-value{
.slide-dial .dial-knob-value:after { |
|
.slide-dial-distribution .dial-ring {
.slide-dial-distribution .dial-knob {
.slide-dial-distribution.dial-knob-value{
.slide-dial-distribution .dial-knob-value:after { |
|
.slide-pie-chart .pie-ring { The color to be set here should have an adjusted opacity. Do not use full solid color.
.slide-pie-chart .pie-ring-value { |
|
.slide-ratio .ratio-bar {
.slide-ratio .ratio-bar-container {
.slide-ratio .ratio-value-amount { |
|
.slide-slider .slider-knob {
.slide-slider .slider-bar {
.slide-slider .slider-notch:before, .slide-slider .slider-notch:after {
.slide-slider .slider-knob-value {
.slide-slider .slider-knob-value:after { |
WORDS TEMPLATES
Below are selectors and rulesets for the Words Templates for QUIZ. Be guided by following these colors:
root {
--main-color:#223042; /* dark blue /
--accent-color:#00BAFF; / light blue*/
}
Template |
Ruleset |
---|---|
|
.slide-missing-word .fade-in { Use the above code if your texts are in uppercase, and you want to change it to lowercase.
.slide-missing-word .draggy {
.slide-missing-word .block-dk { |
|
.slide-strikeout .fade-in { |
|
.slide-construct .statement {
.slide-construct.game-playing .letter {
.slide-construct .block-dk { |
|
.slide-construct-sentence .droppy-container {
.slide-construct-sentence .draggy .btn {
.slide-construct-sentence .block-dk {
|
MATCH TEMPLATES
Below are selectors and rulesets for the Match Templates for QUIZ. Be guided by following these colors:
root {
--main-color:#223042; /* dark blue /
--accent-color:#00BAFF; / light blue*/
}
Template |
Ruleset |
---|---|
|
.slide-connect .connect-box {
.slide-connect .connect-box.active {
.slide-connect .connect-box.complete { |
|
.slide-drag-to-match .draggies .block-dk {
.slide-drag-to-match .droppy-zone { |
|
.slide-reorder.ready .draggy .btn:before {
.slide-reorder.ready .draggy-container {
.slide-reorder.ready .btn.btn-solid.btn-block { |
|
.slide-image-pair .image-container {
.slide-image-pair .image-container.left:after, .slide-image-pair .image-container.right:after { |
|
.slide-tap-in-order .tappy-child {
.slide-tap-in-order .tappy.active .number {
|
ENGAGE 🎮
GAMES TEMPLATES
Below are selectors and rulesets for the Games Templates for ENGAGE. Be guided by using these colors:
root {
--main-color:#223042; /* dark blue /
--accent-color:#00BAFF; / light blue*/
}
Template |
Ruleset |
---|---|
|
.slide-game-true-or-false .game-statement {
.slide-game-true-or-false .game-false {
.slide-game-true-or-false .game-true {
.slide-game-true-or-false .game-false.active {
.slide-game-true-or-false .game-true.active { |
|
.slide-game-image-word-match .btn-word {
.slide-game-image-word-match .btn-word.__active {
.slide-game-image-word-match .multi-content-text {
.slide-game-image-word-match .match-image-container { |
|
.slide-game-memory .btn.btn-solid {
.slide-game-memory .btn.btn-solid:hover { |
|
.slide-game-jumble .jumble-letters {
.slide-game-jumble .draggy .letter {
.slide-game-jumble .draggy.active .letter {
.slide-game-jumble .draggy.active-pos.is-positioned .letter {
.slide-game-jumble.active .letter { |
|
.slide-find-a-word .grid-container {
.slide-find-a-word .grid-highlight.complete { |
|
.slide-game-next-in-order .next-options {
.slide-game-next-in-order .next-sequence.block-dk.block-sm { |
|
.slide-game-elevator .block-dk.content-fill {
.slide-game-elevator .direction-column { |
|
.slide-game-jeopardy .block-md.block-dk {
.slide-game-jeopardy .game-category-title { |
FEEDBACK TEMPLATES
Below are selectors and rulesets for the Feedback Templates for ENGAGE. Be guided by using these colors:
root {
--main-color:#223042; /* dark blue /
--accent-color:#00BAFF; / light blue*/
}
Template |
Ruleset |
---|---|
|
.icon.icon-pencil {
.icon-pencil:before {
#text-input-view #text-input-prompt { |
|
.active.slide-slider-survey .slider-knob-input {
.slide-slider-survey .slider-bar {
.slide-slider-survey .slider-notch:before, .slide-slider-survey .slider-notch:after {
.slide-slider-survey .slider-knob-value {
.slide-slider-survey .slider-knob-value:after {
.slide-slider-survey .slider-label-min, .slide-slider-survey .slider-label-max {
.slide-slider-survey .slider-label-min:after, .slide-slider-survey .slider-label-max:after { |
|
.slide-multiple-choice-survey .btn.btn-solid {
.slide-multiple-choice-survey .selectable .btn:before {
.slide-multiple-choice-survey .selectable.active .btn:before {
.slide-multiple-choice-survey .selectable.active .btn:after { |
|
.slide-quadrant-survey .btn.btn-solid {
.slide-quadrant-survey .slide-content .quadrant .quadrant-zone {
.slide-quadrant-survey .slide-content .quadrant .quadrant-zone:nth-child(1) {
.slide-quadrant-survey .slide-content .quadrant .quadrant-zone:nth-child(2) {
.slide-quadrant-survey .slide-content .quadrant .quadrant-zone:nth-child(3) {
.slide-quadrant-survey .slide-content .quadrant .quadrant-zone:nth-child(4) { |
Reference Websites
Learn more about CSS: CSS Tutorial
CSS Gradient: CSS Gradient — Generator, Maker, and Background
CSS Shapes: CSS Clip-Path Generator - CSS Portal
Introduction to CSS Course: Learn CSS