Verwendung von CSS für einen Einblendeffekt beim Laden der Seite
Können CSS-Übergänge verwendet werden, damit ein Textabsatz beim Laden der Seite eingeblendet wird?
Mir gefällt der Effekt auf http://dotmailapp.com/ sehr gut und ich würde gerne einen ähnlichen Effekt mit CSS verwenden. Die Domain wurde inzwischen gekauft und verfügt nicht mehr über den genannten Effekt. Eine archivierte Kopie kann auf der Wayback Machine eingesehen werden.
Illustration
Mit diesem Markup:
<div id="test">
<p>This is a test</p>
</div>
Mit der folgenden 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;
}
Wie kann der Übergang beim Laden ausgelöst werden?
411
3
Methode 1:
Wenn Sie auf der Suche nach einem selbsterklärenden Übergang sind, sollten Sie CSS 3 Animationen verwenden. Sie werden zwar auch nicht unterstützt, aber genau dafür wurden sie entwickelt.
CSS
Demo
Browser-Unterstützung
Alle modernen Browser und Internet Explorer 10 (und höher): http://caniuse.com/#feat=css-animation
Methode 2:
Alternativ können Sie jQuery (oder einfaches JavaScript; siehe den dritten Codeblock) verwenden, um die Klasse beim Laden zu ändern:
jQuery
CSS
Einfaches JavaScript (nicht in der Demo)
Demo
Browser-Unterstützung
Alle modernen Browser und Internet Explorer 10 (und höher): http://caniuse.com/#feat=css-transitions
Methode 3:
Oder Sie können die Methode verwenden, die .Mail verwendet:
jQuery
CSS
Demo
Browser-Unterstützung
jQuery 1.x: Alle modernen Browser und Internet Explorer 6 (und später): http://jquery.com/browser-support/
jQuery 2.x: Alle modernen Browser und Internet Explorer 9 (und später): http://jquery.com/browser-support/
Diese Methode ist am kompatibelsten, da der Zielbrowser keine CSS 3 Übergänge oder Animationen unterstützen muss.
Sie können das HTML-Attribut "onload=""` verwenden und mit JavaScript die Deckkraft Ihres Elements anpassen.
Belassen Sie Ihr CSS so, wie Sie es vorgeschlagen haben. Ändern Sie Ihren HTML-Code entsprechend:
Dies funktioniert auch, um die komplette Seite nach dem Laden einzublenden:
HTML:
CSS:
Besuchen Sie die W3Schools Website: Übergänge und einen Artikel über Stiländerungen mit JavaScript.
Als Antwort auf @A.M.K's Frage, wie man Übergänge ohne jQuery zu tun. Ein sehr einfaches Beispiel, das ich zusammengewürfelt habe. Wenn ich Zeit hatte, dies durch einige mehr zu denken, könnte ich in der Lage sein, den JavaScript-Code ganz zu beseitigen: