国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Inhaltsverzeichnis
Die Idee
Zu den Pseudoklassen, die in der CSS-Implementierung von
Struktur
schweben Sie über ein kleines interaktives Erlebnis
Aktives Ausprobieren
Fokuserlebnis
Heim Web-Frontend CSS-Tutorial So erzielen Sie mit reinem CSS den Wassertropfen-Animationseffekt von Schaltfl?chen im Material Design

So erzielen Sie mit reinem CSS den Wassertropfen-Animationseffekt von Schaltfl?chen im Material Design

Oct 19, 2018 pm 04:57 PM
css css3 CSS3 -Animation html Reine CSS-Implementierung

Der Inhalt dieses Artikels befasst sich mit der Verwendung von reinem CSS, um den Wassertropfen-Animationseffekt von Schaltfl?chen im Material Design zu realisieren. Ich hoffe, dass er für Sie hilfreich ist .

Diese Art von Spezialeffekt sollte man oft sehen, es ist sehr cool, nicht wahr?

So erzielen Sie mit reinem CSS den Wassertropfen-Animationseffekt von Schaltfl?chen im Material Design

Das ist das Beste In Google Material Design übliche Spezialeffekte, es gibt viele vorgefertigte JS-Bibliotheken auf dem Markt, um diesen Spezialeffekt zu simulieren. Es ist jedoch h?ufig erforderlich, viele JS- und CSS-Bibliotheken einzuführen. In bestehenden Projekten m?chten Sie m?glicherweise nur eine solche Schaltfl?che hinzufügen, um die Benutzererfahrung zu verbessern. Da sie in js implementiert sind, achten viele auch auf Ladeprobleme.

Gibt es also eine M?glichkeit, CSS zu verwenden, um diesen besonderen Effekt zu erzielen?

Die Idee

ist eigentlich eine Animation, die von klein nach gro? w?chst . Die Verwendung von css3 Animation ist einfach zu implementieren

Beispielcode

@keyframes?ripple{
????from?{
????????transform:?scale(0);
????????opacity:?1;
????}
????to?{
????????transform:?scale(1);
????????opacity:?0;
????}
}

Normalerweise ist die Verwendung von js zur Implementierung sehr einfach, das hei?t, fügen Sie a hinzu class zum angeklickten Element und animieren Sie es dann. Entfernen Sie nach Abschluss den class

Beispielcode

var?btn?=?document.getElementById('btn');
btn.addeventlistener('click',function(){
??addClass(btn,'animate')
},false)
btn.addeventlistener('transitionend',function(){//監(jiān)聽css3動(dòng)畫結(jié)束
??removeClass(btn,'animate')
},false)

Wie l?st man also eine Animation über CSS aus?

Zu den Pseudoklassen, die in der CSS-Implementierung von

css mit der Maus interagieren, geh?ren haupts?chlich

  • hoverwenn die Maus vorbeigeht

  • :activeMaus nach unten

  • :focusMausfokus

  • :checkedMaus ausgew?hlt

In vielen F?llen werden die Effekte auf unseren Seiten durch hover erreicht, um einen Effekt auszul?sen, und wenn Sie die Maus darauf setzen drauf und sofort gehen, die Animation wird sofort beendet.

Lass es uns zuerst versuchen.

Struktur

Dies ist die Seitenstruktur und der Stil, die wir geschrieben haben

<style>
.btn{ 
  display: block; 
  width: 300px; 
  outline: 0; 
  overflow: hidden;  
  position: relative; 
  transition: .3s; 
  cursor: pointer; 
  user-select: none; 
  height: 100px; 
  text-align: center; 
  line-height: 100px; 
  font-size: 50px; 
  background: tomato; 
  color: #fff;  
  border-radius: 10px;
}
</style>
<a>button</a>

Es ist sehr einfach, es ist ein gew?hnlicher Schaltfl?chenstil

So erzielen Sie mit reinem CSS den Wassertropfen-Animationseffekt von Schaltfl?chen im Material Design

Als n?chstes fügen wir den perfekten Kreis, den wir brauchen, in die Schaltfl?che ein.

Wir verwenden Pseudoelemente, um

.btn:after{
????content:?'';
????position:?absolute;
????width:?100%;
????padding-top:?100%;
????background:?transparent;
????border-radius:?50%;
????left:?50%;
????top:?50%;
????transform:?translate(-50%,-50%)
}
zu erreichen

