Rumah hujung hadapan web Soal Jawab bahagian hadapan Cara mengosongkan gaya warisan css

Cara mengosongkan gaya warisan css

Apr 24, 2023 am 09:08 AM

Penggunaan warisan CSS dan pembersihan gaya tidak dapat dielakkan dalam pembangunan web. Apabila menggunakan CSS, anda boleh mewarisi nilai atribut tertentu kepada elemen lain melalui pewarisan, dengan itu mengurangkan jumlah kod dan kos penyelenggaraan walau bagaimanapun, kadangkala anda perlu mengosongkan warisan untuk mencapai kesan gaya yang lebih baik.

1. CSS Inheritance
1.1 Inheritance Rules
Dalam CSS, terdapat beberapa nilai atribut yang diwarisi, dan nilai atribut ini boleh diwarisi oleh elemen anak. Nilai sifat ini termasuk fon, warna, susunan teks, dsb. Apabila elemen anak tidak mentakrifkan nilai atribut yang sepadan, ia akan mewarisi nilai atribut daripada elemen induknya. Contohnya:

body {
    font-family: Arial, sans-serif;
    color: #333;
}

h1 {
    font-size: 2rem;
}
Salin selepas log masuk

Dalam contoh di atas, elemen h1 mewarisi nilai atribut body dan font-family bagi elemen color. Oleh kerana elemen h1 tidak mentakrifkan nilai atribut ini, ia akan diwarisi daripada elemen induknya.

1.2 Elakkan menyalahgunakan warisan
Walaupun warisan CSS boleh menjimatkan kod dan mengurangkan kos penyelenggaraan, menyalahgunakan warisan boleh membawa kepada warisan gaya yang tidak perlu dan juga menyebabkan kesan buruk. Apabila menggunakan warisan, anda perlu memberi perhatian kepada perkara berikut:

1.2.1 Jangan tetapkan atribut bukan universal sebagai atribut yang diwarisi
Dalam CSS, beberapa nilai atribut tidak diwarisi, seperti background-image, width, height, dsb. Nilai atribut ini tidak sah jika ia ditetapkan sebagai atribut yang diwarisi dan tidak akan diwarisi oleh elemen anak.

1.2.2 Jangan jadikan struktur helaian gaya terlalu rumit
Jika struktur helaian gaya terlalu kompleks, ia boleh menyebabkan rantaian warisan menjadi terlalu panjang, menambah kerumitan yang tidak perlu pada kod. Apabila menulis helaian gaya, anda harus memberi perhatian untuk mengekalkan struktur yang ringkas dan jelas dan cuba mengelakkan lebihan. Contohnya:

/* 不推荐 */
.wrapper > .box > .title {
    font-size: 1.2rem;
}
.wrapper > .box > .content {
    font-size: 1rem;
}

/* 推荐 */
.title {
    font-size: 1.2rem;
}
.content {
    font-size: 1rem;
}
Salin selepas log masuk

1.2.3 Jangan tentukan terlalu banyak sifat yang diwarisi
Hanya tetapkan sifat yang diperlukan sebagai sifat yang diwarisi Menentukan terlalu banyak sifat yang diwarisi akan menyukarkan kod untuk dikekalkan dan reka letak sukar untuk dilakukan faham . Apabila mentakrifkan sifat CSS, pertimbangkan untuk menggunakan gaya yang fleksibel dan ringkas.

1.3 Menggunakan warisan
Walaupun penyalahgunaan warisan boleh membawa kepada warisan gaya yang tidak perlu, warisan CSS masih sangat berguna apabila digunakan dengan betul. Berikut ialah beberapa situasi di mana warisan boleh digunakan:

1.3.1 Menyatukan atribut fon
Anda boleh menetapkan atribut fon pada elemen body dan kemudian menjadikan gaya fon keseluruhan halaman konsisten melalui pewarisan:

body {
    font-family: Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.5;
}
Salin selepas log masuk

1.3.2 Atribut warna bersatu
Warna ialah atribut yang sangat penting dan boleh diwarisi untuk memastikan warna keseluruhan halaman konsisten. Contohnya:

body {
    color: #333;
}

h1, h2, h3 {
    color: inherit; /* 继承父元素的颜色 */
}
Salin selepas log masuk

