So löschen Sie geerbte CSS-Stile
Der Einsatz von CSS-Vererbung und Stilbereinigung ist in der Webentwicklung unvermeidlich. Wenn Sie CSS verwenden, können Sie bestimmte Attributwerte durch Vererbung an andere Elemente vererben und so den Codeumfang und die Wartungskosten reduzieren. Manchmal müssen Sie jedoch die Vererbung löschen, um bessere Stileffekte zu erzielen.
1. CSS-Vererbung
1.1 Vererbungsregeln
In CSS sind einige Attributwerte vererbbar und diese Attributwerte können von untergeordneten Elementen geerbt werden. Zu diesen Eigenschaftswerten gehören Schriftart, Farbe, Textanordnung usw. Wenn ein untergeordnetes Element keinen entsprechenden Attributwert definiert, erbt es den Attributwert von seinem übergeordneten Element. Zum Beispiel:
body { font-family: Arial, sans-serif; color: #333; } h1 { font-size: 2rem; }
Im obigen Beispiel erbt das Element h1
die font-family
und color
des body Code> Element > Attributwert. Da das Element <code>h1
diese Attributwerte nicht definiert, werden sie von seinem übergeordneten Element geerbt. h1
元素继承了body
元素的font-family
和color
属性值。因为h1
元素没有定义这些属性值,所以会从其上层元素继承。
1.2 避免滥用继承
尽管 CSS 继承可以节省代码、减少维护成本,但是滥用继承可能会导致不必要的样式继承,甚至造成不良影响。在使用继承时,需要注意以下几点:
1.2.1 不要将非通用属性设置为继承属性
在 CSS 中,有些属性值不具有继承性,如background-image
、width
、height
等。这些属性值设置为继承属性无效,不会被子元素所继承。
1.2.2 不要将样式表结构过于复杂
如果样式表的结构过于复杂,可能会导致继承链条过长,增加了代码的不必要复杂性。在编写样式表时,应注意保持简洁明了的结构,尽量避免冗余。例如:
/* 不推荐 */ .wrapper > .box > .title { font-size: 1.2rem; } .wrapper > .box > .content { font-size: 1rem; } /* 推荐 */ .title { font-size: 1.2rem; } .content { font-size: 1rem; }
1.2.3 不要定义过多的继承属性
仅将必要的属性设置为继承属性,如果定义过多的继承属性会让代码难以维护、布局难以理解。在定义 CSS 属性时,需要考虑使用灵活、简单的样式。
1.3 使用继承
虽然滥用继承会导致不必要的样式继承,但是当使用得当时,CSS 继承还是非常有用的。以下是一些情况下可以使用继承:
1.3.1 统一字体属性
可以将字体属性设置在body
元素上,然后通过继承使整个页面的字体风格保持一致:
body { font-family: Arial, sans-serif; font-size: 1rem; line-height: 1.5; }
1.3.2 统一颜色属性
颜色是很重要的一个属性,可以通过继承来使整个页面的颜色保持一致。例如:
body { color: #333; } h1, h2, h3 { color: inherit; /* 继承父元素的颜色 */ }
1.3.3 统一文本对齐方式
通过将text-align
属性设置在一个共同的父元素上,可以使子元素遵循统一的文本对齐方式。例如:
body { text-align: center; } h1, h2, h3 { text-align: left; /* 继承父元素的文本对齐方式 */ }
二、样式清除
在 CSS 中,有时候我们需要清除掉某些元素的默认样式,或取消已经设置好的样式。以下是一些可用于样式清除的方法:
2.1 重置样式表
可以使用重置样式表来清除默认样式,将所有元素的默认样式重置为基础样式。以下是 Eric Meyer's Reset CSS( https://meyerweb.com/eric/tools/css/reset/ )的代码:
/* Reset CSS */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } /* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } body { line-height: 1; } ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; }
将上述代码插入到 CSS 样式表的开头,即可重置所有元素的默认样式。
2.2 使用 unset
进行清除
在 CSS3 中,有一种新的属性值unset
。unset
可以清除某个属性设置的继承效果,使元素重新获得该属性的默认值。例如:
a { color: inherit; text-decoration: none; outline: none; background-color: unset; /* 取消已经设置好的颜色 */ }
2.3 使用 none
进行清除
当需要取消某个元素样式时,可以使用none
值,例如:
input[type="checkbox"] { -webkit-appearance: none; /* 取消浏览器默认外观 */ appearance: none; }
2.4 使用 !important
进行清除!important
是一种以最高优先级覆盖所有优先级的方式,可以覆盖继承的样式或设置了相同优先级的样式。例如:
p { color: #333 !important; /* 覆盖其它可能已经设定的颜色值 */ }
2.5 使用 inherit
覆盖样式
使用inherit
Obwohl CSS-Vererbung Code sparen und Wartungskosten senken kann, kann der Missbrauch der Vererbung zu unnötiger Stilvererbung führen und sogar negative Auswirkungen haben. Bei der Verwendung der Vererbung müssen Sie die folgenden Punkte beachten:
background-image
, width
, height
usw. Diese Attributwerte sind ungültig, wenn sie als geerbte Attribute festgelegt sind und nicht von untergeordneten Elementen geerbt werden. 🎜🎜1.2.2 Machen Sie die Stylesheet-Struktur nicht zu komplex🎜Wenn die Stylesheet-Struktur zu komplex ist, kann dies dazu führen, dass die Vererbungskette zu lang wird, was dem Code unnötige Komplexität verleiht. Beim Schreiben von Stylesheets sollten Sie auf eine prägnante und klare Struktur achten und versuchen, Redundanzen zu vermeiden. Zum Beispiel: 🎜h1 { font-size: 2rem; } h2 { font-size: inherit; /* 继承 h1 的 font-size 属性 */ }
body
-Element festlegen und dann den Schriftartstil der gesamten Seite durchgängig machen Vererbung: 🎜rrreee🎜 1.3.2 Farbattribute vereinheitlichen🎜Farbe ist ein sehr wichtiges Attribut, das vererbt werden kann, um die Farbe der gesamten Seite konsistent zu machen. Zum Beispiel: 🎜rrreee🎜1.3.3 Einheitliche Textausrichtung🎜Durch Festlegen des Attributs text-align
für ein gemeinsames übergeordnetes Element können Sie dafür sorgen, dass untergeordnete Elemente einer einheitlichen Textausrichtung folgen. Zum Beispiel: 🎜rrreee🎜 2. Stillöschung🎜In CSS müssen wir manchmal die Standardstile bestimmter Elemente löschen oder die festgelegten Stile löschen. Hier sind einige Methoden, die zum Löschen des Stils verwendet werden können: 🎜🎜2.1 Stylesheet zurücksetzen🎜 Sie können das Stylesheet zum Zurücksetzen verwenden, um den Standardstil zu löschen und den Standardstil aller Elemente auf den Basisstil zurückzusetzen. Hier ist der Code aus Eric Meyers Reset CSS (https://meyerweb.com/eric/tools/css/reset/): 🎜rrreee🎜 Fügen Sie den obigen Code am Anfang des CSS-Stylesheets ein, um die Standardstile aller Elemente zurückzusetzen . 🎜🎜2.2 Verwenden Sie unset
zum Löschen. 🎜In CSS3 gibt es einen neuen Attributwert unset
. unset
kann den Vererbungseffekt einer bestimmten Attributeinstellung löschen, sodass das Element wieder den Standardwert des Attributs erhält. Zum Beispiel: 🎜rrreee🎜2.3 Verwenden Sie none
zum Löschen 🎜Wenn Sie den Stil eines Elements aufheben müssen, können Sie den Wert none
verwenden, zum Beispiel: 🎜rrreee🎜 2.4 Verwenden Sie !important
, um 🎜!important
zu löschen. Dies ist eine Möglichkeit, alle Prioritäten mit der höchsten Priorität zu überschreiben, wodurch geerbte Stile oder Stile mit demselben Prioritätssatz überschrieben werden können. Zum Beispiel: 🎜rrreee🎜2.5 Verwenden Sie inherit
, um Stile zu überschreiben. 🎜Verwenden Sie das Attribut inherit
, um einen Attributwert so festzulegen, dass er den Wert seines oberen Elements erbt und so den Stil von überschreibt das aktuelle Element. Zum Beispiel: 🎜rrreee🎜Fazit🎜 In der CSS-Entwicklung sind Vererbung und Stillöschung relativ häufige Techniken. Die richtige Verwendung kann die Wartbarkeit und Effizienz des Codes verbessern. Ein übermäßiger Missbrauch dieser Techniken führt jedoch dazu, dass der Code schwer zu warten und zu verstehen ist und sogar unnötige Fehler verursacht. Entwickler müssen die Vor- und Nachteile von Vererbung und Bereinigung abwägen, diese Techniken voll ausnutzen und unnötige Komplexität vermeiden. 🎜Das obige ist der detaillierte Inhalt vonSo löschen Sie geerbte CSS-Stile. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

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

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

Undress AI Tool
Ausziehbilder kostenlos

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





React kombiniert JSX und HTML, um die Benutzererfahrung zu verbessern. 1) JSX bettet HTML ein, um die Entwicklung intuitiver zu gestalten. 2) Der virtuelle DOM -Mechanismus optimiert die Leistung und reduziert den DOM -Betrieb. 3) Komponentenbasierte Verwaltungs-Benutzeroberfläche zur Verbesserung der Wartbarkeit. 4) Staatsmanagement und Ereignisverarbeitung verbessern die Interaktivität.