Wir entfernen den oben versteckten überlauf, verkleinern den Kreis ein wenig und sehen den Effekt

So erzielen Sie mit reinem CSS den Wassertropfen-Animationseffekt von Schaltfl?chen im Material Design

Dann schreiben wir eine Zoom-Animation

@keyframes?ripple{
????from?{
????????transform:translate(-50%,-50%)?scale(0);
????????/**由于我們默認(rèn)寫了變換屬性,所以這里要補(bǔ)上translate(-50%,-50%),不然就會(huì)被替換了**/
????????background:?rgba(0,0,0,.25);
????}
????to?{
????????transform:translate(-50%,-50%)?scale(1);
????????background:?transparent;
????}
}

schweben Sie über ein kleines interaktives Erlebnis

Versuchen Sie es mit der Maus?

.btn:hover:after{
??animation:?ripple?1s;
}

So erzielen Sie mit reinem CSS den Wassertropfen-Animationseffekt von Schaltfl?chen im Material Design

Der Effekt ist immer noch gut, aber wenn die Maus zu schnell geht, schrumpft der neu erweiterte Kreis sofort wieder, was etwas inkonsistent ist

Aber das ist nicht der Effekt, den wir wollen. Was wir wollen, ist, einmal zu klicken, um einmal auszul?sen, anstatt es einfach anzulegen und es wird nie wieder ausgel?st.

Aktives Ausprobieren

In der t?glichen Arbeit wird active h?ufig verwendet, normalerweise wegen des Klickeffekts, also probieren wir es mal aus?

.btn:active:after{
??animation:?ripple?1s;
}

So erzielen Sie mit reinem CSS den Wassertropfen-Animationseffekt von Schaltfl?chen im Material Design

Der Effekt ist auch unbefriedigend, ein bisschen ?hnlich der Bedeutung von Maus gedrückt halten, man muss gedrückt halten Klicken Sie zum Ausl?sen mit der Maus beispielsweise auf 1s im obigen Beispiel. Klicken Sie dann auf die Schaltfl?che und fahren Sie mit 1s fort, um den vollst?ndigen Animationseffekt zu sehen Oben wird die Animation sofort verkleinert.

Fokuserlebnis

Wenn Sie ein Element fokussieren müssen, k?nnen Sie ein tabindexAttribut

<a>button</a>
.btn:focus:after{
??animation:?ripple?1s;
}

So erzielen Sie mit reinem CSS den Wassertropfen-Animationseffekt von Schaltfl?chen im Material Design

kann auch ausgel?st werden, aber nach dem Ausl?sen kann es erst wieder ausgel?st werden, wenn der Fokus verloren geht. Die tats?chliche Betriebsleistung besteht darin, dass nach einem Klick auf die leere Stelle drau?en geklickt wird foucs

Ist es m?glich? Gibt es keinen anderen Weg?

Natürlich gibt es noch einige, das letzte ist definitiv die L?sung, haha

geprüft

kann nicht direkt ausgel?st werden, es wird nach dem Formularelement ausgel?st ist ausgew?hlt. Dazu müssen wir die Seitenstruktur checked

<label>
??<input><span>button</span>
</label>
umwandeln. Wir haben sie durch

ersetzt und das lable-Tag eingefügt, haupts?chlich um die input[type=checkbox]-Auswahl auszul?sen, wenn die Schaltfl?che aktiviert ist geklickt. input

Fügen Sie ein wenig Stil hinzu

.btn>span:after{
??/**換一下選擇器**/
}
.btn>input[type=checkbox]{
??display:?none
}
.btn>input[type=checkbox]:checked+span:after{
??animation:?ripple?1s;
}

這樣也能觸發(fā)動(dòng)畫,但問(wèn)題是,當(dāng)再次點(diǎn)擊的時(shí)候就成了非選中狀態(tài)了,怎么觸發(fā)動(dòng)畫呢?

其實(shí)可以用:not來(lái)實(shí)現(xiàn)

.btn>input[type=checkbox]:not(:checked)+span:after{
??animation:?ripple?1s;
}

乍一看好像挺聰明的,仔細(xì)一想,正反兩個(gè)都寫了動(dòng)畫,不就跟:checked沒(méi)關(guān)系了?還不如直接

.btn>input[type=checkbox]+span:after{
??animation:?ripple?1s;
}

無(wú)限輪回中...

