How do I fix a background-fixed property in CSS?

Elementor: Baggrundsbillede Fixet på Mobil

15/02/2022

Rating: 4.85 (2841 votes)

Mange webdesignere, der bruger Elementor til at skabe imponerende hjemmesider, støder på en udfordring, når det kommer til at implementere faste baggrundsbilleder på mobile enheder. Den velkendte CSS-egenskab background-attachment: fixed; opfører sig ofte uforudsigeligt eller slet ikke på smartphones og tablets. Dette skyldes, at mange mobile browsere blokerer for denne funktion for at optimere ydeevnen og batteriforbruget. Men fortvivl ikke! Der findes en smart løsning, der kan efterligne den ønskede effekt og give dine mobile besøgende en visuelt tiltalende oplevelse. I denne artikel vil vi guide dig trin for trin til, hvordan du får Elementors faste baggrundsbilleder til at fungere 100% på mobile enheder, inklusive iPhones, ved at bruge en alternativ metode og lidt brugerdefineret CSS.

Det er frustrerende, når et designelement, der fungerer fejlfrit på desktop, bryder sammen på mobile platforme. Faste baggrundsbilleder tilføjer dybde og professionalisme til et websted, og det er ærgerligt at skulle give afkald på denne effekt udelukkende på grund af mobile begrænsninger. Den gode nyhed er, at med den rette tilgang kan du opnå præcis det samme resultat. Lad os dykke ned i, hvordan du gør det.

Den Grundlæggende Udfordring med background-attachment: fixed; på Mobil

Før vi går i gang med løsningen, er det vigtigt at forstå, hvorfor background-attachment: fixed; ikke fungerer som forventet på mobilenheder. Når du sætter et baggrundsbillede til at være 'fixed', forbliver billedet på sin position, selv når brugeren scroller ned ad siden. På desktop-browsere fungerer dette problemfrit. Men på mobile enheder kan denne effekt være ressourcekrævende. Mobilenheder har begrænset processorkraft og batterilevetid sammenlignet med desktops. For at spare på disse ressourcer har producenterne af mobile browsere implementeret begrænsninger, der deaktiverer eller ændrer adfærden af background-attachment: fixed;. Dette resulterer i, at baggrundsbilledet ofte scroller med indholdet, hvilket ødelægger den tilsigtede faste effekt.

Elementors Baggrundsindstillinger: Hvor Skal Man Starte?

Elementor tilbyder en brugervenlig grænseflade til at tilføje baggrundsbilleder til sektioner, kolonner og widgets. For at implementere den faste baggrundseffekt på mobilenheder skal vi dog være lidt strategiske med vores indstillinger. Følg disse trin for at forberede din sektion:

1. Vælg din Sektion/Kolonne: Åbn din side i Elementor-editoren. Klik på den sektion eller kolonne, hvor du ønsker at tilføje det faste baggrundsbillede.
2. Gå til 'Avanceret' (Advanced): I panelet til venstre skal du navigere til fanen 'Avanceret'.
3. Baggrundsindstillinger: Under 'Baggrund' (Background) skal du finde sektionen til at tilføje dit billede. Upload eller vælg det billede, du ønsker at bruge.
4. Brug 'Baggrundsoverlejring' (Background Overlay): Dette er et afgørende skridt. I stedet for at bruge den primære 'Baggrund' (Background) fane til selve billedet, skal du gå til fanen 'Baggrundsoverlejring' (Background Overlay). Klik på pensel-ikonet for at aktivere denne sektion.
5. Konfigurer Baggrundsoverlejringen:
* Type: Vælg 'Klassisk' (Classic) som type.
* Billede: Upload eller vælg dit ønskede baggrundsbillede her.
* Farve: Du kan valgfrit tilføje en farveoverlejring.
* Blandingstilstand: Vælg den ønskede blandingstilstand (Blend Mode) for at integrere billedet bedre med eventuelle andre elementer.
* Opacitet: Juster opaciteten efter behov.
* CSS-filtre: Anvend eventuelle CSS-filtre som sløring eller kontrast.
* VIGTIGT: Lad være med at sætte 'Vedhæftning' (Attachment) til 'Fast' (Fixed) her. Den brugerdefinerede CSS, vi tilføjer senere, vil håndtere dette.

Ved at placere billedet i 'Baggrundsoverlejring' (Background Overlay) kan vi bedre manipulere det med brugerdefineret CSS for at opnå den faste effekt på tværs af alle enheder. Hvis du tidligere har brugt 'Baggrund' (Background) fanen, skal du rydde indstillingerne der for at sikre, at kun 'Baggrundsoverlejring' (Background Overlay) er aktiv for billedet.

