kzen.dev
  • Frågor
  • Taggar
  • Användare
Meddelanden
Belöningar
Registrering
När du har registrerat dig kommer du att få information om svar och kommentarer på dina frågor.
Logga in
Om du redan har ett konto loggar du in för att kontrollera nya meddelanden.
Det kommer att finnas belöningar för frågor, svar och kommentarer.
Mer
Källa
Redigera
 user1556266
user1556266
Question

Använda CSS för en fade-in-effekt vid sidladdning

Kan CSS-övergångar användas för att låta ett textavsnitt tonas in när sidan laddas?

Jag gillar verkligen hur det såg ut på http://dotmailapp.com/ och skulle gärna vilja använda en liknande effekt med hjälp av CSS. Domänen har sedan dess köpts och har inte längre den nämnda effekten. En arkiverad kopia kan ses på Wayback Machine.

Illustration

Med denna markering:

<div id="test">
    <p>​This is a test</p>
</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

Med följande CSS-regel:

#test p {
    opacity: 0;
    margin-top: 25px;
    font-size: 21px;
    text-align: center;
    -webkit-transition: opacity 2s ease-in;
    -moz-transition: opacity 2s ease-in;
    -o-transition: opacity 2s ease-in;
    -ms-transition: opacity 2s ease-in;
    transition: opacity 2s ease-in;
}​

Hur kan övergången utlösas vid laddning?

411 2012-07-26T23:36:49+00:00 3
Peter Mortensen
Peter Mortensen
Redigerad fråga 2019ör september 2019 в 5:20
Programmering
css
opacity
css-transitions
Popular videos
Create Transitions/Animations on Page Load with HTML &amp; CSS - Web Design Tutorial
Create Transitions/Animations on Page Load with HTML & CSS - Web Design Tutorial
för 4 år sedan
How to Create CSS Fade in Effect on Page Load  - Using css  | CSS transition effects on page load
How to Create CSS Fade in Effect on Page Load - Using css | CSS transition effects on page load
för 1 år sedan
Quick &amp; Easy CSS Loaders
Quick & Easy CSS Loaders
för 4 år sedan
CSS Fade-in &amp; Fade-out
CSS Fade-in & Fade-out
för 6 år sedan
Fade in fade out effect || online tutor
Fade in fade out effect || online tutor
för 3 år sedan
Fade In Fade Out Effect CSS Tutorial | How to make Fade Out Animation in CSS?
Fade In Fade Out Effect CSS Tutorial | How to make Fade Out Animation in CSS?
för 1 år sedan
Fade-In Effects Using CSS Animations
Fade-In Effects Using CSS Animations
för 3 år sedan
Text Fade in and Fade Out CSS Animation Effects | Html5 CSS3 Animation
Text Fade in and Fade Out CSS Animation Effects | Html5 CSS3 Animation
för 2 år sedan
CSS Hover Effects | Fade In Background Opacity(transparent)
CSS Hover Effects | Fade In Background Opacity(transparent)
för 6 år sedan
Text Fade in and Fade Out Using CSS Animation | CSS tips and tricks | #SmartCode
Text Fade in and Fade Out Using CSS Animation | CSS tips and tricks | #SmartCode
för 2 år sedan
CSS : Using CSS for a fade-in effect on page load
CSS : Using CSS for a fade-in effect on page load
för 1 år sedan
Fade In Fade Out animation in JavaScript and CSS
Fade In Fade Out animation in JavaScript and CSS
för 3 år sedan
How to Create a Fading-&quot;Fade in Effect&quot;Only Html and CSS(2021)
How to Create a Fading-"Fade in Effect"Only Html and CSS(2021)
för 1 år sedan
Fade In Fade Out Effects | C# Windows Form
Fade In Fade Out Effects | C# Windows Form
för 3 år sedan
How To Make Image Slider In HTML And CSS With Fade Effect In 5 Minutes
How To Make Image Slider In HTML And CSS With Fade Effect In 5 Minutes
för 4 år sedan
How to apply &#39;Fade in&#39; to an effect in VSDC Video Editor
How to apply 'Fade in' to an effect in VSDC Video Editor
för 5 år sedan
Pure CSS Fading Slider | Html CSS Animation Effects Tutorial
Pure CSS Fading Slider | Html CSS Animation Effects Tutorial
för 4 år sedan
4 Awesome icons hover effect using only HTML &amp; CSS
4 Awesome icons hover effect using only HTML & CSS
för 4 år sedan
How To Animate Page Loading With CSS
How To Animate Page Loading With CSS
för 3 år sedan
« Föregående
Nästa »
Solution / Answer
 A.M.K
A.M.K
2012ör juli 2012 в 4:10
2012-07-27T04:10:40+00:00
Mer
Källa
Redigera
#16797631

Metod 1:

Om du letar efter en självupplevd övergång bör du använda CSS 3 Animationer. De stöds inte heller, men det är precis den här typen av saker som de är gjorda för.