這個(gè)問(wèn)題困擾了我好久,不過(guò)皇天不負(fù)有心人,后來(lái)試著在兩種狀態(tài)下觸發(fā)不同的動(dòng)畫是可以分別觸發(fā)的,如下

.btn>input[type=checkbox]:checked+span:after{
??animation:?ripple1?1s;
}
.btn>input[type=checkbox]:not(:checked)+span:after{
??animation:?ripple2?1s;
}

這個(gè)應(yīng)該很好理解吧。

那么,重點(diǎn)來(lái)了,現(xiàn)在把動(dòng)畫ripple1ripple2里面的動(dòng)畫過(guò)程都改成一樣,也是可以分別觸發(fā)的,也就是說(shuō),只要?jiǎng)赢嬅Q不一樣,css都會(huì)當(dāng)成不同的動(dòng)畫來(lái)處理

這樣就簡(jiǎn)單了,我們只需要默認(rèn)一個(gè)狀態(tài),選中一個(gè)狀態(tài),然后分別觸發(fā)名稱不同的動(dòng)畫就行了~

.btn>input[type=checkbox]+span:after{
??animation:?ripple-in?1s;
}
.btn>input[type=checkbox]:checked+span:after{
??animation:?ripple-out?1s;
}
@keyframes?ripple-in{
????from?{
????????transform:translate(-50%,-50%)?scale(0);
????????background:?rgba(0,0,0,.25);
????}
????to?{
????????transform:translate(-50%,-50%)?scale(1);
????????background:?transparent;
????}
}
@keyframes?ripple-out{/*僅僅名稱不同*/
????from?{
????????transform:translate(-50%,-50%)?scale(0);
????????background:?rgba(0,0,0,.25);
????}
????to?{
????????transform:translate(-50%,-50%)?scale(1);
????????background:?transparent;
????}
}

效果就如文章一開始所示,完美

完整demo如下

https://codepen.io/xboxyan/pe...

一些不足

由于上述動(dòng)畫樣式在默認(rèn)情況下就會(huì)被觸發(fā),所以頁(yè)面加載進(jìn)來(lái)就會(huì)看到按鈕上的水滴動(dòng)畫運(yùn)動(dòng)一次,不過(guò)也不是特別明顯,還可以接受。

其次,實(shí)際效果肯定是希望鼠標(biāo)點(diǎn)擊哪里,就以該點(diǎn)為中心擴(kuò)散,我們css肯定是做不到這點(diǎn)的,只能從中心擴(kuò)散,這也只能妥協(xié)了。這里提供一個(gè)思路,可以使用css的變量,每次點(diǎn)擊的時(shí)候吧相應(yīng)的值存在style里面,這樣css中也能用上。

希望能用css今后挖掘出更多有趣的效果^

Das obige ist der detaillierte Inhalt vonSo erzielen Sie mit reinem CSS den Wassertropfen-Animationseffekt von Schaltfl?chen im Material Design. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
Wie benutze ich das CSS-Backdrop-Filter-Eigenschaft? Wie benutze ich das CSS-Backdrop-Filter-Eigenschaft? Aug 02, 2025 pm 12:11 PM

Backdrop-Filter wird verwendet, um visuelle Effekte auf den Inhalt der Elemente anzuwenden. 1. Verwenden Sie Backdrop-Filter: Blur (10px) und andere Syntax, um den frostierten Glasffekt zu erzielen. 2. unterstützt mehrere Filterfunktionen wie Unsch?rfe, Helligkeit, Kontrast usw. und kann überlagert werden. 3. Es wird h?ufig in der Glaskartendesign verwendet, und es ist notwendig, sicherzustellen, dass sich die Elemente mit dem Hintergrund überschneiden. 4. Moderne Browser haben eine gute Unterstützung, und @Supports k?nnen verwendet werden, um Downgrade -L?sungen bereitzustellen. 5. Vermeiden Sie überm??ige Unsch?rfewerte und h?ufiges Neuzuziehen, um die Leistung zu optimieren. Dieses Attribut wirkt sich nur aus, wenn sich hinter den Elementen Inhalte befinden.

Was sind User Agent Stylesheets? Was sind User Agent Stylesheets? Jul 31, 2025 am 10:35 AM