Tilføjelse af Brugerdefineret CSS for Faste Baggrunde

Nu hvor baggrundsbilledet er sat op korrekt i Elementor, er det tid til at tilføje den magiske CSS-kode, der vil få det til at opføre sig som et fast baggrundsbillede på alle enheder. Der er et par muligheder for, hvor du kan placere denne kode, afhængigt af om du bruger Elementor Free eller Pro, og hvilken type element du styler.

CSS til Sektioner og Kolonner

For de fleste tilfælde, hvor du anvender baggrundsbilledet på en hel sektion eller en specifik kolonne, skal du placere følgende CSS i sektionens eller kolonnens 'Brugerdefineret CSS' (Custom CSS) felt.

Du finder dette felt under:
1. Klik på sektionen/kolonnen.
2. Gå til fanen 'Avanceret'.
3. Rul ned til sektionen 'Brugerdefineret CSS'.

Her er koden, der efterligner background-attachment: fixed;:

selector .elementor-background-overlay { background-attachment: fixed !important; background-position: center center !important; background-repeat: no-repeat !important; background-size: cover !important; }

Lad os nedbryde denne kode:

* selector .elementor-background-overlay: Dette selector-målretter div med klassen elementor-background-overlay, som Elementor automatisk opretter, når du bruger Baggrundsoverlejringsfunktionen. selector er en speciel variabel i Elementor, der refererer til det element, du tilføjer CSS'en til (din sektion eller kolonne).
* background-attachment: fixed !important;: Dette er kernen i løsningen. Selvom mobile browsere normalt blokerer for dette, kan det med visse tricks og ved at placere det korrekt i den interne struktur af Elementor, nogle gange fungere. !important bruges for at sikre, at denne regel overskriver standardindstillinger.
* background-position: center center !important;: Sikrer, at baggrundsbilledet altid er centreret, uanset skærmstørrelse.
* background-repeat: no-repeat !important;: Forhindrer billedet i at gentage sig.
* background-size: cover !important;: Skalerer baggrundsbilledet, så det dækker hele containeren, mens proportionerne bevares.

Elementor Free Brugere: Tilføjelse af CSS
Hvis du bruger Elementor Free, kan du tilføje brugerdefineret CSS direkte i sektionens eller kolonnens 'Avanceret' > 'Brugerdefineret CSS' felt, som beskrevet ovenfor. Nøglen er at bruge selector til at henvise til det aktuelle element.

CSS til Containere (Elementor Flexbox)

Hvis du bruger Elementors nyere Flexbox-layout med containere i stedet for sektioner, er metoden stort set den samme, men den specifikke CSS-klasse kan variere en smule, eller din kode vil blive anvendt direkte på containeren. Typisk vil den ovenstående kode fungere, da Elementor forsøger at opretholde konsistens.

Hvis du finder ud af, at den primære kode ikke virker for en container, kan du prøve at anvende CSS direkte på container-elementet:

selector { background-attachment: fixed !important; background-position: center center !important; background-repeat: no-repeat !important; background-size: cover !important; }

Igen, husk at placere dette i 'Brugerdefineret CSS' feltet for den pågældende container.

Håndtering af en Sjælden Bug: Skærmrotation

Der findes en sjælden, men potentiel fejl, der kan opstå på nyere iPads og iPhones, når brugeren ændrer enhedens orientering (fra stående til liggende og omvendt). I disse tilfælde kan baggrundsbilledet af en eller anden grund "flyde over" og fylde hele siden uønsket. Selvom dette er en sjælden situation – de færreste brugere roterer deres enhed, mens de aktivt browser en side – kan det være en god idé at implementere en løsning, hvis din side er designet til at blive brugt med roterende enheder (f.eks. hvis den indeholder videoer eller interaktive elementer, der drager fordel af den ekstra skærmplads).

For at afhjælpe dette kan du tilføje en ekstra smule CSS i et separat HTML-widget på samme side. Dette script hjælper med at nulstille eller korrekt håndtere baggrundsbilledet, når skærmen ændrer orientering.