1.3.3 Penjajaran teks bersatu
Dengan menetapkan atribut text-align pada elemen induk biasa, elemen anak boleh dibuat mengikut penjajaran teks bersatu. Contohnya:

body {
    text-align: center;
}

h1, h2, h3 {
    text-align: left; /* 继承父元素的文本对齐方式 */
}
Salin selepas log masuk

2. Pembersihan Gaya
Dalam CSS, kadangkala kita perlu mengosongkan gaya lalai elemen tertentu atau membatalkan gaya yang telah ditetapkan. Berikut ialah beberapa kaedah yang boleh digunakan untuk mengosongkan gaya:

2.1 Tetapkan semula helaian gaya
Anda boleh menggunakan helaian gaya tetapan untuk mengosongkan gaya lalai dan menetapkan semula gaya lalai semua elemen kepada gaya asas . Berikut ialah kod daripada 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;
}
Salin selepas log masuk

Masukkan kod di atas pada permulaan lembaran gaya CSS untuk menetapkan semula ia Tetapkan gaya lalai untuk semua elemen.

2.2 Gunakan unset untuk mengosongkan
Dalam CSS3, terdapat nilai hartanah baharu unset. unsetAnda boleh mengosongkan kesan pewarisan tetapan atribut tertentu supaya elemen memperoleh semula nilai lalai atribut tersebut. Contohnya:

a {
    color: inherit;
    text-decoration: none;
    outline: none;
    background-color: unset; /* 取消已经设置好的颜色 */
}
Salin selepas log masuk

2.3 Gunakan none untuk mengosongkan
Apabila anda perlu membatalkan gaya elemen, anda boleh menggunakan nilai none, contohnya:

input[type="checkbox"] {
    -webkit-appearance: none; /* 取消浏览器默认外观 */
    appearance: none;
}
Salin selepas log masuk

2.4 Gunakan !important Pembersihan
!important ialah cara mengatasi semua keutamaan dengan keutamaan tertinggi, mengatasi gaya atau gaya yang diwarisi yang mempunyai set keutamaan yang sama. Contohnya:

p {
    color: #333 !important; /* 覆盖其它可能已经设定的颜色值 */
}
Salin selepas log masuk

2.5 Gunakan inherit untuk mengatasi gaya
Gunakan atribut inherit untuk menetapkan nilai atribut untuk mewarisi nilai elemen atasnya, sekali gus mengatasi gaya semasa unsur. Contohnya:

h1 {
    font-size: 2rem;
}

h2 {
    font-size: inherit; /* 继承 h1 的 font-size 属性 */
}
Salin selepas log masuk

Kesimpulan
Dalam pembangunan CSS, pewarisan dan pembersihan gaya adalah teknik yang agak biasa Penggunaan yang betul boleh meningkatkan kebolehselenggaraan dan kecekapan kod. Walau bagaimanapun, penyalahgunaan teknik ini yang berlebihan akan menjadikan kod sukar untuk dikekalkan dan difahami, malah menyebabkan ralat yang tidak perlu. Pembangun perlu menimbang kebaikan dan keburukan warisan dan pembersihan, memanfaatkan sepenuhnya teknik ini dan mengelakkan kerumitan yang tidak perlu.

Atas ialah kandungan terperinci Cara mengosongkan gaya warisan css. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Peranan React dalam HTML: Meningkatkan Pengalaman Pengguna Peranan React dalam HTML: Meningkatkan Pengalaman Pengguna Apr 09, 2025 am 12:11 AM

React menggabungkan JSX dan HTML untuk meningkatkan pengalaman pengguna. 1) JSX membenamkan HTML untuk menjadikan pembangunan lebih intuitif. 2) Mekanisme DOM maya mengoptimumkan prestasi dan mengurangkan operasi DOM. 3) UI pengurusan berasaskan komponen untuk meningkatkan kebolehkerjaan. 4) Pengurusan negeri dan pemprosesan acara meningkatkan interaktiviti.

Komponen React: Membuat unsur -unsur yang boleh diguna semula di HTML Komponen React: Membuat unsur -unsur yang boleh diguna semula di HTML Apr 08, 2025 pm 05:53 PM

