两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

在 CSS 中包含兩種語法規(guī)則:

普通規(guī)則:由選擇器、屬性和值構(gòu)成,在之前的學(xué)習(xí)中我們主要使用的就是這種規(guī)則;

@規(guī)則:以@開頭后面跟隨一個關(guān)鍵字的形式構(gòu)成,也被稱為“AT規(guī)則”,根據(jù)使用方法的不同又可以分為“常規(guī)規(guī)則”與“嵌套規(guī)則”兩種。

我們主要來介紹一下 CSS 中的 @ 規(guī)則。

1. 常規(guī)規(guī)則

所謂“常規(guī)規(guī)則”指的是語法類似下面的規(guī)則:

@[KEYWORD] (RULE);

(1)@charset

@charset 用來設(shè)置 CSS 文件使用的字符編碼,語法格式如下:

@charset "<charset>";

其中 <charset> 為具體的字符編碼,默認(rèn)值為“utf-8”。

在使用時需要注意以下幾點:

①如果設(shè)置 @charset 的話,那么它必須出現(xiàn)在 CSS 文件的最前面,@charset 之前不能出現(xiàn)任何字符;

②字符編碼需要使用雙引號""包裹起來;

③@規(guī)則名稱(@charset)與具體的字符編碼之間需要使用一個空格分隔;

④規(guī)則后面的分號不能省略;

⑤如果設(shè)置多個 @charset,那么只有第一個聲明有效;

⑥不能在 HTML 元素或者 <style> 標(biāo)簽中使用 @charset;

⑦如果以不同的方式定義了多種字符編碼規(guī)則,它們的優(yōu)先級順序如下:

● HTML 文件開頭的字符編碼聲明;

● HTTP 請求頭中的字符編碼聲明;

● CSS 文件中使用 @charset 定義的字符編碼聲明;

● <link> 標(biāo)簽中 charset 屬性設(shè)置的字符編碼聲明(HTML5 中已廢棄)。

下面示例中演示了 @charset 的使用,以及幾個錯誤的示例:

/* 設(shè)置 CSS 的編碼格式為 Unicode UTF-8 */
@charset "UTF-8";      
@charset "utf-8";       /*大小寫不敏感*/
/*錯誤演示*/
@charset 'iso-8859-15'; /* 無效的, 使用了錯誤的引號 */
@charset 'UTF-8';       /* 無效的, 使用了錯誤的引號 */
@charset  "UTF-8";      /* 無效的, @charset 與字符編碼之間多用了一個空格 */
@charset "UTF-8";       /* 無效的, @規(guī)則之前多了一個空格 */
@charset UTF-8;         /* 無效的, 字符編碼需要使用雙引號包裹 */

(2)@import

@import 用來向當(dāng)前 CSS 樣式文件中導(dǎo)入其它樣式文件。通過 @import 可以引入其他樣式表文件中除 @charset 以外的所有內(nèi)容,另外 @import 也必須放在樣式文件的最前面。@import 的語法格式如下:

@import <url> <media_query_list>

其中,<url> 為使用絕對或相對路徑指定的要導(dǎo)入的外部樣式表文件路徑,也可以使用 url() 函數(shù)來指定文件路徑;<media_query_list> 為可選參數(shù),用來指定媒體查詢的條件,多個條件之間使用逗號,分隔。

在實際項目中不建議過多的使用 @import,因為它會造成很多額外的請求,阻塞其它文件的加載。

在使用 @import 時,還需要注意以下幾點:

● @import 必須在樣式表文件的開頭最先聲明,并且聲明的末尾必須使用分號結(jié)尾,如果省略了結(jié)尾的分號,可能會導(dǎo)致外部樣式表無法正確導(dǎo)入;

● 在 IE 瀏覽器使用 @import 最多只能引入 35 條樣式表。

下面示例中演示了 @import 的使用:

@import url("global.css");
@import url(global.css);
@import "global.css";
@import url("fineprint.css") print;
@import url("bluish.css") projection, tv;
@import 'custom.css';
@import url("chrome://communicator/skin/");
@import "common.css" screen, projection;
@import url('landscape.css') screen and (orientation:landscape);

以上幾種定義方式都是有效的,當(dāng)使用 url() 來設(shè)置樣式表文件的路徑時,包裹路徑的引號可有可無;當(dāng)直接使用具體路徑來設(shè)置樣式表文件的路徑時,包裹路徑的引號則必須保留。

(3)@namespace