User Agent Stylesheets sind die Standard -CSS -Stile, die Browser automatisch gelten, um sicherzustellen, dass HTML -Elemente, die keine benutzerdefinierten Stile hinzugefügt haben, immer noch grundlegend lesbar sind. Sie beeinflussen das anf?ngliche Erscheinungsbild der Seite, es gibt jedoch Unterschiede zwischen Browsern, die zu einer inkonsistenten Anzeige führen k?nnen. Entwickler l?sen dieses Problem h?ufig durch Zurücksetzen oder Standardisierungsstile. Verwenden Sie das Computer- oder Stilfeld der Entwickler -Tools, um die Standardstile anzuzeigen. Zu den gemeinsamen Abdeckungsvorg?ngen geh?ren das L?schen innerer und ?u?erer Margen, ?nderungen von Link -Unterstrichen, die Anpassung der Titelgr??en und die Vereinigung der Schaltfl?chenstile. Das Verst?ndnis von User Agent-Stilen kann dazu beitragen, die konsistente Cross-Browser-Konsistenz zu verbessern und eine pr?zise Layout-Steuerung zu erm?glichen.

So erstellen Sie ein Sucheingangsfeld in einem HTML -Formular So erstellen Sie ein Sucheingangsfeld in einem HTML -Formular Aug 02, 2025 pm 04:44 PM

UsTheelementWitHinatagTocreateEmanticSearchfield.2.IncludeaForAccessibility, settheform'Saction undMethod = "AttributestosendDatoAsearchendPointWithasharableUrl.

Wie erstelle ich eine springende Animation mit CSS? Wie erstelle ich eine springende Animation mit CSS? Aug 02, 2025 am 05:44 AM

Definieren Sie@keyframesBounceWith0%, 100%Attranslatey (0) und 50%Attranslatey (-20px) TocreateabasicBounce.2.ApplytheanimationToanelementusingAnimimation: Bounce0.6Sease-In-Outinfinfinitmooth, ContinuousMotion.3.Forrealism, verwendet@keyFramesrealist

Was ist der Zweck des REL -Attributs in einem Link -Tag in HTML? Was ist der Zweck des REL -Attributs in einem Link -Tag in HTML? Aug 03, 2025 pm 04:50 PM

rel = "styleSheet" linkScssFilesforstylingThePage; 2.rel = "vorlad" HintStopreloadcriticalResourcesForperformance; 3.rel = "icon" setStheWebsit'sfavicon;

Wie kann man ein PDF -Dokument in HTML einbetten? Wie kann man ein PDF -Dokument in HTML einbetten? Aug 01, 2025 am 06:52 AM

Die Verwendung von Tags ist die einfachste und empfohlene Methode. Die Syntax ist für moderne Browser geeignet, um PDF direkt einzubetten. 2. Die Verwendung von Tags kann eine bessere Unterstützung für Steuerungs- und Sicherungsinhalte bieten. Syntax ist und bietet Download -Links in Tags als Backup -L?sungen, wenn sie nicht unterstützt werden. 3.. Es kann über Google DocsViewer eingebettet werden, es wird jedoch nicht empfohlen, aufgrund von Datenschutz- und Leistungsproblemen h?ufig zu verwenden. 4. Um die Benutzererfahrung zu verbessern, sollten geeignete H?hen festgelegt werden, reaktionsschnelle Gr??en (z. B. H?he: 80VH) und PDF -Download -Links bereitgestellt werden, damit Benutzer sie selbst herunterladen und anzeigen k?nnen.

Was ist der Zweck des Zielattributs des Anker -Tags in HTML? Was ist der Zweck des Zielattributs des Anker -Tags in HTML? Aug 02, 2025 pm 02:23 PM

ThetargetAttributeinanHtmlanchortagSpecifieswheretoophelinkedDocument.1._SelfoPenTheLinkinTheSametab (Standard) .2._BlankopensTheLeNanewtaborWindow.3._ParentopenTheParentFrame

So erstellen Sie eine Schaltfl?che Senden, die Formulardaten in HTML sendet So erstellen Sie eine Schaltfl?che Senden, die Formulardaten in HTML sendet Aug 02, 2025 pm 04:46 PM

Verwenden Sie Elemente und setzen Sie die Aktions- und Methodenattribute fest, um die Datenübermittlungsadresse und -methode anzugeben. 2. Fügen Sie Eingabefelder mit Namensattribut hinzu, um sicherzustellen, dass die Daten vom Server erkannt werden k?nnen. 3.. Verwenden oder erstellen Sie eine Einreichungsschaltfl?che, und nach dem Klicken sendet der Browser die Formulardaten an die angegebene URL, die vom Backend verarbeitet wird, um die Dateneinreichung abzuschlie?en.

See all articles