


純css實現(xiàn)Magicline Navigation(下劃線動畫導(dǎo)航菜單)_html/css_WEB-ITnose
Jun 24, 2016 am 11:45 AM
看別人網(wǎng)站的時候,看到一種導(dǎo)航菜單的動畫,覺得很有意思,就仔細研究起來。
目前見過的動畫有三種:水平下劃線動畫導(dǎo)航、水平背景動畫導(dǎo)航、垂直動畫導(dǎo)航,他們實現(xiàn)思路都是一樣的,都是依賴 css3的同級通用選擇器 "~" 。
自己實現(xiàn)了一遍,本文簡要記錄實現(xiàn)的思想。
大家可以先看看最后實現(xiàn)的效果:Demo點我
實現(xiàn)思路
HTML 結(jié)構(gòu)
HTML結(jié)構(gòu)沒有特殊,就是 ul -> li:
<ul class="a"> <li class="n1"><a href="#">Navigator A</a></li> <li class="n2"><a href="#">Navigator B</a></li> <li class="n3 selected"><a href="#">Navigator C</a></li> <li class="n4"><a href="#">Navigator D</a></li> <li class="quebec"> </li></ul>
最后一個li空著,留著后面有用。
CSS 布局
實現(xiàn)基本樣式,不多解釋:
li { list-style: none outside; position: relative; z-index: 1; float: left; padding: 0 0 0 0; } li a { position: relative; top: 5px; display: block; margin: 0 0; border-bottom: 5px solid transparent; padding: 10px 0; text-align: center; text-decoration: none; } .selected a { border-bottom: 5px solid #cfd0d0; color: #340e56; }
實現(xiàn)導(dǎo)航下劃線
下面實現(xiàn)動畫部分。
下方紫色滾動條是通過,剛才留著的最后一個li元素實現(xiàn)。
.quebec { position: absolute; bottom: -5px; left: 0; z-index: 3; margin: 0; border: 0; width: 5px; height: 5px; padding: 0; overflow: hidden; text-indent: -9999em; background: #511d7f; -webkit-transition-property: left, width; -moz-transition-property: left, width; -ms-transition-property: left, width; -o-transition-property: left, width; transition-property: left, width; -webkit-transition-duration: .5s; -moz-transition-duration: .5s; -ms-transition-duration: .5s; -o-transition-duration: .5s; transition-duration: .5s; }
通過絕對定位,把最后一個 li.quebec 定位到導(dǎo)航下方,設(shè)置寬度高度。設(shè)置 transition,當我們改變 left, width的時候就能實現(xiàn)動畫。
動起來
當hover到導(dǎo)航上面的時候,li.quebec 就定位left到其下面。實現(xiàn)這個效果的是css3的同級通用選擇器 “~”
比如 A ~ B 匹配的是 任何在A元素之后的同級B元素。
.n1:hover ~ li.quebec { left: 0; width: 95px; } .n2:hover ~ li.quebec { left: 100px; width: 95px; } .n3:hover ~ li.quebec { left: 192px; width: 95px; } .n4:hover ~ li.quebec { left: 285px; width: 95px; }
這里就完成了一個 純css的下劃線動畫導(dǎo)航。 最后的效果:Demo查看
擴展
當我們會實現(xiàn)水平的下劃線動畫導(dǎo)航后,實現(xiàn) 背景移動動畫導(dǎo)航 思路也是一樣,不過是li.quebec高度寬度的變化,背景透明度的變化。
垂直的動畫導(dǎo)航 亦是如此,改變 li.quebec 的高度寬度,通過 translateY 控制其在垂直方向的位置。
為了效果更炫一點,我們還可以在hover不同li的時候,改變li.quebec的顏色、背景、透明度等。

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

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

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen





Die rationale Verwendung semantischer Tags in HTML kann die Klarheit, Zug?nglichkeit und SEO -Effekte der Seitenstruktur verbessern. 1. für unabh?ngige Inhaltsbl?cke wie Blog-Beitr?ge oder Kommentare muss sie in sich geschlossen werden. 2. für klassifizierungsbezogene Inhalte, die normalerweise Titel enthalten, ist für verschiedene Module der Seite geeignet. 3.. Wird für Hilfsinformationen im Zusammenhang mit dem Hauptinhalt verwendet, nicht jedoch Kern, wie z. B. Seitenleistenempfehlungen oder Autorprofile. In der tats?chlichen Entwicklung sollten Etiketten kombiniert und andere, überm??ige Verschachtelung vermeiden, die Struktur einfach halten und die Rationalit?t der Struktur durch Entwicklerwerkzeuge überprüfen.

Loading = "Lazy" ist ein HTML -Attribut für und erm?glicht es der nativen Lader -Ladefunktion des Browsers, die Seitenleistung zu verbessern. 1. Es verz?gert das Laden von Ressourcen nicht zuerst Bildschirm, verkürzt die anf?ngliche Ladezeit, spart Bandbreiten- und Serveranforderungen. 2. Es ist für gro?e Mengen von Bildern oder eingebetteten Inhalten auf langen Seiten geeignet. 3. Es ist nicht für Bilder, kleine Symbole oder faules Laden mit JavaScript geeignet. 4.. Es ist notwendig, mit Optimierungsma?nahmen wie Einstellgr??en und Komprimierungsdateien zusammenzuarbeiten, um Layout -Offsets zu vermeiden und die Kompatibilit?t sicherzustellen. Wenn Sie es verwenden, sollten Sie das Bildlauferlebnis testen und die Benutzererfahrung abw?gen.

Beim Schreiben legaler und ordentlicher HTML müssen Sie auf klare Struktur, korrekte Semantik und standardisiertes Format achten. 1. Verwenden Sie die korrekte Deklaration vom Dokumenttyp, um sicherzustellen, dass der Browser nach dem HTML5 -Standard analysiert wird. 2. Halten Sie das Etikett geschlossen und vernünftig, um zu vermeiden, geschlossene oder falsche Nistelemente zu vergessen. 3. Verwenden Sie semantische Tags wie usw., um die Zug?nglichkeit und SEO zu verbessern. 4. Der Attributwert wird immer in Zitate verpackt, und einzelne oder doppelte Zitate werden einheitlich verwendet. Boolesche Attribute müssen nur existieren, und der Klassenname sollte sinnvoll sein und redundante Attribute vermeiden.

Die Webseitenstruktur muss durch Kern -HTML -Elemente unterstützt werden. 1. Die Gesamtstruktur der Seite besteht aus dem Stammelement, das Meta -Informationen speichert und den Inhalt anzeigt. 2. Die Inhaltsorganisation stützt sich auf Titel (-), Absatz () und Block-Tags (wie), um die Organisationsstruktur und die SEO zu verbessern; 3. Die Navigation wird durch und implementiert, h?ufig verwendete Organisationen werden mit dem Aria-Strom-Attribut verknüpft und erg?nzt, um die Zug?nglichkeit zu verbessern. 4. Formularinteraktion beinhaltet und, um die vollst?ndigen Eingabebereich- und Einreichungsfunktionen zu gew?hrleisten. Die ordnungsgem??e Verwendung dieser Elemente kann die Klarheit, Wartung und Suchmaschinenoptimierung der Seiten verbessern.

Es ist eigentlich sehr einfach, Inline -Stile mithilfe des Style -Attributs von HTML zu schreiben. Fügen Sie einfach Style = "..." zum Tag hinzu und schreiben Sie dann CSS -Regeln darin. 1. Die grundlegende Schreibmethode ist der CSS -Stil mit dem Attributwert in Form einer Zeichenfolge. Jeder Stil wird durch ein Semikolon getrennt. Das Format ist der Attributname: Attributwert. Zum Beispiel: Dieser Textabsatz ist rot. Beachten Sie, dass die gesamte Style -Zeichenfolge in doppelte Zitate eingewickelt werden sollte. Jedes CSS -Attribut sollte danach mit einem Semikolon hinzugefügt werden. Der Attributname ist die Standard -Schreibmethode von CSS; 2. Die anwendbaren Szenarien für Inline -Stile umfassen dynamische Stilsteuerung, E -Mail -Vorlageentwicklung und schnelles Debuggen, z. 3. Mehrere Fallstricke, die vermieden werden müssen, umfassen hohe Priorit?t, aber schwer zu warten, viele Code -Wiederholungen und Sonderzeichen.

JavaScript erstellt, modifiziert, bewegt und l?scht HTML -Elemente durch DOM -Operationen. 1. Verwenden Sie document.createelement (), um ein neues Element zu erstellen und die Seite über appendChild () oder insertbeFor () zur Seite hinzuzufügen. 2. W?hlen Sie vorhandene Elemente über QuerySelector () oder getElementById () aus und ?ndern Sie sie mit TextContent, Innerhtml, SetAttribute () und anderen Methoden; 3. Bei der Verarbeitung mehrerer Elemente durch Schleifen müssen Sie beachten, dass QuerySelectorAll () Nodelist zurückgibt. 4. Bewegen Sie sich

Die meistenimpactfulHtmlattributesForseOarethetitletag, Altattribute, Hrefattribute und Metadadetadetitription.1.ThetitletaginThesectionIScialasisitinFormsusersandSearchEnginesaboutthePage'Scontent, MustBeconcise, Keyword-Relevant, und nicht relevant, und-nicht-relevante, und-nicht-relevante, und-nicht-relevante, und nicht-relevante, und nicht relevante, und nicht relevante, ua-relevante, uge-relevante

Theintegrityattributeensuresaresourcehasn’tbeenmodifiedbyusingacryptographichash,whilecrossoriginhandlescross-originrequeststoenablepropervalidation.1.Integritychecksthefile’sauthenticityviaSHA-256,SHA-384,orSHA-512hashes,blockingmaliciousorcorrupted
