mirror of
https://github.com/tenrok/bootstrap.git
synced 2026-06-05 16:42:29 +03:00
015d729445
Heavily WIP still, but this begins the process of implementing dark mode for our docs and across the project itself. - Color modes are toggled in the docs navbar with a custom toggler, which stores the select color mode in local storage. - Color modes can also be set via data attribute thanks to `data-theme` (with light or dark options available currently). - Docs are heavily WIP for demonstrating the dark mode. - In order to best implement color modes, I've spiked out a number of new Sass and CSS variables (e.g., `--bs-secondary-bg` and `--bs-tertiary-bg`). In addition, I've added new global CSS variables like `--bs-border-color` and more. So, in addition to general color modes and theming support, we get greater real-time customization, too. Todos and open questions: - [ ] Do we refer to these as themes or color modes? - [ ] Do we provide a color mode toggler JS plugin? - [ ] Update all components to better utilize global CSS variables so they can be more easily themed (e.g., see `$dropdown-*` Sass variable changes in the diff).
86 lines
2.0 KiB
SCSS
86 lines
2.0 KiB
SCSS
.bd-masthead {
|
|
--bd-pink-rgb: #{to-rgb($pink)};
|
|
padding: 3rem 0;
|
|
// stylelint-disable
|
|
background-image: linear-gradient(180deg, rgba(var(--bs-body-bg-rgb), .01), rgba(var(--bs-body-bg-rgb), 1) 85%),
|
|
radial-gradient(ellipse at top left, rgba(var(--bs-primary-rgb), .5), transparent 50%),
|
|
radial-gradient(ellipse at top right, rgba(var(--bd-accent-rgb), .5), transparent 50%),
|
|
radial-gradient(ellipse at center right, rgba(var(--bd-violet-rgb), .5), transparent 50%),
|
|
radial-gradient(ellipse at center left, rgba(var(--bd-pink-rgb), .5), transparent 50%);
|
|
// stylelint-enable
|
|
|
|
h1 {
|
|
@include font-size(4rem);
|
|
}
|
|
|
|
.lead {
|
|
@include font-size(1rem);
|
|
font-weight: 400;
|
|
color: var(--bs-secondary-color);
|
|
}
|
|
|
|
.highlight {
|
|
padding: .5rem 4rem .5rem 1rem;
|
|
margin-bottom: 0;
|
|
line-height: 1.25;
|
|
background-color: rgba(var(--bs-body-color-rgb), .075);
|
|
@include border-radius(.5rem);
|
|
}
|
|
.btn-clipboard {
|
|
margin-top: .4rem;
|
|
background-color: transparent;
|
|
}
|
|
|
|
#carbonads { // stylelint-disable-line selector-max-id
|
|
margin-inline: auto;
|
|
}
|
|
|
|
@include media-breakpoint-up(md) {
|
|
.lead {
|
|
@include font-size(1.5rem);
|
|
}
|
|
}
|
|
}
|
|
|
|
.bd-masthead-followup {
|
|
.lead {
|
|
@include font-size(1rem);
|
|
}
|
|
|
|
.highlight {
|
|
@include border-radius(.5rem);
|
|
}
|
|
|
|
@include media-breakpoint-up(md) {
|
|
.lead {
|
|
@include font-size(1.25rem);
|
|
}
|
|
}
|
|
}
|
|
|
|
.bd-btn-lg {
|
|
padding: .8rem 2rem;
|
|
}
|
|
|
|
.masthead-followup-icon {
|
|
padding: 1rem;
|
|
color: rgba(var(--bg-rgb), 1);
|
|
background-color: rgba(var(--bg-rgb), .1);
|
|
background-blend-mode: multiple;
|
|
@include border-radius(1rem);
|
|
mix-blend-mode: darken;
|
|
|
|
svg {
|
|
filter: drop-shadow(0 1px 1px #fff);
|
|
}
|
|
}
|
|
|
|
.masthead-followup-svg {
|
|
filter: drop-shadow(0 1px 0 rgba(0, 0, 0, .125));
|
|
}
|
|
|
|
.masthead-notice {
|
|
background-color: var(--bd-accent);
|
|
box-shadow: inset 0 -1px 1px rgba(var(--bs-body-color-rgb), .15), 0 .25rem 1.5rem rgba(var(--bs-body-bg-rgb), .75);
|
|
}
|