Rumah hujung hadapan web html tutorial CSS的工作原理(样式重复的标签,浏览器到底会选择哪个样式)_html/css_WEB-ITnose

CSS的工作原理(样式重复的标签,浏览器到底会选择哪个样式)_html/css_WEB-ITnose

Jun 24, 2016 am 11:57 AM
prinsip Kerja Label gaya pilih

举个例子,标签P,也许会在嵌入样式表、外部样式表中多次被设置相关属性的值(比如color: red;/color : blue),那么浏览器到底是以哪个值来显示P的样式呢???这就是CSS的工作原理。(其中特指度比较重要)

CSS有3种工作机制:1.继承    2.层叠   3.特指   (其中层叠原则是基于继承和特指的)

1.继承 :css中的祖先元素会向后代传递一样东西:CSS属性的值。body是所有元素的祖先,如果我们指定body{color:red;},那么文档中的所有元素都继承这一样式。这就是为什么,我们在记事本程序写了一行字以后,重命名为:xxx.html,在用不同浏览器打开时,会有不同的字体效果,因为每个浏览器都有自己的预定义样式表,其中包括body中的字体属性,而我们用浏览器打开我们的Html时,我们继承了这个属性。

当然,不是所有的属性都能被继承,能被继承的属性大多数和文本有关,比如颜色、字体、字号等。而有些属性,被继承下来没有意义,或者被继承下来会影响页面的布局,比如涉及元素定位,margin,padding,border等属性。

 

2.层叠 :也就是CSS中的C(cascading),主要是按照样式来源和特指度来层叠。

  a)样式来源 :以下是浏览器层叠各个来源样式的顺序:

  1. 浏览器默认样式表
  2. 用户样式表(比如有视力障碍的用户,加了一个body{font-size:200%})
  3. 开发者外部样式表(按照引入到页面中的先后顺序)
  4. 开发者嵌入样式表
  5. 开发者行内样式表
  6. 注意:3 4的顺序是看

越往下的优先级越高,也就是说浏览器会优先选择后面来源设置的样式(如果存在的话)

b)特指度 :是针对选择器的计分规则,分高的选择器会被选中。公式有3个需要计算的值 :I-C-E ,规则如下

  1. 选择器中有一个ID选择器,就在I上加1
  2. 选择器中有一个类选择器,就在C上加1
  3. 选择器中有一个标签名,就在E上加1
  4. 得到一个3位数
  5. 先比较高位,高位高既为高,比如1-0-0 是比 0-12-0 高的,优先选择。以此类推,如果特制度相同,后申明的样式被选中。

选择器,也有叫选择符的,英文应该是selector,CSS有很多种选择器,此处不详谈。

举个特指度的例子:

 

p 0-0-1特指度=1
p.classp1 0-1-1特指度是11
p#idp1 1-0-1特指度是101
body p#idp1 1-0-2特指度是102
body p#idp1 ul.classul1 1-1-3特指度是113
body p#idp1 ul.classul1 li 1-1-4特指度是114

 

 基于3种工作机制,总结3条规则,适用所有情况。

1)ID选择器大于类选择器,类选择器大于标签选择器。一句话:特指度高的选择器(选择的更明确)被选中。

2)浏览器按照html文档顺序读取各个样式表,后面的样式表会覆盖掉前面样式表的相同属性的样式。如果后面的样式特指度低,则无法覆盖前面的样式

     注意:规则1 强于 规则2 ,如果特指度高,无论在哪里(除去行内),都会被选中。行内的优先级最高(但是行内的style一般不用,

),其次是特指度。

3)设定的样式优于继承的样式

 

例子1 :id选择器优于类选择器<style>    .li1{color: red;}    #li1{color:yelow;}</style><link rel="stylesheet" href="demo.css"></head><body>    <div id="div1">        <ul class="ul1">            <li id="li1" class="li1">列表项1</li>              </ul>   </div>列表1为黄色
Salin selepas log masuk

例子2 :嵌入样式表和外部样式表,选哪个(主要看浏览器按顺序,后读取的会覆盖点前面读取的),相同特指度的时候<link rel="stylesheet" href="demo.css"><style>    .li1{color: red;}</style></head><body>    <div id="div1">        <ul class="ul1">            <li id="li1" class="li1">列表项1</li>(黄色)外部样式表demo.css
Salin selepas log masuk

.li1{
color:yellow;}



为黄色

例子3:选择特指度高的(如按顺序,应该选择link的黄色,但是style中的特指度高 1-0-2 大于 1-0-1,所以选特指度高的红色),后面读取的特指度低的就不会覆盖前面特指度高的。<style>    body div #li1{color: red;}</style><link rel="stylesheet" href="demo.css"></head><body>    <div id="div1">        <ul class="ul1">            <li id="li1" class="li1">列表项1</li>
Salin selepas log masuk

