Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 中文字幕不卡高清免费,亚洲精品久久成人福利,国内久久久久影院精品

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          Chrome 106 發(fā)布,引入新的 CSS &am

          Chrome 106 發(fā)布,引入新的 CSS 'ic' 長(zhǎng)度單位

          品|開(kāi)源中國(guó)

          Chrome 106 已發(fā)布,Chrome 博客顯示,Chrome 106 中有 20 個(gè)安全修復(fù)程序。其中有 5 個(gè) “高” CVE 級(jí)別的安全漏洞和 8 個(gè) “中等” 嚴(yán)重性漏洞。其次,Chrome 106 中包含大量新功能,比如:

          新的 Intl APIs

          Chrome 106 添加了一系列新的 Intl API ,包含大量數(shù)字格式功能,有助于以本地化格式顯示內(nèi)容(貨幣符號(hào)的解析、格式化日期和時(shí)間的標(biāo)準(zhǔn)等...)。

          與其他 Intl API 一樣,新的 Intl API 將解析內(nèi)容的負(fù)擔(dān)轉(zhuǎn)移給了系統(tǒng),無(wú)需向每個(gè)用戶發(fā)送或維護(hù)復(fù)雜的本地化代碼。

          查看 MDN 上的 Intl Number Format 文檔以獲取更多信息

          新的 CSS 功能

          • CSS 'ic' 長(zhǎng)度單位

          新的長(zhǎng)度單位:ic,ic 類似于 ch。但是 ic 專門用于以使用表意文字的語(yǔ)言(漢字屬于表意文字,因此中日韓三種語(yǔ)言都適用 ic 長(zhǎng)度)編寫的文本,它根據(jù)這個(gè)字符 [某個(gè)點(diǎn)] 的寬度或高度來(lái)測(cè)量長(zhǎng)度。

          無(wú)論文本大小如何,ic 單位都能提供可預(yù)測(cè)的控制。例如,如果設(shè)置 max-width 容器的長(zhǎng)度是 10ic,則容器最多只能包含 10 個(gè)全角字形,無(wú)論字體大小如何。

          CSS Grid 即將支持 grid-template-columns 和 grid-template-rows 的插值,它計(jì)劃在 106 中,但已延遲,并將在 Chrome 107 中推出。

          棄用

          在 requestFileSystem () 中棄用對(duì) window.PERSISTENT 配額類型的支持。

          棄用 cookie 域?qū)傩灾械姆?ASCII 字符

          為了與 RFC 6265bis 中的最新規(guī)范保持一致,Chromium 將拒絕具有包含非 ASCII 字符的 “域” 屬性的 cookie(例如 Domain=é xample.com)。

          SerialPort BYOB 閱讀器支持

          將 SerialPort 提供的 ReadableStream 的基礎(chǔ)數(shù)據(jù)源更新為可讀字節(jié)流。此更改與調(diào)用不帶參數(shù)的 port.readable.getReader () 的現(xiàn)有代碼向后兼容。開(kāi)發(fā)人員可以通過(guò)調(diào)用 getReader ({ mode: 'byob'}) 來(lái)檢測(cè)對(duì) BYOB 閱讀器的支持,因?yàn)榕f實(shí)現(xiàn)在傳遞新參數(shù)時(shí)會(huì)拋出 TypeError。

          取消前綴 -webkit-hyphenate-character CSS 屬性

          此更改支持不帶前綴的連字符,而不僅是 -webkit - 連字符。根據(jù) csswg 的討論,https://github.com/w3c/csswg-drafts/issues/6887,hyphenate-character css 屬性足夠穩(wěn)定可以發(fā)布。

          Chrome 106 中的其他更改:

          • Chrome DevTools 中的新功能 (106)

          • Chrome 106 棄用和刪除

          • ChromeStatus.com 針對(duì) Chrome 106 的更新

          • Chromium 源代碼庫(kù)更改列表

          • Chrome 發(fā)布日歷

          于在CSS中實(shí)現(xiàn)容器的長(zhǎng)寬比最初的創(chuàng)意是來(lái)自于在Web中如何實(shí)現(xiàn)縱橫比。主要是用于響應(yīng)式設(shè)計(jì)中的iframe、img和video之類的元素。隨之?dāng)U展為適用于任何容器的長(zhǎng)寬比。那在CSS中到底有多少種方案可以實(shí)現(xiàn)呢?我一向喜歡做這樣的事情,到處搜集多種解決方案。

          如果你看到前面的兩篇文章,或許你知道一些方法,或者說(shuō)所有的方案你都想到了。如果是這樣的話,你可以停止閱讀這篇。如果沒(méi)有的話,你可以繼續(xù)往下閱讀。

          長(zhǎng)寬比故事

          長(zhǎng)寬比在影視制作中又被稱之為寬高比,指的是一個(gè)視頻的寬度除以它的高度所得到的比例,通常表示為x:y或x×y,其中的冒號(hào)和叉號(hào)表示中文的“比”之意。目前,在電影工業(yè)中最常被使用的是anamorphic比例(即2.39:1)。傳統(tǒng)的4:3仍然被使用于現(xiàn)今的許多電視畫面上,而它成功的后繼規(guī)格16:9則被用于高清晰度電視或數(shù)字電視上。常見(jiàn)的比例:


          HTML結(jié)構(gòu)

          使用CSS實(shí)現(xiàn)容器長(zhǎng)寬比,常見(jiàn)的HTML模板結(jié)構(gòu)有兩種:

          <div class="aspectration" data-ratio="16:9">
              <div class="content"></div>
          </div>

          另外一種結(jié)構(gòu)是:

          <div class="aspectration" data-ratio="16:9"> </div>

          具體使用的時(shí)候,根據(jù)自己的使用場(chǎng)景采用不同的結(jié)構(gòu)。

          CSS實(shí)現(xiàn)長(zhǎng)寬比例方案

          前面也提到過(guò)了,使用CSS實(shí)現(xiàn)長(zhǎng)寬比方案有多種,下面簡(jiǎn)單的羅列一下這些方案。不過(guò)每種方案都不會(huì)詳細(xì)介紹,因?yàn)榇a非常簡(jiǎn)單,看一眼代碼就能明白其中原理。

          垂直方向的padding

          這是最早提出的一種實(shí)現(xiàn)方案,主要借助的原理是利用padding-top或者padding-bottom的百分比值,實(shí)現(xiàn)容器長(zhǎng)寬比。在CSS中padding-top或padding-bottom的百分比值是根據(jù)容器的width來(lái)計(jì)算的。如此一來(lái)就很好地實(shí)現(xiàn)了容器的長(zhǎng)寬比。采用這種方法,需要把容器的height設(shè)置為0。而容器內(nèi)容的所有元素都需要采用position:absolute,不然子元素內(nèi)容都將被padding擠出容器(造成內(nèi)容溢出)。

          比如我們?nèi)萜鞯拈L(zhǎng)寬比是16:9,那么根據(jù)比例計(jì)算:100% * 9 / 16可以得到56.25%。如果你希望的是4:3,那么對(duì)應(yīng)的就是100% * 3 / 4。

          具體的CSS代碼如下:

          .aspectration {
              position: relative; /*因?yàn)槿萜魉凶釉匦枰^對(duì)定位*/
              height: 0; /*容器高度是由padding來(lái)控制,盒模型原理告訴你一切*/
              width: 100%; 
          }
          .aspectration[data-ratio="16:9"] {
              padding-top: 56.25%;
          }
          .aspectration[data-ratio="4:3"]{
              padding-top: 75%;
          }

          通過(guò)通配符*選擇器,讓其子元素的寬高和容器.aspectration一樣大?。?/span>

          .aspectration > * {
              position: absolute;
              left: 0;
              top: 0;
              width: 100%;
              height: 100%;
          }

          padding & calc()

          這個(gè)方案采用的是padding和calc()配合在一起使用。其實(shí)原理和第一個(gè)方案是一樣的。只不過(guò)在第一個(gè)方案中,我們每次都需要對(duì)padding的值進(jìn)行計(jì)算,如果使用calc()可以通過(guò)瀏覽器直接計(jì)算出padding的百分比值。

          .aspectration[data-ratio="16:9"] {
              padding-top: calc(100% * 9 / 16);
          }

          padding & CSS變量

          對(duì)于變量而言,以前是其他計(jì)算器語(yǔ)言和CSS處理器的特性,不過(guò)值得特性的是,現(xiàn)在也是CSS的特性。接下來(lái)的這個(gè)方案也是基于padding原理,只不過(guò)是借助于CSS變量特性,讓前面的方案變得更為靈活一些。使用CSS的變量時(shí),可以把HTML中data-ratio去掉了。換成style="--aspect-ratio:16/9",也可以是style="--aspect-ratio:1.4;"。同時(shí)也可以借助于第二個(gè)方案中的calc()。因?yàn)镃SS的變量和calc()函數(shù)的結(jié)合是一種完美的結(jié)合。

          .aspectration[style*="--aspect-ratio"] {
              padding-top: calc(100% / (var(--aspect-ratio)));
          }

          padding & 偽元素

          前面的方案都是在.aspectration元素上使用padding值。但在CSS中,還可以使用CSS的偽元素::before或::after來(lái)?yè)伍_(kāi)容器。

          .aspectration {
              position: relative;
          }
          .aspectration:after {
              content: "";
              display: block;
              width: 1px;
              margin-left: -1px;
              background-color: orange;
          }
          .aspectration[data-ratio="16:9"]:after {
              padding-top: 56.25%;
          }
          .content {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
          }

          視窗單位

          CSS新特性中提供了一種新的單位vw。了解過(guò)這個(gè)單位的同學(xué)都知道,瀏覽器100vw表示的就是瀏覽器的視窗寬度(Viewport)。打個(gè)比方說(shuō),如果你的瀏覽器是1334px,那么對(duì)就的100vw=1334px。這個(gè)時(shí)候也就是說(shuō)1vw=13.34px。這里的100vw也對(duì)應(yīng)前面方案中的100%。這樣我們就可以把前面的%單位換成vw的單位。打個(gè)比方說(shuō),16:9對(duì)應(yīng)的就是100vw * 9 / 16=56.25vw。這個(gè)值可以用在padding-top或者padding-bottom中。但這里演示的不再是padding了,而是把這個(gè)值給height。

          .aspectration[data-ratio="16:9"] {
              width: 100vw;
              height: 56.25vw;
          }

          上面的示例中width的值是30vw,那么對(duì)應(yīng)的height值就是30vw * 9 / 16=16.875vw。

          視窗單位 & CSS Grid

          這是一個(gè)很有創(chuàng)意的解決方案,使用的都是CSS新特性:視窗單位和CSS Grid Layout。簡(jiǎn)單說(shuō)一下其中的實(shí)現(xiàn)原理:將容器.aspectration通過(guò)display:grid聲明為一個(gè)網(wǎng)格容器,并且利用repeat()將容器劃分為橫向比例,比如16,那么每一格的寬度對(duì)應(yīng)的就是100vw * 9 / 16=6.25vw。同樣使用grid-auto-rows,將其設(shè)置的值和橫向的值一樣。在子元素上通過(guò)grid-column和grid-row按比例合并單元格。

          .aspectration {
              display: grid;
              grid-template-columns: repeat(16, 6.25vw);
              grid-auto-rows: 6.25vw;
          }
          .aspectration[data-ratio="16:9"] .content {
              grid-column: span 16;
              grid-row: span 9;
          }

          未來(lái)原生方案 aspect-ratio

          WICG的討論上,有人提出來(lái)了原生的長(zhǎng)寬比屬性aspect-ratio。例如,給定一個(gè)容器元素它的width和height都設(shè)置為auto,并且aspect-ratio的值為2/1,max-height:200px。一個(gè)容器寬度為500px時(shí),元素首先會(huì)設(shè)置width:500px,然后根據(jù)aspect-ratio比例將height設(shè)置為250px。這個(gè)時(shí)候其實(shí)違反了max-height的約束。相反,容器大小會(huì)變成height: 200px和width:400px。另外,如果元素的max-width是450px時(shí),長(zhǎng)寬比將會(huì)完全被忽視,因?yàn)闊o(wú)法滿足。

          如果把width設(shè)置為一個(gè)百分比,高度不設(shè)置一個(gè)固定值:

          .aspectration[data-ratio="16:9"] {
              width: 100%;
              height: aspect-ratio(16/9);
          }

          現(xiàn)在討論討論趨勢(shì)是把a(bǔ)spect-ratio屬性值變成屬性,比如:

          .aspectration[data-ratio="16:9"] {
              width: 100%;
              aspect-ratio: calc(16/9);
          }

          到目前為止,還沒(méi)有任何瀏覽器支持該屬性,但我們可以借助PostCSS Aspect Ratio插件來(lái)實(shí)現(xiàn)上述的功能:

          TML(網(wǎng)頁(yè))

          Web領(lǐng)域的一些基本概念。

          WEB

          Web(World Wide Web)叫全球廣域網(wǎng),俗稱萬(wàn)維網(wǎng)(www)。

          W3C

          W3C(World Wide Web Consortium)叫萬(wàn)維網(wǎng)聯(lián)盟,是國(guó)際最著名的標(biāo)準(zhǔn)化組織,制定了web標(biāo)準(zhǔn)。

          WEB標(biāo)準(zhǔn)

          一個(gè)網(wǎng)頁(yè)包含了html元素 Css JavaScript,Html元素決定了網(wǎng)頁(yè)結(jié)構(gòu),Css進(jìn)行了修飾美化,JavaScript控制了交互行為和動(dòng)態(tài)效果。

          web標(biāo)準(zhǔn)包含了下面三個(gè)方面:

          • 結(jié)構(gòu)標(biāo)準(zhǔn)(HTML):用于對(duì)網(wǎng)頁(yè)元素進(jìn)行整理和分類。
          • 表現(xiàn)標(biāo)準(zhǔn)(CSS):用于設(shè)置網(wǎng)頁(yè)元素的版式、顏色、大小等外觀樣式。
          • 行為標(biāo)準(zhǔn)(JavaScript):用于定義網(wǎng)頁(yè)的交互和行為。

          HTML定義

          Html不是一種編程語(yǔ)言,而是描述性的標(biāo)記語(yǔ)言,主要作用是定義內(nèi)容的結(jié)構(gòu)。

          2014年10月萬(wàn)維網(wǎng)聯(lián)盟(W3C)完成了HTML5標(biāo)準(zhǔn)制定,是目前最新的HTM版本。

          HTML5的出世,標(biāo)志著web進(jìn)入一個(gè)富客戶端(具有很強(qiáng)的交互性和體驗(yàn)的客戶端程序)時(shí)代,像APP網(wǎng)頁(yè),小程序都是HTML5的應(yīng)用場(chǎng)景。

          Html5新特性:

          • 用于繪畫的 canvas 元素。
          • 用于媒介回放的 video 和 audio 元素。
          • 對(duì)本地離線存儲(chǔ)的更好的支持。
          • 新的特殊內(nèi)容元素,比如 article、footer、header、nav、section。
          • 新的表單控件,比如 calendar、date、time、email、url、search。

          頁(yè)面基本結(jié)構(gòu)

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8"> <!--字符集-->
              <meta name="viewport" content="width=device-width, initial-scale=1.0">
              <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
              <meta name="Author" content="">
              <meta name="Keywords" content="關(guān)鍵詞" />
              <meta name="Description" content="頁(yè)面描述" />
              <title>頁(yè)面標(biāo)題</title>
          </head>
          <body>
          
          </body>
          </html>

          關(guān)于viewport

          viewport用戶網(wǎng)頁(yè)的可視區(qū)域,一個(gè)針對(duì)移動(dòng)網(wǎng)頁(yè)優(yōu)化的頁(yè)面 viewport meta 標(biāo)簽如下:

          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          • width:控制 viewport 的大小,可以指定的一個(gè)值,如 600,或者特殊的值,如 device-width 為設(shè)備的寬度(單位為縮放為 100% 時(shí)的 CSS 的像素)。
          • height:和 width 相對(duì)應(yīng),指定高度。
          • initial-scale:初始縮放比例,也即是當(dāng)頁(yè)面第一次 load 的時(shí)候縮放比例。
          • maximum-scale:允許用戶縮放到的最大比例。
          • minimum-scale:允許用戶縮放到的最小比例。
          • user-scalable:用戶是否可以手動(dòng)縮放。

          常見(jiàn)元素

          head區(qū)域元素:

          meta title style link script base。

          body區(qū)域元素:

          • div、section、article、aside、header、footer
          • p
          • span、em、strong
          • table、thead、tbody、tr、td
          • ul、ol、dl、dt、dd
          • a
          • form、input、select、textarea、button

          元素分類

          塊級(jí)元素:每個(gè)元素都是獨(dú)占一行

          • address – 地址
          • blockquote – 塊引用
          • center – 舉中對(duì)齊塊
          • dir – 目錄列表
          • div – 常用塊級(jí)容易,也是css layout的主要標(biāo)簽
          • dl – 定義列表
          • fieldset – form控制組
          • form – 交互表單
          • h1-h6 – 標(biāo)題
          • hr – 水平分隔線
          • isindex – input prompt
          • menu – 菜單列表
          • noframes – frames可選內(nèi)容,(對(duì)于不支持frame的瀏覽器顯示此區(qū)塊內(nèi)容)
          • noscript – )可選腳本內(nèi)容(對(duì)于不支持script的瀏覽器顯示此內(nèi)容)
          • ol – 排序表單
          • p – 段落
          • pre – 格式化文本
          • table – 表格
          • ul – 非排序列表

          行內(nèi)元素:元素在同一行水平排列

          • a – 錨點(diǎn)
          • abbr – 縮寫
          • acronym – 首字
          • b – 粗體
          • big – 大字體
          • br – 換行
          • em – 強(qiáng)調(diào)
          • font – 字體設(shè)定(不推薦)
          • i – 斜體
          • img – 圖片
          • input – 輸入框
          • label – 表格標(biāo)簽
          • s – 中劃線(不推薦)
          • select – 項(xiàng)目選擇
          • small – 小字體文本
          • span – 常用內(nèi)聯(lián)容器,定義文本內(nèi)區(qū)塊
          • strike – 中劃線
          • strong – 粗體強(qiáng)調(diào)
          • sub – 下標(biāo)
          • sup – 上標(biāo)
          • textarea – 多行文本輸入框
          • tt – 電傳文本
          • u – 下劃線
          • var – 定義變量

          inline-block:元素可以排列在同一行顯示,并且可以設(shè)置一些塊元素屬性

          通過(guò)Css:display:inline-block 改變?cè)亍?/span>

          元素默認(rèn)樣式

          很多元素都自帶了默認(rèn)樣式,不同瀏覽器下默認(rèn)樣式表現(xiàn)不一致,為了統(tǒng)一或者滿足一些需求我們需求將所有默認(rèn)樣式清空,這種處理方式又稱為 Css Reset,比如:

          *{
              margin: 0;
              padding: 0;
          }

          另外一種方案使用normalize.css,它將不同瀏覽器下的默認(rèn)樣式進(jìn)行了統(tǒng)一,

          https://github.com/necolas/normalize.css

          CSS(層疊樣式表)

          Css的單位

          html中的單位是像素px

          絕對(duì)單位

          • in:英寸,1in=2.54cm=96px
          • pc:皮卡,1皮卡=1/16英寸
          • pt:點(diǎn),1點(diǎn)=1/72英寸
          • px:像素,1點(diǎn)=1/96英寸

          相對(duì)單位

          • em:font-size中相對(duì)于父元素的字體大小,在元素屬性中使用是相對(duì)于自身字體大小
          • rem:根元素的字體大小,在元素屬性中使用是相對(duì)于根元素字體大小
          • 1h:元素的line-height
          • vw:視窗寬度的1%
          • vh:視窗高度的1%
          • vmin:視窗較小尺寸的1%
          • vmax:視圖大尺寸的1%

          字體屬性

          屬性:字體、行高、顏色、大小、背景、邊框、滾動(dòng)、換行、修飾屬性(粗體、斜體、下劃線)

          p{
              font-size: 20px;        /*字體大小*/
              line-height: 30px;      /*行高*/
              font-family: PingFang SC;   /*字體類型:顯示PingFang SC,沒(méi)有就顯示默認(rèn)*/
              font-style: italic ;        /*italic表示斜體,normal表示不傾斜*/
              font-weight: bold;  /*粗體或?qū)懀?00|500|600)*/
              font-variant: small-caps;  /*小寫變大寫*/
          }

          行高(line-height)

          一般約定行高、字號(hào)都是偶數(shù),這樣保證它們的差一定偶數(shù)除2得到整數(shù),如下圖所示:

          line-height

          文本垂直居中

          對(duì)于單行文本可以設(shè)置行高=盒子高度。

          對(duì)于多行元素的垂直對(duì)齊,我們可以使用vertical-align: middle屬性,不過(guò)vertical-align 僅適用inline、inline-block 和 table-cell 元素。

          vertical-align

          vertical-align: baseline;
          vertical-align: sub;
          vertical-align: super;
          vertical-align: text-top;
          vertical-align: text-bottom;
          vertical-align: middle;
          vertical-align: top;
          vertical-align: bottom;
          /* 指定長(zhǎng)度值 */
          vertical-align: 10em;
          vertical-align: 4px;
          /* 使用百分比 */
          vertical-align: 20%;
          /* 全局值 */
          vertical-align: inherit;
          vertical-align: initial;
          vertical-align: revert;
          vertical-align: unset;

          文本屬性

          • letter-spacing: 0.5em ; 單個(gè)字母之間的間距。
          • word-spacing: 1em; 單詞之間的間距。
          • text-decoration: none; none 去掉下劃線、underline 下劃線、line-through 中劃線、overline 上劃線。
          • color:red; 字體顏色。
          • text-align: center; 文字對(duì)齊方式,屬性值可以是:left、right、center、justify。
          • text-transform: lowercase; uppercase(大寫)、lowercase(小寫)capitalize(首字母大寫)。
          • text-indent:10px; 文本首行縮進(jìn)。
          • text-shadow:2px 2px #ff0000; 文字陰影效果。
          • white-space: normal; 設(shè)置元素空白處理,normal,nowrap,break-spaces。

          Overflow屬性

          內(nèi)容溢出處理

          • visible:默認(rèn)值,多余的內(nèi)容會(huì)全部顯示出來(lái)。
          • hidden:超過(guò)元素的內(nèi)容隱藏。
          • auto:內(nèi)容超出顯示滾動(dòng)條。
          • scroll:Windows總是顯示滾動(dòng)條。Mac和auto 屬性相同。

          濾鏡

          filter:gray()

          背景屬性

          • background-color:#fff; 設(shè)置背景顏色。
          • background-image:url(img.png); 設(shè)置圖像為背景。
          • background-repeat: no-repeat; no-repeat不要平鋪,repeat-x橫向平鋪;repeat-y縱向平鋪。
          • background-position:center top; 設(shè)置背景圖片在容器的位置,top,bottom,left,right,center。
          • background-attachment:scroll; 設(shè)置背景圖片隨滾動(dòng)條移動(dòng),scroll(跟隨滾動(dòng)),fixed(固定)。
          • background-origin:border-box; css3,border-box(背景相對(duì)于邊框框定位),padding-box(背景相對(duì)于填充框定位),content-box(背景相對(duì)于內(nèi)容框定位)。
          • background-clip:border-box; css3,背景裁切。
          • background-size:cover; css3,調(diào)整尺寸,contain(在不裁剪或拉伸圖像的情況下,在其容器內(nèi)盡可能大地縮放圖像),cover(盡可能大地縮放圖像以填充容器,必要時(shí)拉伸圖像。),auto(在相應(yīng)的方向上縮放背景圖像,以保持其固有比例。)。

          優(yōu)先級(jí)

          理解優(yōu)先級(jí)很重要,有助于我們排查一些問(wèn)題。瀏覽器將優(yōu)先級(jí)分為兩部分:HTML的行內(nèi)樣式和選擇器的樣式。

          行內(nèi)樣式

          行內(nèi)樣式是直接作用在元素,它的優(yōu)先級(jí)高于選擇器樣式,使用!important可以提高樣式表的優(yōu)先級(jí)。

          <div style="font-size:16px">
          </div>

          選擇器樣式

          <style type="text/css">
              p{
                font-size: 16px;
              }
          </style>
          <link rel="stylesheet" href="style/app.css">

          優(yōu)先級(jí)規(guī)則如下:

          • 如果選擇器的ID數(shù)量最多的勝出。
          • 如果ID數(shù)量一致,那么擁有最多類的選擇器勝出。
          • 如果以上兩次比較都一致,那么擁有最多標(biāo)簽名的選擇器勝出。

          優(yōu)先級(jí)

          我們通過(guò)下圖這種標(biāo)記方式,就可以判斷出選擇器的優(yōu)先級(jí)。

          優(yōu)先級(jí)

          兩條經(jīng)驗(yàn)法則

          1. 盡量不要使用ID選擇器,因?yàn)樗鼤?huì)大幅提升優(yōu)先級(jí)。當(dāng)需要覆蓋這個(gè)選擇器時(shí),通常找不到另一個(gè)有意義的ID,于是就需要復(fù)制原來(lái)的選擇器加上另一個(gè)類來(lái)讓它區(qū)別于想要覆蓋的選擇器。
          2. 不要使用!important。它比ID更難覆蓋,一旦用了它,想要覆蓋原先的聲明,就需要再加上一個(gè)!important,而且依然要處理優(yōu)先級(jí)的問(wèn)題。

          基礎(chǔ)選擇器

          • 類型或標(biāo)簽選擇器,匹配目標(biāo)元素的標(biāo)簽名,如 :p,input[type=text],優(yōu)先級(jí)(0,0,1)。
          • 類選擇器,匹配class屬性中有指定類名的元素,如:.box,優(yōu)先級(jí)(0,1,0)。
          • ID選擇器,匹配擁有指定ID屬性的元素,如:#id, 優(yōu)先級(jí)(1,0,0)。
          • 通用選擇器(*),匹配所有元素 ,優(yōu)先級(jí)(0,0,0)。

          組合選擇器

          由多個(gè)基礎(chǔ)選擇器組合成的復(fù)雜選擇器。

          • 后代組合器(單個(gè)空格()表示),比如 .nav li,表示li是一個(gè)擁有nav類的元素的后代。
          • 子組合器(>),匹配的元素是直接后代,.parent > .child。
          • 相鄰兄弟組合器(+),匹配的元素緊跟在后面其它元素后面,div + p。
          • 通用兄弟組合器(~),匹配所有跟隨在指定元素之后的兄弟元素,它不會(huì)選中目標(biāo)元素之前的兄弟元素,li.active ~ li。

          復(fù)合選擇器

          多個(gè)基礎(chǔ)選擇器連起來(lái)(中間沒(méi)有空格)組成一個(gè)復(fù)合選擇器(如:ul.nav)。復(fù)合選擇器選中的元素將匹配其全部基礎(chǔ)選擇器,.box.nav 可以選中 class="box nav" ,但是不能選中 class="box"。

          偽類選擇器

          用于選中某種特定狀態(tài)的元素,優(yōu)先級(jí)(0,1,0)。

          • :first-child——匹配的元素是其父元素的第一個(gè)子元素。
          • :last-child——匹配的元素是其父元素的最后一個(gè)子元素。
          • :only-child——匹配的元素是其父元素的唯一一個(gè)子元素(沒(méi)有兄弟元素)。
          • :nth-child(an+b)——匹配的元素在兄弟元素中間有特定的位置。公式an+b里面的a和b是整數(shù),該公式指定要選中哪個(gè)元素。要了解一個(gè)公式的工作原理,請(qǐng)從0開(kāi)始代入n的所有整數(shù)值。公式的計(jì)算結(jié)果指定了目標(biāo)元素的位置。下表給出了一些例子。

          :nth-child(an+b)

          • :nth-last-child(an+b)——類似于:nth-child(),但不是從第一個(gè)元素往后數(shù),而是從最后一個(gè)元素往前數(shù)。括號(hào)內(nèi)的公式與:nth-child()里的公式的規(guī)則相同。
          • :first-of-type——類似于:first-child,但不是根據(jù)在全部子元素中的位置查找元素,而是根據(jù)擁有相同標(biāo)簽名的子元素中的數(shù)字順序查找第一個(gè)元素。
          • :last-of-type——匹配每種類型的最后一個(gè)子元素。
          • :only-of-type——該選擇器匹配的元素是滿足該類型的唯一一個(gè)子元素。
          • :nth-of-type(an+b)——根據(jù)目標(biāo)元素在特定類型下的數(shù)字順序以及特定公式選擇元素,類似于:nth-child。
          • :nth-last-of-type(an+b)——根據(jù)元素類型以及特定公式選擇元素,從其中最后一個(gè)元素往前算,類似于:nth-last-child。
          • :not(<selector>)——匹配的元素不匹配括號(hào)內(nèi)的選擇器。括號(hào)內(nèi)的選擇器必須是基礎(chǔ)選擇器,它只能指定元素本身,無(wú)法用于排除祖先元素,同時(shí)不允許包含另一個(gè)排除選擇器。
          • :focus——匹配通過(guò)鼠標(biāo)點(diǎn)擊、觸摸屏幕或者按Tab鍵導(dǎo)航而獲得焦點(diǎn)的元素。
          • :hover——匹配鼠標(biāo)指針正懸停在其上方的元素。
          • :root——匹配文檔根元素。對(duì)HTML來(lái)說(shuō),這是html元素,但是CSS還可以應(yīng)用到XML或者類似于XML的文檔上,比如SVG。在這些情況下,該選擇器的選擇范圍更廣。還有一些表單域相關(guān)的偽類選擇器。
          • :disabled——匹配已禁用的元素,包括input、select以及button元素。
          • :enabled——匹配已啟用的元素,即那些能夠被激活或者接受焦點(diǎn)的元素。
          • :checked——匹配已經(jīng)針對(duì)選定的復(fù)選框、單選按鈕或選擇框選項(xiàng)。
          • :invalid——根據(jù)輸入類型中的定義,匹配有非法輸入值的元素。例如,當(dāng)<inputtype="email">的值不是一個(gè)合法的郵箱地址時(shí),該元素會(huì)被匹配。

          更多參考:https://developer.mozilla.org/zh-CN/docs/Web/CSS

          偽元素選擇器

          偽元素選擇器可以向HTML標(biāo)記中未定義的地方插入內(nèi)容,優(yōu)先級(jí)(0,0,1)。

          • ::before——?jiǎng)?chuàng)建一個(gè)偽元素,使其成為匹配元素的第一個(gè)子元素。該元素默認(rèn)是行內(nèi)元素,可用于插入文字、圖片或其他形狀。必須指定content屬性才能讓元素出現(xiàn),如:.nav::before。
          • ::after——?jiǎng)?chuàng)建一個(gè)偽元素,使其成為匹配元素的最后一個(gè)子元素。該元素默認(rèn)是行內(nèi)元素,可用于插入文字、圖片或其他形狀。必須指定content屬性才能讓元素出現(xiàn),如:.nav::after。
          • ::first-letter——用于指定匹配元素的第一個(gè)文本字符的樣式,如:h1::first-letter。
          • ::first-line——用于指定匹配元素的第一行文本的樣式。
          • ::selection——用于指定用戶使用鼠標(biāo)高亮選擇的任意文本的樣式。通常用于改變選中文本的background-color。只有少數(shù)屬性可以使用,包括color、background-color、cursor、text-decoration。

          屬性選擇器

          屬性選擇器用于根據(jù)HTML屬性進(jìn)行匹配元素,優(yōu)先級(jí)(0,1,0)。

          • [attr]——匹配的元素?fù)碛兄付▽傩詀ttr,無(wú)論屬性值是什么,如:input[disabled]。
          • [attr="value"]——匹配的元素?fù)碛兄付▽傩詀ttr,且屬性值等于指定的字符串值,如:input[type="radio"]。
          • [attr^="value"] ——“開(kāi)頭”屬性選擇器。該選擇器匹配的元素?fù)碛兄付▽傩詀ttr,且屬性值的開(kāi)頭是指定的字符串值,例如:a[href^="https"]。
          • [attr*="value"]——“包含”屬性選擇器。該選擇器匹配的元素?fù)碛兄付▽傩詀ttr,且屬性值包含指定的字符串值,如:[class*="sprite-"]。
          • [attr~="value"]——“空格分隔的列表”屬性選擇器。該選擇器匹配的元素?fù)碛兄付▽傩詀ttr,且屬性值是一個(gè)空格分隔的值列表,列表中的某個(gè)值等于指定的字符串值,如:a[rel="author"]。
          • [attr|="value"]——匹配的元素?fù)碛兄付▽傩詀ttr,且屬性值要么等于指定的字符串值,要么以該字符串開(kāi)頭且緊跟著一個(gè)連字符(-)。

          小結(jié)

          本文要點(diǎn)回顧,歡迎留言交流。

          • Web中的一些基本概念介紹。
          • Html頁(yè)面結(jié)構(gòu),元素分類。
          • Css優(yōu)先級(jí)。
          • Css選擇器,(基礎(chǔ)選擇器,組合選擇器,復(fù)合選擇器,偽類選擇器,偽元素選擇器,屬性選擇器)。

          主站蜘蛛池模板: 内射女校花一区二区三区| 国模无码视频一区二区三区| 精品国产一区二区三区| 日韩精品无码久久一区二区三| 中文字幕一区二区三区久久网站| 国产一区在线电影| 99久久精品午夜一区二区| 国产一区二区电影| 视频一区视频二区制服丝袜 | 国产福利一区二区在线视频| 精品人妻AV一区二区三区| 国内国外日产一区二区| 精品女同一区二区| 理论亚洲区美一区二区三区 | 亚洲国产成人久久一区二区三区| 国产韩国精品一区二区三区| 国产亚洲福利一区二区免费看| 亚洲精品无码一区二区| 国产精品视频一区二区三区| 一区二区三区在线|欧| 国产精品毛片VA一区二区三区 | 成人一区二区三区视频在线观看| 久久婷婷久久一区二区三区| 国产精品无码一区二区三区电影 | 精品不卡一区中文字幕| 免费一本色道久久一区| 国产日产久久高清欧美一区| 亚洲乱码一区二区三区国产精品| 精品无码一区二区三区亚洲桃色| 亚洲AV无码一区东京热| 亚洲国产一区二区a毛片| 射精专区一区二区朝鲜| 少妇人妻精品一区二区三区| 精品无码国产一区二区三区AV | 精品一区二区三区东京热| 一区二区三区视频在线| 亚洲高清一区二区三区| 午夜DV内射一区区| 日韩A无码AV一区二区三区| 久久久人妻精品无码一区| 中文字幕乱码一区二区免费|