React -Komponenten können durch Funktionen oder Klassen definiert werden, wobei die UI -Logik eingefasst und Eingabedaten durch Props akzeptiert werden. 1) Komponenten definieren: Verwenden Sie Funktionen oder Klassen, um Reaktierungselemente zurückzugeben. 2) Rendering -Komponente: React -Aufrufe rendern Methode oder führt die Funktionskomponente aus. 3) Multiplexing -Komponenten: Daten durch Requisiten übergeben, um eine komplexe Benutzeroberfläche zu erstellen. Mit dem Lebenszyklusansatz von Komponenten kann die Logik in verschiedenen Phasen ausgeführt werden, wodurch die Entwicklungseffizienz und die Wartbarkeit des Codes verbessert werden.

Das Reaktivitätssystem von VUE 2 kämpft mit der Einstellung der Direktarray -Index, der Längenänderung und der Addition/Löschung der Objekteigenschaften. Entwickler können die Mutationsmethoden von VUE und VUE.SET () verwenden, um die Reaktivität sicherzustellen.

React ist das bevorzugte Werkzeug zum Aufbau interaktiver Front-End-Erlebnisse. 1) React vereinfacht die UI -Entwicklung durch Komponentierungen und virtuelles DOM. 2) Komponenten werden in Funktionskomponenten und Klassenkomponenten unterteilt. Funktionskomponenten sind einfacher und Klassenkomponenten bieten mehr Lebenszyklusmethoden. 3) Das Arbeitsprinzip von React beruht auf virtuellen DOM- und Versöhnungsalgorithmus, um die Leistung zu verbessern. 4) State Management verwendet Usestate oder diese. 5) Die grundlegende Verwendung umfasst das Erstellen von Komponenten und das Verwalten von Status, und die erweiterte Verwendung umfasst benutzerdefinierte Haken und Leistungsoptimierung. 6) Zu den häufigen Fehlern gehören unsachgemäße Statusaktualisierungen und Leistungsprobleme, Debugging -Fähigkeiten umfassen die Verwendung von ReactDevtools und exzellent

TypeScript verbessert die Reaktionsentwicklung, indem sie die Sicherheit Typ, Verbesserung der Codequalität und eine bessere Unterstützung für eine IDE bietet, wodurch Fehler verringert und die Wartbarkeit verbessert werden.

In dem Artikel wird der Usereducer für komplexes Zustandsmanagement in React erläutert, wobei die Vorteile gegenüber Usestate detailliert beschrieben werden und wie sie in die Nutzung für Nebenwirkungen integriert werden können.

Funktionelle Komponenten in vue.js sind zustandslos, leicht und fehlen Lebenszyklushaken, die ideal für die Rendern von reinen Daten und zur Optimierung der Leistung. Sie unterscheiden

In dem Artikel werden Strategien und Tools erörtert, um sicherzustellen, dass React -Komponenten zugänglich sind und sich auf semantische HTML, ARIA -Attribute, Tastaturnavigation und Farbkontrast konzentrieren. Es empfiehlt die Verwendung von Tools wie Eslint-Plugin-JSX-A11Y und AXE-CORE für Testi