demo.css

div #li1{
color:yellow;}

为红色
Salin selepas log masuk

例子4:行内style有最高优先级,前面的代码不变,只在p中加了style blue,列表项立马变成蓝色虽然行内的有最高优先级,但是行内style本身就不常用(不方便移植,增加网页大小)<li id="li1" class="li1" style="color:blue;">列表项1</li>
Salin selepas log masuk

例子5 :设定的样式优于继承的样式,即使继承的样式特指度高(在li中加入em,em继承了li的特指度是102,em本身的特指度是001,但是仍然选em)<style>    body div #li1{color: red;}    em{ color:black;}</style></head><body>    <div id="div1">        <ul class="ul1">            <li id="li1" class="li1"><em>列表项1</em></li>            </ul>列表项为黑色。
Salin selepas log masuk

 

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

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)

Bolehkah enjin kertas dinding dikongsi sesama keluarga? Bolehkah enjin kertas dinding dikongsi sesama keluarga? Mar 18, 2024 pm 07:28 PM

Adakah Wallpaper menyokong perkongsian keluarga Malangnya, ia tidak boleh disokong. Namun, kami mempunyai penyelesaian. Contohnya, anda boleh membeli dengan akaun kecil atau memuat turun perisian dan kertas dinding daripada akaun besar dahulu, dan kemudian menukar kepada akaun kecil. Melancarkan perisian itu tidak mengapa. Bolehkah wallpaperengine dikongsi bersama keluarga? Jawapan: Kertas dinding tidak menyokong fungsi perkongsian keluarga pada masa ini. 1. Difahamkan bahawa WallpaperEngine nampaknya tidak sesuai untuk persekitaran perkongsian keluarga. 2. Untuk menyelesaikan masalah ini, anda disyorkan untuk mempertimbangkan untuk membeli akaun baharu 3. Atau muat turun perisian dan kertas dinding yang diperlukan dalam akaun utama dahulu, dan kemudian beralih ke akaun lain. 4. Hanya buka perisian dengan klik ringan dan ia akan baik-baik saja. 5. Anda boleh melihat sifat pada halaman web di atas"

Bagaimana untuk menetapkan kertas dinding skrin kunci pada enjin kertas dinding? Cara menggunakan enjin kertas dinding Bagaimana untuk menetapkan kertas dinding skrin kunci pada enjin kertas dinding? Cara menggunakan enjin kertas dinding Mar 13, 2024 pm 08:07 PM

WallpaperEngine ialah perisian yang biasa digunakan untuk menetapkan kertas dinding desktop Pengguna boleh mencari gambar kegemaran mereka dalam WallpaperEngine untuk menjana kertas dinding desktop. Ia juga menyokong penambahan gambar dari komputer ke WallpaperEngine untuk menetapkannya sebagai kertas dinding komputer. Mari kita lihat bagaimana kertas dindingengine menetapkan kertas dinding skrin kunci. Tutorial kertas dinding skrin kunci tetapan Wallpaperengine 1. Mula-mula masukkan perisian, kemudian pilih dipasang, dan klik "Konfigurasi Pilihan Kertas Dinding". 2. Selepas memilih kertas dinding dalam tetapan berasingan, anda perlu klik OK di bahagian bawah sebelah kanan. 3. Kemudian klik pada tetapan dan pratonton di atas. 4. Seterusnya

Adakah terdapat sebarang virus semasa menonton filem enjin kertas dinding? Adakah terdapat sebarang virus semasa menonton filem enjin kertas dinding? Mar 18, 2024 pm 07:28 PM

Pengguna boleh memuat turun pelbagai kertas dinding apabila menggunakan WallpaperEngine, dan juga boleh menggunakan kertas dinding dinamik Ramai pengguna tidak tahu sama ada terdapat virus semasa menonton video di WallpaperEngine, tetapi fail video tidak boleh digunakan sebagai virus. Adakah terdapat sebarang virus semasa menonton filem pada mesin kertas dinding? 1. Hanya fail video tidak boleh digunakan sebagai virus. 2. Cuma pastikan anda memuat turun video daripada sumber yang dipercayai dan mengekalkan langkah keselamatan komputer untuk mengelakkan risiko jangkitan virus. 3. Kertas dinding aplikasi adalah dalam format apk, dan apk mungkin membawa virus Trojan. 4. WallpaperEngine sendiri tidak mempunyai virus, tetapi beberapa kertas dinding aplikasi dalam bengkel kreatif mungkin mempunyai virus.

Dalam folder manakah terdapat kertas dinding enjin kertas dinding? Dalam folder manakah terdapat kertas dinding enjin kertas dinding? Mar 19, 2024 am 08:16 AM