Tilføj følgende kode i et HTML-widget på din side:

 <script> (function($) { $(document).ready(function() { var viewportWidth = $(window).width(); $(window).on('resize orientationchange', function() { if ($(window).width() != viewportWidth) { viewportWidth = $(window).width(); // Nulstil og genanvend baggrundsstil for at håndtere orientation change bug $('.elementor-background-overlay').each(function() { var $overlay = $(this); var bgUrl = $overlay.css('background-image'); if (bgUrl && bgUrl !== 'none') { $overlay.css('background-image', 'none'); setTimeout(function() { $overlay.css('background-image', bgUrl); }, 100); // Lille forsinkelse for at sikre genanvendelse } }); } }); }); })(jQuery); </script> 

Denne JavaScript-kode lytter efter ændringer i vinduesstørrelse eller skærmorientering. Når en ændring detekteres, nulstiller den kortvarigt baggrundsbilledet for elementer med klassen elementor-background-overlay og genanvender det derefter. Dette hjælper med at rette op på den potentielle fejl.

Sammenligning: Traditionel vs. Elementor-løsning

Lad os se på, hvordan den traditionelle tilgang til faste baggrunde adskiller sig fra Elementors løsning med Baggrundsoverlejring.

FunktionTraditionel CSS (background-attachment: fixed;)Elementor Løsning (Baggrundsoverlejring + Brugerdefineret CSS)
MobilkompatibilitetOfte blokeret eller fungerer dårligt på mobilenheder.Designet til at fungere på tværs af alle enheder, inkl. mobil.
ImplementeringDirekte CSS på elementet. Kræver manuel CSS-styring.Bruger Elementors UI til billede + brugerdefineret CSS i Elementor.
FleksibilitetKan være mere fleksibel med avancerede CSS-teknikker.God til standard faste effekter; kan kræve ekstra JS for specifikke fejl.
BrugervenlighedKræver kendskab til CSS.Lettere for brugere, der er mindre fortrolige med ren CSS, men kræver stadig lidt kode.
Overlejringsfarver/FiltreKan tilføjes med separat CSS.Integreret i Elementors Baggrundsoverlejring fane.

Som tabellen viser, tilbyder Elementor-løsningen en mere integreret og brugervenlig måde at opnå den faste baggrundseffekt på, især for dem, der foretrækker at arbejde inden for Elementors grænseflade.

Ofte Stillede Spørgsmål (FAQ)

  • Virker denne løsning på alle iPhones? Ja, denne metode er designet til at omgå de begrænsninger, der findes i mobile browsere generelt, og bør derfor fungere på tværs af de fleste iPhone-modeller og andre iOS-enheder.
  • Hvad hvis jeg har brug for både en baggrundsoverlejring og et baggrundsbillede i den primære baggrundsfane? Elementor tillader dig kun at bruge enten den primære baggrundsfane eller baggrundsoverlejringsfanen til billeder på én gang. Hvis du har brug for begge dele, skal du muligvis redigere dit baggrundsbillede i et billedredigeringsprogram for at inkludere overlejringseffekten direkte i billedfilen.
  • Kan jeg bruge denne metode på kolonner og widgets? Ja, princippet er det samme. Du skal blot anvende den brugerdefinerede CSS i 'Brugerdefineret CSS'-feltet for den specifikke kolonne eller widget, du vil style.
  • Hvad er forskellen på at bruge selector og direkte klassenavne i CSS?selector er en Elementor-specifik variabel, der automatisk erstattes med den korrekte CSS-selector for det element, du tilføjer koden til. Dette gør koden genanvendelig for enhver sektion eller kolonne. Hvis du kender den præcise klasse, kan du også bruge den direkte, men selector er ofte nemmere.
  • Er der ydeevne-implikationer ved at bruge denne metode? Mens background-attachment: fixed; generelt kan være krævende, er denne løsning optimeret til at fungere på mobilenheder. Ved at bruge Baggrundsoverlejring og specifik CSS forsøger Elementor at gøre det så effektivt som muligt. Den ekstra JavaScript til skærmrotation er kun en foranstaltning for en sjælden fejl og bør ikke have en mærkbar indvirkning på ydeevnen, medmindre din side konstant ændrer orientering.

Afsluttende tanker

At opnå en perfekt fast baggrund på mobile enheder i Elementor kan virke som en udfordring, men med denne guide burde du være godt rustet til at implementere effekten. Ved at bruge Baggrundsoverlejring-fanen i Elementor og tilføje den korrekte brugerdefinerede CSS, kan du sikre, at dine baggrundsbilleder forbliver statiske og professionelle, uanset hvilken enhed dine besøgende bruger. Husk at teste din side grundigt på forskellige mobile enheder for at sikre, at alt ser ud som forventet.

Del gerne dine erfaringer i kommentarerne nedenfor, og lad os vide, om denne metode virkede for dig! God fornøjelse med dit forbedrede webdesign!

Hvis du vil læse andre artikler, der ligner Elementor: Baggrundsbillede Fixet på Mobil, kan du besøge kategorien Teknologi.

Go up