Oto, co musisz wiedzieć na ten temat:
- Zadeklaruj określone style w komponencie za pomocą reguły CSS
@scope
. - Dostępna jest nowa funkcja multimediów:
prefers-reduced-transparency
. W Narzędziach deweloperskich wprowadziliśmy ulepszenia w panelu Źródła.
Nazywam się Adriana Jara. Zobaczmy, co nowego dla deweloperów w Chrome 118.
Reguła CSS @scope
.
Reguła @scope
pozwala programistom określać zakres reguł stylu do danego poziomu głównego zakresu i dostosowywać styl elementów do bliskości tego rdzenia.
Dzięki funkcji @scope
możesz zastępować style na podstawie odległości, co różni się od typowych stylów CSS stosowanych tylko na podstawie kolejności źródłowej i dokładności. W przykładzie poniżej przedstawiono 2 tematy.
<div class="lightpink-theme">
<a href="#">I'm lightpink!</a>
<div class="pink-theme">
<a href="#">Different pink!</a>
</div>
</div>
bez zakresu, zastosowany styl jest ostatnim zadeklarowanym.
.pink-theme a { color: hotpink; } .lightpink-theme a { color: lightpink; }
Zakres może obejmować elementy zagnieżdżone, a stosowany jest styl dla najbliższego elementu nadrzędnego.
@scope (.pink-theme) { a { color: hotpink; } } @scope (.lightpink-theme){ a { color: lightpink; } }
Zakres pozwala też uniknąć zapisywania długich, skomplikowanych nazw klas i ułatwia zarządzanie większymi projektami oraz unikanie konfliktów nazw.
<div class="first-container"> <h1 class="first-container__main-title"> I'm the main title</h1> </div> <div class="second-container"> <h1 class="second-container__main-title"> I'm the main title, but somewhere else</h1> </div>
.first-container__main-title { color: grey; } .second-container__main-title { color: mediumturquoise; }
<div class="first-container"> <h1 class="main-title"> I'm the main title</h1> </div> <div class="second-container"> <h1 class="main-title"> I'm the main title, but somewhere else</h1> </div>
@scope(.first-container){ .main-title { color: grey; } } @scope(.second-container){ .main-title { color: mediumturquoise; } }
Za pomocą zakresu możesz też określać styl komponentu bez określania stylu pewnych elementów, które są w nim umieszczone. W ten sposób mogą powstać „dziury” w miejscach, w których styl zakresu nie ma zastosowania.
Podobnie jak w przykładzie poniżej, możemy zastosować styl do tekstu i wykluczyć elementy sterujące lub na odwrót.
<div class="component">
<div class="purple">
<h1>Drink water</h1>
<p class="purple">hydration is important</p>
</div>
<div class="click-here">
<p>not in scope</p>
<button>click here</button>
</div>
<div class="purple">
<h1 class="purple">Exercise</h1>
<p class="purple">move it move it</p>
</div>
<div class="link-here">
<p>Excluded from scope</p>
<a href="#"> link here </a>
</div>
</div>
@scope (.component) to (.click-here, .link-here) {
div {
color: purple;
text-align: center;
font-family: sans-serif;
}
}
Więcej informacji znajdziesz w artykule Ograniczanie zasięgu selektorów za pomocą reguły CSS @scope.
prefers-reduced-transparency
funkcja multimedialna
Używamy zapytań o multimedia, aby zapewniać użytkownikom wrażenia dostosowane do jego preferencji i warunków urządzenia. Ta wersja Chrome dodaje nową wartość, która może służyć do dostosowywania interfejsu użytkownika: prefers-reduced-transparency
.
Nowa wartość, którą możesz przetestować za pomocą zapytań o media, to prefers-reduced-transparency
. Pozwala ona deweloperom dostosowywać treści internetowe do preferencji użytkownika wybranych przez użytkownika w celu zwiększenia przejrzystości systemu operacyjnego, na przykład przy ustawieniu Zmniejsz przezroczystość w systemie macOS. Prawidłowe opcje to reduce
lub no-preference
.
.translucent {
opacity: 0.4;
}
@media (prefers-reduced-transparency) {
.translucent {
opacity: 0.8;
}
}
Możesz też sprawdzić, jak wygląda to w Narzędziach deweloperskich:
Więcej informacji znajdziesz w dokumentacji dotyczącej prefers-reduced-transparency.
Poprawka: poprzednia wersja tego artykułu odnosiła się do nowej funkcji multimedialnej scripting
dostępnej w tej wersji. W rzeczywistości będzie to wersja 120.
Ulepszenia panelu Źródła w Narzędziach deweloperskich
W Narzędziach deweloperskich w panelu Źródła wprowadziliśmy te ulepszenia: obszar roboczy zwiększył spójność między innymi dzięki zmianie nazw sekcji Źródła > Panel systemu plików do obszaru roboczego wraz z innym tekstem interfejsu, otwórz sekcję Źródła > Obszar roboczy umożliwia też synchronizowanie zmian wprowadzonych w Narzędziach deweloperskich bezpośrednio z plikami źródłowymi.
Możesz też teraz zmieniać kolejność paneli po lewej stronie panelu Źródła, przeciągając i upuszczając je. W panelu Źródła możesz teraz zmieniać wygląd wbudowanego kodu JavaScript w następujących typach skryptów: module
, importmap
, speculationrules
oraz wyróżniać składnię skryptów importmap
i speculationrules
, które obsługują format JSON.
Sprawdź Co nowego w Narzędziach deweloperskich, aby dowiedzieć się więcej o aktualizacjach Chrome 118.
I inne funkcje
Oczywiście istnieje też znacznie więcej możliwości.
Interfejs WebUSB API jest teraz dostępny dla skryptów Service Worker zarejestrowanych przez rozszerzenia przeglądarki, dzięki czemu deweloperzy mogą używać tego interfejsu API w odpowiedzi na zdarzenia rozszerzenia.
Aby pomóc deweloperom usprawnić przepływ żądań płatności, usuwamy wymóg aktywacji użytkowników w usługach
Payment Request
iSecure Payment Confirmation
.Cykl wydawania wersji Chrome się zmniejsza: wersje stabilne są publikowane co 3 tygodnie, począwszy od Chrome 119, który będzie dostępny za 3 tygodnie.
Więcej informacji
To tylko niektóre z najważniejszych informacji. Przejrzyj te linki: dodatkowe zmiany w Chrome 118.
- Nowości w Narzędziach deweloperskich w Chrome (118)
- Wycofanie i usuwanie Chrome 118
- Aktualizacje ChromeStatus.com w przypadku Chrome 118
- Lista zmian w repozytorium źródłowym Chromium
- Kalendarz wersji Chrome
Subskrybuj
Aby być na bieżąco, zasubskrybuj Kanał Chrome Developers w YouTube, a gdy będziemy mogli opublikować nowy film, otrzymasz e-maila z powiadomieniem.
Adriana Jara. Gdy tylko Chrome 119 się ukaże, opowie o nowościach w Chrome.