Brukerstyler er CSS-regler som påvirker Scratch-sider. De kan bruke stiler på eksisterende Scratch UI, samt på elementer som ble lagt til på siden av tillegg.
Deklarering av brukerstiler i tilleggsmanifestet
Noen endringer krever en omstart av utvidelsen fra chrome://extensions
for å tre i kraft, for eksempel oppdatering av tilleggets manifestfil.
Det er ikke nødvendig å laste inn utvidelsen på nytt når du endrer kilden til en allerede eksisterende brukerstil CSS-fil. I slike tilfeller er det tilstrekkelig å laste inn siden på nytt.
Brukerstiler er deklarert inni en “brukerstiler” array, på samme måte som brukerskript.
Hvert element i arrayen må ha følgende egenskaper:
"url"
: den relative URL-en til en CSS-fil."matches"
: listen over Scratch-sider der brukerstilen vil bli brukt. Se matches for mer informasjon.if
: en liste med betingelser som kan veksle om brukerstilen er aktivert eller ikke. Se userstyle.if for mer informasjon.
Eksempel manifest:
{
"name": "Scratch Meldinger",
"description": "Gir enkel lesing og svar på dine Scratch-meldinger.",
"userstyles": [
{
"url": "styles.css",
"matches": ["prosjekter", "https://scratch.mit.edu/", "profiler"]
},
{
"url": "resize.css",
"matches": ["prosjekter"],
"if": {
"settings": {
"resize": true
}
}
},
],
"settings": [
{
"name": "Endre størrelse på meldinger",
"id": "resize",
"type": "boolean",
"default": false
}
],
"tags": ["fellesskap"],
"enabledByDefault": false
}
Dynamisk veksling av brukerstiler etter sideinnlasting
Det er vanligvis unødvendig å bruke et JavaScript brukerscript for å dynamisk bytte om en brukerstil er aktiv på siden som respons på at brukeren endrer innstillinger.
- Inkludering av
dynamicEnable: true
i tilleggets manifest vil tillate utvidelsen å dynamisk injisere brukerstiler hvis tillegget har blitt aktivert (for første gang) etter at siden ble lastet. - Inkludering av
dynamicDisable: true
i tilleggets manifest vil tillate utvidelsen å dynamisk fjerne eller gjeninnsatte brukerstiler hvis tillegget har blitt vekslet, uten å kreve en sideoppdatering. - Inkludering av
updateUserstylesOnSettingsChange: true
i tilleggets manifest vil gjenevaluere “if” betingelser som avhenger av brukerinnstillinger uten å kreve en sideoppdatering. Utvidelsen vil fjerne eller injisere brukerstiler i henhold til dette.
Å få tilgang til tilleggsinnstillinger fra CSS
Brukerstiler kan enkelt få tilgang til farge- og numeriske innstillinger gjennom CSS-variabler. De kan også få tilgang til innstillinger fra andre aktiverte tillegg.
CSS-variablene følger alltid formatet --addonId-settingId
. Innstilling-ID-er blir alltid konvertert fra kebab-case til camelCase.
Disse CSS-variablene er alltid tilgjengelige for alle aktiverte tillegg, og ingen manifestegenskap er nødvendig for å eksponere dem. De synkroniseres også med brukerinnstillingene uten å kreve en sideoppdatering.
.sa-progress-bar {
/* Fargeinnstilling */
background-color: var(--progressBar-bgColor);
/* Fargeinnstilling med reserveløsning */
border-color: var(--editorDarkMode-border, #fc7c24);
/* Hvis editor-mørke-modus er deaktivert, vil reserveløsningen bli brukt i stedet */
/* Numerisk innstilling */
height: calc(1px * var(--progressBar-height));
}
Tilpassede CSS-variabler
Hvis en brukerstil trenger å velge mellom to verdier basert på en bakgrunnsfarge (tekstkontrast) eller en tilleggsinnstilling, er ikke JavaScript nødvendig. Disse betingelsene, blant andre, kan deklareres i tilleggets manifest gjennom customCssVariables, og brukerstilen kan enkelt referere til den CSS-variabelen.
Bruke stiler bare inne i redigeringsprogrammet
Utvidelsen veksler automatisk et klassenavn på <body>
-elementet når brukeren går inn i eller forlater prosjektredigereren.
For eksempel, stil <input>
elementer inne og utenfor redigeringsverktøyet forskjellig:
.sa-body-editor input {
/* Bare gjelder hvis `addon.tab.editorMode` er `editor` eller `fullscreen` */
}
body:not(.sa-body-editor) input {
/* Bare gjelder hvis `addon.tab.editorMode` IKKE er `editor` eller `fullscreen` */
}
Seksjon Sider
-
Følg disse beste praksisene når du skriver eller gjennomgår brukerstiler.
-
Tips for enkel feilsøking av brukerstiler, og kanttilfeller å vurdere.
Kommentarer
Pass på å følge opptredensreglene. Du kan se denne kommentarseksjonen på GitHub-diskusjoner, samt redigere og fjerne kommentaren din.