Apabila menggunakan kertas dinding, pengguna boleh memuat turun pelbagai kertas dinding yang mereka suka untuk digunakan Ramai pengguna tidak tahu folder mana kertas dinding itu berada. Kertas dinding yang dimuat turun oleh pengguna disimpan dalam folder kandungan. Dalam folder manakah kertas dinding itu? Jawapan: folder kandungan. 1. Buka Penjelajah Fail. 2. Klik "PC ini" di sebelah kiri. 3. Cari folder "STEAM". 4. Pilih "steamapps". 5. Klik “bengkel”. 6. Cari folder "kandungan".

Bagaimana untuk menukar saiz fon dalam pelayar Microsoft Edge - Bagaimana untuk menukar saiz fon dalam pelayar Microsoft Edge Bagaimana untuk menukar saiz fon dalam pelayar Microsoft Edge - Bagaimana untuk menukar saiz fon dalam pelayar Microsoft Edge Mar 04, 2024 pm 05:58 PM

Saya rasa anda tidak biasa dengan pelayar Microsoft Edge, tetapi adakah anda tahu cara menukar saiz fon dalam pelayar Microsoft Edge Artikel berikut menerangkan cara menukar saiz fon dalam pelayar Microsoft Edge. Mula-mula, cari pelayar Microsoft Edge dan klik dua kali untuk membukanya. Anda boleh mencari penyemak imbas Microsoft Edge dalam pintasan desktop, menu mula atau bar tugas, dan klik dua kali untuk membukanya. Kedua, buka antara muka [Settings] untuk memasuki antara muka penyemak imbas ini, klik logo [...] di penjuru kiri sebelah atas klik dua kali [Settings] untuk membuka antara muka tetapan; Sekali lagi, cari dan buka antara muka [Penampilan] dan tatal ke bawah dengan tetikus

Adakah enjin kertas dinding menggunakan banyak kuasa? Adakah enjin kertas dinding menggunakan banyak kuasa? Mar 18, 2024 pm 08:30 PM

Pengguna boleh menukar kertas dinding komputer mereka apabila menggunakan WallpaperEngine Ramai pengguna tidak tahu bahawa WallpaperEngine menggunakan banyak kuasa daripada kertas dinding statik, tetapi tidak banyak. Adakah mesin kertas dinding menggunakan banyak kuasa. Jawapan: Tidak banyak. 1. Kertas dinding dinamik menggunakan lebih sedikit kuasa daripada kertas dinding statik, tetapi tidak banyak. 2. Menghidupkan kertas dinding dinamik akan meningkatkan penggunaan kuasa komputer dan menghilangkan sedikit penggunaan memori. 3. Pengguna tidak perlu risau tentang penggunaan kuasa yang serius bagi kertas dinding dinamik.

Analisis fungsi dan prinsip nohup Analisis fungsi dan prinsip nohup Mar 25, 2024 pm 03:24 PM

Analisis peranan dan prinsip nohup Dalam sistem pengendalian seperti Unix dan Unix, nohup ialah arahan yang biasa digunakan yang digunakan untuk menjalankan arahan di latar belakang Walaupun pengguna keluar dari sesi semasa atau menutup tetingkap terminal, arahan itu boleh masih terus dilaksanakan. Dalam artikel ini, kami akan menganalisis fungsi dan prinsip arahan nohup secara terperinci. 1. Peranan nohup: Menjalankan arahan di latar belakang: Melalui arahan nohup, kita boleh membiarkan arahan yang berjalan lama terus dilaksanakan di latar belakang tanpa terjejas oleh pengguna yang keluar dari sesi terminal. Ini perlu dijalankan

Mana satu yang harus saya pilih antara lima filem Digimon New Age? Mana satu yang harus saya pilih antara lima filem Digimon New Age? Mar 15, 2024 pm 03:58 PM

Digimon New Age ialah permainan baharu yang mengambil masa tiga tahun untuk digilap dengan teliti Permainan ini membawa kenangan zaman kanak-kanak semua Pelan ini akan dilaraskan dan akan dilancarkan tidak lama lagi. Mari kita lihat lima cadangan haiwan peliharaan untuk Digimon New Age. Digimon New Century Five: Yang mana satu untuk dipilih: EarthGreymon, SeaLionmon, Leomon, FairyMon dan Sunflowermon Saya syorkan anda memilih Greymon dan Leomon. Lokasi acara: 1. Buka QQ, pergi ke pusat permainan, dan cari acara tempahan eksklusif Digimon New Century QQ 2. Klik pada acara, cari pintu masuk, dan kemudian sertai acara itu dan mula memilih pasangan kegemaran anda;

See all articles