@namespace 用來定義 CSS 樣式表中 XML 命名空間的 @規(guī)則,可以為當(dāng)前樣式文件內(nèi)的所有選擇器都設(shè)置指定的命名空間。@namespace 通常用來處理包含多個命名空間的文檔,比如 HTML5 里內(nèi)聯(lián)的 SVG、MathML 或者混合多個詞匯表的 XML。

@namespace 必須定義在所有 @charset 和 @import 的之后,并且在樣式表中要位于其他任何樣式聲明之前。@namespace 可以用來定義默認(rèn)命名空間,當(dāng)指定默認(rèn)命名空間后,所有的通用選擇器和類選擇器(但不包括屬性選擇器)都只會應(yīng)用在這個命名空間的元素中。@namespace 也可以用于定義命名空間前綴,當(dāng)一個通用、類、屬性選擇器前面有命名空間前綴修飾時,這個選擇器將只匹配那些命名空間與元素名或?qū)傩云ヅ涞脑亍?/p>

下面示例中演示了 @namespace 的使用:

/* 默認(rèn)命名空間 */
@namespace url(XML-namespace-URL);
@namespace "XML-namespace-URL";
/* 命名空間前綴 */
@namespace prefix url(XML-namespace-URL);
@namespace prefix "XML-namespace-URL";

2. 嵌套規(guī)則

所謂“嵌套規(guī)則”指的就是在 @規(guī)則后面需要跟隨一個花括號{ },其中包含了一些其它的規(guī)則聲明,類似于下面這樣:

@[KEYWORD] {
    /* 嵌套語句 */
}

(1)@media

@media 用來根據(jù)一個或多個媒體查詢的結(jié)果來應(yīng)用樣式表的某一部分(花括號中的樣式信息),使用 @media 您可以指定一組媒體查詢和一個 CSS 樣式塊,當(dāng)且僅當(dāng)媒體查詢與正在使用的設(shè)備匹配時,指定的 CSS 樣式才會應(yīng)用于文檔。

媒體查詢是用于判斷設(shè)備信息的一組條件,如設(shè)備的寬高值,寬高比,顏色,分辨率等,當(dāng)條件匹配時,才會執(zhí)行其內(nèi)嵌套的樣式信息。

@media 可以放置在樣式表中的任意位置,也可以放置于其它 @規(guī)則中,示例代碼如下:

@media all and (min-width: 1280px) {
    /* 寬度大于1280 */
}
@media
(-webkit-min-device-pixel-ratio: 1.5),
(min-resolution: 2dppx) {
    /* Retina屏幕 */
}
@media print {
    /* 打印 */
}
@media \0screen\,screen\9 {
    /* IE7,IE8 */
}
@media screen\9 {
    /* IE7*/
}

(2)@page

@page 用于在打印文檔時修改某些 CSS 屬性,需要注意的是,使用 @page 您只能修改部分 CSS 屬性,例如外間距屬性 margin,打印相關(guān)的 orphans、widows 屬性,以及 page-break-* 等屬性,其他的 CSS 屬性會被忽略。

/* 表示打印時 第一頁的上、左外邊距均為 50% */
@page :first {
  margin-left: 50%;
  margin-top: 50%;
}

(3)@supports

@supports 用于檢查瀏覽器是否支持某個 CSS 特性,也被稱為“特性查詢”,該規(guī)則的語法結(jié)構(gòu)如下:

@supports (rule)[operator (rule)]* { sRules };

其中,rule 為某個具體的 CSS 樣式,必須使用括號包裹;operator 的可選值為 or、and、not,通過 operator 參數(shù)可以指定多條 CSS 樣式。

@supports 既可以在樣式文件的頂部定義,也可以在其它嵌套規(guī)則內(nèi)部定義。但是 @supports 目前還在實驗階段,在使用時要先確定瀏覽器是否支持。

下面示例中演示了 @supports 的使用:

/* 當(dāng)瀏覽器支持 display: grid 屬性時要使用的 CSS 樣式 */
@supports (display: grid) {
  div {
    display: grid;
  }
}
/* 當(dāng)瀏覽器不支持 display: grid 屬性時要使用的 CSS 樣式 */
@supports not (display: grid) {
  div {
    float: right;
  }
}
/* 同時檢查多個條件 */
@supports (display: flex) and (-webkit-appearance: checkbox) {
  .module { display: flex; }
}

(4) @font-face

@font-face 用于從遠(yuǎn)程服務(wù)器或者用戶本地加載指定的字體,語法格式如下:

@font-face {
    font-family: <identifier>;
    src: <url> [format(<string>)] [, <url> [format(<string>)]]*;
    <font>;
}

參數(shù)說明如下:

● <identifier>:字體名稱;

● <url>:使用 url()(遠(yuǎn)程字體)或者 local()(本地字體)來指定字體的存放路徑,可以是相對路徑也可以是絕對路徑;

● <string>:用來指定自定義字體的格式,例如以下幾種類型 truetype、opentype、embedded-opentype、svg 等;

● <font>:定義字體相關(guān)樣式。

提示:@font-face 可以放在 css 樣式表的頂部,也可以放在其它嵌套規(guī)則中。如果同時使用 local() 函數(shù)和 url() 函數(shù)加載字體,則會優(yōu)先加載 local() 函數(shù)中定義的本地字體,如果沒有找到則會加載 url() 函數(shù)中定義的遠(yuǎn)程字體。

下面示例中演示了 @font-face 的使用:

/* 定義 @font-face 規(guī)則 */
@font-face {
    /* 指定字體名稱 */
    font-family: "Open Sans";
    /* 指定字體文件的路徑 */
    src: url("/fonts/OpenSans-Regular-webfont.woff2") format("woff2"),
         url("/fonts/OpenSans-Regular-webfont.woff") format("woff");
}
/* 字體的應(yīng)用 */
p {
    font-family: "Open Sans";
}

(5)@keyframes

@keyframes 用來定義 CSS3 中 animation 動畫關(guān)鍵幀(或 waypoints)的樣式,以此來控制動畫序列中的中間步驟。定義該規(guī)則后,需要通過 animation-name 屬性來使用。關(guān)鍵幀序列是由百分比來標(biāo)識命名的,起始狀態(tài)和結(jié)束狀態(tài)分別為 from 和 to 代表 0% 和 100% 。

@keyframes 的語法格式如下:

@keyframes <identifier> {
    <keyframes-blocks>
}

其中 <identifier> 用來定義動畫名稱;<keyframes-blocks> 用來定義動畫在每個階段的樣式,即幀動畫。

下面示例中演示了 @keyframes 的使用:

/* 聲明 */
@keyframes slidein {
  from {
    margin-left: 100%;
    width: 300%;
  }
 
  to {
    margin-left: 0%;
    width: 100%;
  }
}
@keyframes slideout {
  0% {
    top: 0;
  }
  50% {
    top: 30px;
  }
  100% {
    top: 60px;
  }
}
/* 應(yīng)用 */
p {
  animation-name: slidein;
  animation-duration: 4s;
}
div {
  animation-name: slideout;
  animation-duration: 4s;
}

(6)@document

@document 用來根據(jù)文檔的 URL 限制文檔中樣式的作用范圍,通過該屬性可以為指定用戶定義專屬的樣式。目前 @document 還在實驗階段,具體標(biāo)準(zhǔn)會在 CSS4 中確定。

@document 中的可用函數(shù)如下所示:

● url():匹配整個 URL;

● url-prefix():匹配文檔的 URL 是否以參數(shù)指定的值開頭;

● domain():匹配文檔的域名是否為參數(shù)中指定的域名或者為它的子域名;

● regexp():匹配文檔的 URL 是否和參數(shù)中指定的正則表達(dá)式匹配,該表達(dá)式必須匹配整個 URL。

提示:提供給 url()、url-prefix() 和 domain() 函數(shù)的參數(shù)可以不使用引號包裹,但提供給 regexp() 函數(shù)的參數(shù)必須使用引號包裹起來。

下面示例中演示了 @document 的使用:

@document url(http://www.weixueyuan.net/),
            url-prefix(http://www.weixueyuan.net/Style/),
            domain(weixueyuan.net),
            regexp("https:.*")
{
  /* 該條 CSS 規(guī)則會應(yīng)用在下面的網(wǎng)頁:
    + URL 為"http://www.weixueyuan.net/"的頁面.
    + 任何 URL 以"http://www.weixueyuan.net/Style/"開頭的網(wǎng)頁
    + 域名"weixueyuan.net"下的所有網(wǎng)頁
    + 任何 URL 以"https:"開頭的網(wǎng)頁 */
 
  /* 定義樣式 */
    body {
        color: purple;
        background: yellow;
    }

點贊(0)

C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點擊了解:

一點編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程

從零到寫出一個爬蟲的Python編程課程

只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運行等待時間)