Specyfikacja CSS jest zawsze ewoluująca. Proces wdrażania nowych funkcji w CSS jest skomplikowany, ale wersja uproszczona jest to, że grupa robocza CSS decyduje się na nowych elementach, które należy dodać do specyfikacji. Jest wtedy do przeglądarek do wdrożenia tych nowych elementów, a przeglądarki wybierają, w których ich wdrożenie, dlatego teraz mamy niedopasowanie wsparcia dla nowych funkcji. Chociaż może to być irytujące, to znacznie lepszy sposób, aby zrobić to niż przeglądarki wdrażające pełną specyfikację, jak widzieliśmy we wczesnych dniach sieci. Jeśli martwisz się o swojej witrynie, pracując nad pełną zdolnością, zaciągnij wsparcie wspierającego hosting usługa.
Wszystko to brzmi jak za dużo pracy? Trzymaj rzeczy proste z Kreator strony internetowej .
Grupa robocza CSS składa się z członków ze wszystkich głównych dostawców przeglądarki i innych firm technologicznych, takich jak Apple i Adobe. Apple, po ostatnim uruchomieniu nowej wersji MacOS, chciała sposobu wykrycia snazzy nowego trybu w przeglądarce. Aby to zrobić, Apple popchnął rekomendację specyfikacji na nowy poziom 5 Media Query.
@MEDIA (Prefero-kolorowy schemat: Light | Ciemny)
{...}
Korzystając z tego zapytania o media, możemy wykryć, czy użytkownik jest obecnie używany światła lub ciemnego trybu w systemie operacyjnym. W tej chwili jest to obsługiwane przez Safari Technology Preview 69 i więcej, ale pozostałe przeglądarki nie powinni być daleko w tyle.
W celu przetestowania tego musisz zostać zaktualizowany do Mojave 10.14 (MacOS) i wybrał ciemny wygląd w preferencjach systemowych. Jest kilka sposobów, jakie możemy użyć tego nowego zapytania medialnego, aby wdrożyć różne tematy. Przeglądamy z nich kilka z nich w tym samouczku.
Aby rozpocząć, musimy stworzyć pewne elementy HTML do stylu, więc zaczniemy, tworząc nowe pióro na kodepen i dodając elementy. Dodamy pojemnik na naszą zawartość, aby go wyśrodkować, a niektóre nagłówki i tekst. Ustawimy CSS do użycia Sass w celu użycia zagnieżdżenia w CSS.
Następnie dodamy kilka podstawowych stylów i zawierać kilka czcionek z Google, aby nasza strona była nieco ładniejsza. Stylizujemy wszystkie nasze podstawowe elementy, stosując nowe rozmiary czcionek, kolorów i czcionek.
Ciało {
Czcionka-rodzina: "Merriweather", Serif;
kolor-kolor: #ededed;
kolor: # 212121;
Wyściółka: 1.618rem;
Wysokość linii: 1,618;
Rozmiar czcionki: 16px;
}
Następnie będziemy stylować nasz kontener, aby zawartość wygodnej długości linii do czytania. Dodamy również kolor tła i rozwiń cień. Aby wyśrodkować skrzynkę zawartości na stronie, użyjemy słów kluczowych "Auto" na lewej i prawej wartości właściwości marginesu.
.Content-kontener {
Wyściółka: 1.618REM 3.236REM;
Max-szerokość: 48,54REM;
Marża: 3.236rem Auto;
Tło-kolor: #FFF;
Box-Shadow: 0 0 12px 6px RGBA (0,0,0.05);
Radius Border: 0,26966667REM;
}
Większość stron internetowych wykorzysta gdzieś kolor, a w tej chwili mamy tylko białe i szare, więc teraz wybierz kolor podświetlenia i utworzyć styl do zastosowania tego koloru. Zastosujemy kolor za pomocą znacznika rozpiętości i użyje go, aby podkreślić coś w naszej treści.
Teraz mamy stronę z podstawowymi stylami, spójrzmy na sposób, w jaki możemy wdrożyć zapytanie multimedialne. Włączmy go i zacznij naddrodzić niektóre nasze style. Zaczniemy od stylów ciała.
@media (Prefer-Color-Scheme: Ciemny)
{
ciało {
kolor-kolor: # 111;
}
}
Teraz, gdy widzimy zapytanie do mediów pracuje, a nasz kolor tła ciała zmienił się, musimy zastąpić wszystkie nasze pozostałe style.
.Content-kontener
{
kolor biały;
kolor-kolor: # 212121;
}
.text - Alpha {
kolor: # 50a8d8;
}
Chociaż właśnie zrobiliśmy prace doskonale do naszego demo i może być utrzymywane na mniejszych stronach internetowych, ta metoda byłaby koszmarem do zarządzania w większym projekcie, z dużą ilością różnych elementów, które wszystkie wymagają nadrzędnej. Dokonujemy również dużego korzystania z kaskady w naszym przykładzie, podczas gdy duży system może wymagać większej specyficzności, aby kierować wszystkie elementy.
Jak inaczej możemy rozwiązać problem? Spójrzmy na filtry CSS. Jedną z wartości, których można użyć na filtrach CSS, jest "odwrócić", więc moglibyśmy zastosować to do HTML i odwrócić wszystkie kolory, dając nam "Mroczny tryb".
@Media (Prefer-Color-Scheme: Dark) {
html {
Filtr: odwróć (100%);
}
}
Podczas gdy metoda filtra działa z treścią, którą mamy w naszym dokumencie, nadal nie wygląda świetnie - nasze cień pudełko, na przykład, również odwrócił, co wygląda dość dziwne. Straciliśmy kontrolę nad stylami, która staje się jeszcze większy problem, gdy masz kolorowe tła. Mamy również zupełnie nowy problem do rozważenia, gdy są zaangażowane obrazy. Zobaczmy, co się dzieje, gdy dodajemy obraz do naszej strony.
Metody, których do tej pory badaliśmy, albo powodują, że stracimy kontrolę nad stylami lub wymagają dużo konserwacji, aby upewnić się, że wszystko jest aktualizowane w ciemnym trybie. Jest inny sposób, w jaki możemy się do tego zbliżyć: możemy użyć niestandardowych właściwości, aby zdefiniować nasze kolory, a następnie zastąpić je za pomocą zapytania o media.
Aby użyć niestandardowych właściwości, definiujemy je na szczycie naszych CSS wewnątrz " :korzeń ' element. Element korzeniowy ma taki sam zakres jak HTML, więc będzie dostępny na całym świecie. Musimy zdecydować o nazwach zmiennych i zdefiniować ich wartości.
: Root {
- kolorground-kolor: #ededed;
--Page-background: #fff;
--Text-color: # 212121;
- Kolor-alfa: # C3423F;
}
Teraz mamy pewne niestandardowe właściwości zdefiniowane, możemy korzystać z nich w naszych CSS. Zaczniemy od ciała i zastosujemy tła i kolory tekstowe. W celu użycia niestandardowej nieruchomości używamy " var (- nazwa własności niestandardowej) "Składnia.
Ciało {
kolor-kolor: var (- kolor w tle);
kolor: var (- kolor tekstowy);
}
Korzystając z tej samej metody, możemy również zaktualizować "kolor tła" naszego kontenera i "kolor" naszych " tekst-alfa. "Klasa do korzystania z naszych właściwości niestandardowych. Wszystkie kolory na naszej stronie są teraz kontrolowane za pomocą właściwości niestandardowych.
.Content-kontener {
Tło-kolor: var (- strona);
}
.text - Alpha {
kolor: var (- kolor-alfa);
}
Teraz możemy ponownie dodać zapytanie multimedialne, ale tym razem możemy zastąpić niestandardowe wartości właściwości, które są w niej. Umieścimy to tuż po pierwotnej definicji głównej, a wewnątrz zapytania o media możemy teraz wybrać nowe wartości dla wszystkich naszych kolorowych właściwości niestandardowych.
@Media (Prefer-Color-Scheme: Dark) {
: root {
- kolorground-kolor: # 111;
--Page-tło: # 212121;
--Text-color: #ededed;
- Kolor-alfa: # 50a8d8;
}
}
Właściwości niestandardowe dają nam pełną kontrolę, aby wybrać kolory i inne właściwości, których zmieniamy i używamy. Zaktualizujmy cień pudełko na naszym pojemniku na stronie, aby był mniej przezroczysty podczas korzystania z trybu Dark. Aby to zrobić, musimy utworzyć nową własność niestandardową dla cienia strony.
: Root {
...
--Page-Cień: 0 0 12PX 6PX RGBA
(0,0,0 0.05);
}
Teraz stworzyliśmy kolejną nieruchomość niestandardową, musimy zastosować go do właściwego elementu na stronie. Następnie możemy zastąpić wartość wewnątrz naszego elementu korzeniowego w celu zmniejszenia przejrzystości.
@Media (Prefer-Color-Scheme: Dark) {
: root {
...
--page-Cień:
0 0 12PX 6PX RGBA (0,0,0,0.33)
;
}
}
.Content-kontener {
...
Box-Shadow: Var (- Page-Shadow);
}
Teraz dodajmy obraz z powrotem do naszej zawartości, a następnie możemy dodać kilka podstawowych stylów, aby płynąć obraz obok treści.
img {
Szerokość: 100%;
Wysokość: Auto;
Float: Left;
Max-szerokość: 300px;
margines prawy: 1,618REM;
margines-dno: 1,618REM;
}
Jak widać, ponieważ nie używamy żadnych filtrów, obraz nie jest zmieniany między dwoma motywami.
Teraz mamy nasze niestandardowe właściwości, możemy nadal dodawać elementy do strony i stylizować je z naszymi zmiennymi. Utwórzmy klasę przycisku i dodaj przycisk na naszą stronę.
.Button {
Wyświetlacz: inline-flex;
Czcionka: dziedziczyć;
kolor-kolor: var (- kolor-alfa);
kolor: var (- kolor tekstowy);
Wyściółka: 1.618REM 3.236REM;
Granica: 0 Brak;
Promień graniczny: 0,25rem;
Tekst dekoracji: Brak;
}
Korzystając z tych samych zmiennych, możemy również utworzyć styl wlewu, który może być używany do obu tematów. Aby to osiągnąć, odwrócimy kolory, gdy użytkownik unosimy się na przycisku i przejść te właściwości, aby doświadczyć mniej wstrząsania.
.Button {
...
przejście: kolor tła 150 ms,
kolor 150 ms;
& amp;: hover {
Tło-kolor: var (- kolor tekstowy);
kolor: var (- kolor-alfa);
}
}
Właściwości niestandardowe mają taki sam zakres jak regularne elementy CSS; Oznacza to, że możemy je zastąpić za pomocą bardziej szczegółowego selektora. Możemy skorzystać z tego i tworzyć kilka zmiennych, które są zasłonione do naszego przycisku.
.Button {
- Button-background: var (- kolor-alfa);
- Button-Tekst: Var (- Tło-kolor);
Tło-kolor: var (- tło);
Kolor: Var (- Tekst ");
...
}
Możemy wykorzystać ten zakres, aby utworzyć różne style i wświęcić interakcje dla naszego przycisku w tematyckich motywach. Możemy zmienić wartość naszych zmiennych w oparciu o zapytanie multimedialne lub stan elementu, zamiast powtarzać właściwość o nowej wartości, jak zwykle byśmy normalnie.
.Button {
...
& amp;: hover {
- Button-tło: # AE3937;
@media (Prefer-Color-Scheme: Dark) {
- Button-tła: # 2E98D1;
- Button-Tekst: Var (- Background-
kolor);
}
}
}
Praca na kompilacji z zespołem? Utrzymuj proces spójny z przyzwoitym magazyn w chmurze .
Ten artykuł został pierwotnie opublikowany w wydaniu 283 Magazynu kreatywnego projektowania stron internetowych Projektant stron internetowych . Kup problem 283. lub Subskrybuj tutaj projektant stron internetowych .
Powiązane artykuły:
(Kredyt obrazu: Aaron Blaise) Uczenie się, jak rysować zwierzęta, jest integralną częścią ilustracji. Od scen ..
(Kredyt obrazu: Antony Ward) Zdolność do wykonywania retopologii w Majowie jest użyteczną umiejętnością. Retop..
(Kredyt obrazu: przyszłość) Tworzenie strony Landingowej WebGL 3D jest jednym ze sposobów na dobre pierwsze wraż..
To dzięki animacji, które mają sens świata: drzwi swingowe otwarte, samochody jeżdżą do ich miejsc, usta zwija się na uś..
Podczas zbliżania się do modelu lub sceny, która wymaga wyrafinowanego modelowania oferowanego przez rzeźbienia, wielu artyst..
Strona 1 z 4: Strona 1 Strona 1 Strona 2 Strona 3. ..
Czy masz ochotę na więcej nauki na temat systemów projektowych? Więc nie przegap starszego inżyniera UI ..
Nakładanie to A. Technika malarstwa Popularne w renesansie, w którym tworzysz monochromatyczne świadczenie tona..