Komponen React boleh ditakrifkan oleh fungsi atau kelas, merangkumi logik UI dan menerima data input melalui prop. 1) Tentukan komponen: Gunakan fungsi atau kelas untuk mengembalikan elemen bertindak balas. 2) Rendering Component: React Call Render Kaedah atau Melaksanakan Komponen Fungsi. 3) Komponen multiplexing: Lulus data melalui prop untuk membina UI yang kompleks. Pendekatan kitaran hayat komponen membolehkan logik dilaksanakan pada peringkat yang berbeza, meningkatkan kecekapan pembangunan dan pemeliharaan kod.

Apakah batasan sistem kereaktifan Vue 2 berkenaan dengan perubahan array dan objek? Apakah batasan sistem kereaktifan Vue 2 berkenaan dengan perubahan array dan objek? Mar 25, 2025 pm 02:07 PM

Sistem Reaktiviti Vue 2 bergelut dengan tetapan indeks array langsung, pengubahsuaian panjang, dan penambahan/penghapusan harta benda objek. Pemaju boleh menggunakan kaedah mutasi Vue dan vue.set () untuk memastikan kereaktifan.

React and the Frontend: Membina Pengalaman Interaktif React and the Frontend: Membina Pengalaman Interaktif Apr 11, 2025 am 12:02 AM

React adalah alat pilihan untuk membina pengalaman front-end interaktif. 1) React memudahkan pembangunan UI melalui komponen dan DOM maya. 2) Komponen dibahagikan kepada komponen fungsi dan komponen kelas. Komponen fungsi adalah lebih mudah dan komponen kelas menyediakan lebih banyak kaedah kitaran hayat. 3) Prinsip kerja React bergantung kepada algoritma DOM dan perdamaian maya untuk meningkatkan prestasi. 4) Pengurusan negeri menggunakan useState atau ini. Kaedah kitaran hayat seperti ComponentDidMount digunakan untuk logik tertentu. 5) Penggunaan asas termasuk membuat komponen dan pengurusan negeri, dan penggunaan lanjutan melibatkan cangkuk tersuai dan pengoptimuman prestasi. 6) Kesalahan biasa termasuk kemas kini status yang tidak betul dan isu prestasi, kemahiran debugging termasuk menggunakan reactdevtools dan sangat baik

Apakah faedah menggunakan TypeScript dengan React? Apakah faedah menggunakan TypeScript dengan React? Mar 27, 2025 pm 05:43 PM

TypeScript meningkatkan pembangunan React dengan menyediakan keselamatan jenis, meningkatkan kualiti kod, dan menawarkan sokongan IDE yang lebih baik, dengan itu mengurangkan kesilapan dan meningkatkan kebolehkerjaan.

Bagaimanakah anda boleh menggunakan UserEducer untuk Pengurusan Negeri Kompleks? Bagaimanakah anda boleh menggunakan UserEducer untuk Pengurusan Negeri Kompleks? Mar 26, 2025 pm 06:29 PM

Artikel ini menerangkan menggunakan UserEducer untuk Pengurusan Negeri Kompleks dalam React, memperincikan manfaatnya ke atas UseState dan bagaimana untuk mengintegrasikannya dengan useeffect untuk kesan sampingan.

Apakah komponen berfungsi dalam vue.js? Bilakah mereka berguna? Apakah komponen berfungsi dalam vue.js? Bilakah mereka berguna? Mar 25, 2025 pm 01:54 PM

Komponen fungsional dalam vue.js adalah cangkuk kitaran hidup, ringan, dan kekurangan kitaran, sesuai untuk memberikan data tulen dan mengoptimumkan prestasi. Mereka berbeza daripada komponen yang berkesudahan dengan tidak mempunyai keadaan atau kereaktifan, menggunakan fungsi render secara langsung, a

Bagaimana anda memastikan bahawa komponen React anda boleh diakses? Alat apa yang boleh anda gunakan? Bagaimana anda memastikan bahawa komponen React anda boleh diakses? Alat apa yang boleh anda gunakan? Mar 27, 2025 pm 05:41 PM

Artikel ini membincangkan strategi dan alat untuk memastikan komponen React boleh diakses, memberi tumpuan kepada HTML semantik, atribut ARIA, navigasi papan kekunci, dan kontras warna. Ia mengesyorkan menggunakan alat seperti ESLINT-PLUGIN-JSX-A11Y dan AXE-CORE untuk TESTI

See all articles