Day 4: Banner 🚩
A banner is an element that highlights information, like a website page or an event or Advent of UI components.
The component could be seen at the top of the site.
A few notes about this banner component:
- CSS Variables are used for colors,
position: sticky
andtop: 0
declarations are used for “sticking” the banner to the top of the page without affecting the layout,linear-gradient
as a background,-webkit-background-clip: text;
, and-webkit-text-fill-color: transparent;
declaration are used for gradient text color.border-top-color
andborder-bottom-color
properties are used for hover style,- to respect the user preference for reduced motion,
--transition-duration-xmas
CSS variable is set to0s
(read more about using CSS Variables for reduced motion on a global scale).
The code:
<div class="advent-banner">
<p><a href="/side-projects/advent/">Check my Advent of UI components 2021!</a></p>
</div>
.advent-banner {
--color-xmas-alpha: #f7efef;
--color-xmas-beta: #d72621;
--color-xmas-gamma: #639565;
--transition-duration-xmas: .3s;
background-color: var(--color-xmas-alpha);
text-align: center;
position: sticky;
top: 0;
z-index: 1;
}
.advent-banner p,
.advent-banner a {
background-image: linear-gradient(to right, var(--color-xmas-beta), var(--color-xmas-gamma));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.advent-banner p {
margin: 0;
}
.advent-banner a {
padding: .3em;
border: .3em solid transparent;
transition: border-color var(--transition-duration-xmas);
}
.advent-banner a:hover,
.advent-banner a:focus,
.advent-banner a:active {
border-top-color: var(--color-xmas-gamma);
border-bottom-color: var(--color-xmas-beta);
}
@media (prefers-reduced-motion: reduce) {
.advent-button {
--transition-duration-xmas: 0s;
}
}
Advent of UI components 🎄
Check other UI components.
Day 24: Details 🎹
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 24: Details.
Day 23: Radio button 📱
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 23: Radio button.
Day 22: Checkbox 🧦
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 22: Checkbox.
Day 21: Notification 🤫
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 21: Notification.
Day 20: Code block 💻
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 20: Code block.
Day 19: Pagination 📖
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 19: Pagination.
Day 18: Social share 🔗
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 18: Social share.
Day 17: Card 🎴
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 17: Card.
Day 16: Table 🎶
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 16: Table.
Day 15: Breadcrumb 🍞
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 15: Breadcrumb.
Day 14: Blockquote 💬
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 14: Blockquote.
Day 13: List 🗒️
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 13: List.
Day 12: Figure 🖼️
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 12: Figure.
Day 11: Video embed 📺
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 11: Video embed.
Day 10: Footer 👇
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 10: Footer.
Day 9: Header ☝️
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 9: Header.
Day 8: Hero 🦸♂️
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 8: Hero.
Day 7: Intro 💬
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 7: Intro.
Day 6: Horizontal rule 〰️
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 6: Horizontal rule.
Day 5: Split 💔
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 5: Split.
Day 3: Gallery 🍿
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 3: Gallery.
Day 2: Tag 🎁
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 2: Tag.
Day 1: Button 🎅
During every day of the Advent of UI components, I am showcasing a new UI Component built with HTML, CSS, and JavaScript. Day 1: Button.