CSS

#test p {
    margin-top: 25px;
    font-size: 21px;
    text-align: center;

    -webkit-animation: fadein 2s; /* Safari, Chrome and Opera > 12.1 */
       -moz-animation: fadein 2s; /* Firefox < 16 */
        -ms-animation: fadein 2s; /* Internet Explorer */
         -o-animation: fadein 2s; /* Opera < 12.1 */
            animation: fadein 2s;
}

@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

Demo

Stöd för webbläsare

Alla moderna webbläsare och Internet Explorer 10 (och senare): http://caniuse.com/#feat=css-animation


Metod 2:

Alternativt kan du använda jQuery (eller vanlig JavaScript; se det tredje kodblocket) för att ändra klassen vid laddning:

jQuery

$("#test p").addClass("load");​

CSS

#test p {
    opacity: 0;
    font-size: 21px;
    margin-top: 25px;
    text-align: center;

    -webkit-transition: opacity 2s ease-in;
       -moz-transition: opacity 2s ease-in;
        -ms-transition: opacity 2s ease-in;
         -o-transition: opacity 2s ease-in;
            transition: opacity 2s ease-in;
}

#test p.load {
    opacity: 1;
}

JavaScript (inte i demotypen)

document.getElementById("test").children[0].className += " load";

Demo

  • http://jsfiddle.net/SO_AMK/a9dnW/

Stöd för webbläsare

Alla moderna webbläsare och Internet Explorer 10 (och senare): http://caniuse.com/#feat=css-transitions


Metod 3:

Eller så kan du använda den metod som .Mail använder:

jQuery

$("#test p").delay(1000).animate({ opacity: 1 }, 700);​

CSS

#test p {
    opacity: 0;
    font-size: 21px;
    margin-top: 25px;
    text-align: center;
}

Demo

  • http://jsfiddle.net/SO_AMK/a9dnW/3/

Stöd för webbläsare

jQuery 1.x: Alla moderna webbläsare och Internet Explorer 6 (och senare): http://jquery.com/browser-support/
jQuery 2.x: Alla moderna webbläsare och Internet Explorer 9 (och senare): http://jquery.com/browser-support/

Den här metoden är den mest tvärkompatibla eftersom målwebbläsaren inte behöver stödja CSS 3-övergångar eller animationer.

Peter Mortensen
Peter Mortensen
Redigerat svar 2019ör september 2019 в 5:16
843
0
 Ned
Ned
2013ör april 2013 в 9:36
2013-04-24T09:36:33+00:00
Mer
Källa
Redigera
#16797633

Du kan använda HTML-attributet onload="" och använda JavaScript för att justera elementets opacitetsstil.

Lämna din CSS som du föreslagit. Redigera din HTML-kod så att:

<body onload="document.getElementById(test).style.opacity='1'">
    <div id="test">
        <p>​This is a test</p>
    </div>
</body>

Detta fungerar också för att fade in hela sidan när den är klar att laddas:

HTML:

<body onload="document.body.style.opacity='1'">
</body>

CSS:

body{ 
    opacity: 0;
    transition: opacity 2s;
    -webkit-transition: opacity 2s; /* Safari */
}

Kolla på webbplatsen W3Schools: övergångar och en artikel om ändring av stilar med JavaScript.

Peter Mortensen
Peter Mortensen
Redigerat svar 2019ör september 2019 в 5:20
20
0
 Rob
Rob
2012ör juli 2012 в 1:38
2012-07-27T13:38:57+00:00
Mer
Källa
Redigera
#16797632

Som svar på @A.M.K's fråga om hur man gör övergångar utan jQuery. Ett mycket enkelt exempel som jag slängde ihop. Om jag hade haft tid att tänka igenom det här lite mer kanske jag skulle kunna eliminera JavaScript-koden helt och hållet:

<style>
    body {
        background-color: red;
        transition: background-color 2s ease-in;
    }
</style>

<script>
    window.onload = function() {
        document.body.style.backgroundColor = '#00f';
    }
</script>

<body>
    <p>test</p>
</body>
Peter Mortensen
Peter Mortensen
Redigerat svar 2019ör september 2019 в 5:18
5
0
Lägg till en fråga
Kategorier
Alla
Teknik
Kultur / fritid
Livet / Konst
Vetenskap
Professionell
Företag
Användare
Alla
Ny
Populära
1
ALEX EPRST
Registrerad för 14 timmar sedan
2
Daniel Gogov
Registrerad för 1 vecka sedan
3
工藤 芳則
Registrerad för 2 veckor sedan
4
Ирина Беляева
Registrerad för 2 veckor sedan
5
Darya Arsenyeva
Registrerad för 3 veckor sedan
BG
DE
EL
ES
FR
ID
IT
JA
NL
PL
PT
RO
RU
SK
SL
SV
TR
ZH
© kzen.dev 2023
Källa
stackoverflow.com
under licens cc by-sa 3.0 med angivande av