從零開始學習html(七)CSS樣式基本知識

来源:http://www.cnblogs.com/guxinglang/archive/2017/05/08/6796793.html
-Advertisement-
Play Games

一、內聯式css樣式,直接寫在現有的HTML標簽中 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>認識html標簽< ...


一、內聯式css樣式,直接寫在現有的HTML標簽中

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 5 <title>認識html標簽</title>
 6 <style type="text/css">
 7 span{
 8    color:red;
 9 }
10 </style>
11 </head>
12 <body>
13     <p>慕課網,<span>超酷的互聯網</span>、IT技術免費學習平臺,創新的網路一站式學習、實踐體驗;<span>服務及時貼心</span>,內容專業、<span>有趣易學</span>。專註服務互聯網工程師快速成為技術高手!</p>
14 </body>
15 </html>
內聯式css樣式,直接寫在現有的HTML標簽中

CSS樣式可以寫在哪些地方呢?

從CSS 樣式代碼插入的形式來看基本可以分為以下3種:內聯式、嵌入式和外部式三種。

內聯式css樣式表就是把css代碼直接寫在現有的HTML標簽中,如下麵代碼:

<p style="color:red">這裡文字是紅色。</p>

註意要寫在元素的開始標簽里,下麵這種寫法是錯誤的:

<p>這裡文字是紅色。</p style="color:red">

並且css樣式代碼要寫在style=""雙引號中,如果有多條css樣式代碼設置可以寫在一起,中間用分號隔開。如下代碼:

<p style="color:red;font-size:12px">這裡文字是紅色。</p>

試一試:使用內聯式css樣式為"超酷的互聯網"這幾個字設置字體顏色為藍色

在編輯器中13行中的第一個span標簽中寫入代碼:

style="color:blue"

你寫是否寫入的代碼像下麵的樣子:

 <span style="color:blue">超酷的互聯網</span>


二、嵌入式css樣式,寫在當前的文件中

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 5 <title>嵌入式css樣式</title>
 6 <style type="text/css">
 7 span{
 8    color:red;
 9 }
10 </style>
11 </head>
12 <body>
13     <p>慕課網,<span>超酷的互聯網</span>、IT技術免費學習平臺,創新的網路一站式學習、實踐體驗;<span>服務及時貼心</span>,內容專業、<span>有趣易學</span>。專註服務互聯網工程師快速成為技術高手!</p>
14 </body>
15 </html>
嵌入式css樣式,寫在當前的文件中

現在有一任務,把編輯器中的“超酷的互聯網”、“服務及時貼心”、“有趣易學”這三個短詞文字字型大小修改為18px。

如果用我們學習的內聯式css樣式的方法進行設置將是一件很頭疼的事情(為每一個<span>標簽加入sytle="font-size:18px"語句)。

嵌入式css樣式,就是可以把css樣式代碼寫在<style type="text/css"></style>標簽之間。如下麵代碼實現把三個<span>標簽中的文字設置為紅色:

<style type="text/css">
span{
color:red;
}
</style>

嵌入式css樣式必須寫在<style></style>之間,並且一般情況下嵌入式css樣式寫在<head></head>之間。如編輯器中的代碼。

來試一試:用嵌入式css樣式設置字體顏色

在代碼編輯器中的段落中,有三個<span>標簽,請把這三個<span>標簽中的文字顏色都設置為藍色

你是否輸入像下麵樣式的代碼:

span

       {color:blue;

}

三、外部式css樣式,寫在單獨的一個文件中

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 5 <title>嵌入式css樣式</title>
 6 <link href="style.css" rel="stylesheet" type="text/css" />
 7 </head>
 8 <body>
 9     <p>慕課網,<span>超酷的互聯網</span>、IT技術免費學習平臺,創新的網路一站式學習、實踐體驗;<span>服務及時貼心</span>,內容專業、<span>有趣易學</span>。專註服務互聯網工程師快速成為技術高手!</p>
10 </body>
11 </html>
外部式css樣式,寫在單獨的一個文件中
1 span{
2    color:red;
3    
4 }
外部式css樣式,寫在單獨的一個文件中

 外部式css樣式(也可稱為外聯式)就是把css代碼寫一個單獨的外部文件中,這個css樣式文件以“.css”為擴展名,

在<head>內(不是在<style>標簽內)使用<link>標簽將css樣式文件鏈接到HTML文件內,如下麵代碼:

<link href="base.css" rel="stylesheet" type="text/css" />

註意:

1、css樣式文件名稱以有意義的英文字母命名,如 main.css。

2、rel="stylesheet" type="text/css" 是固定寫法不可修改。

3、<link>標簽位置一般寫在<head>標簽之內。

來試一試:用外部式css樣式設置文字字型大小

1、單擊打開style.css文件(在html文件的下麵),在第3行輸入代碼font-size:20px;觀察結果視窗中文字大小的變化。

style.css文件中的代碼是不是跟下麵的一樣:

span

        {color:red;

         font-size:20px;

}

      內聯:<span style="color:red;font-size:10px;" >text</span>

      嵌入:<style type="text/css">span{color:red;font-size:10px;}</style>

      外部:<link href="style.css" rel="stylesheet" type="text/css">

      rel屬性用於定義鏈接的文件和HTML文檔之間的關係。StyleSheet,的意思就是樣式調用,

      內聯式適用情況:局部特殊化

      嵌入式適用情況:統一標簽樣式格式

      外聯式適用情況:方便代碼重用和管理

      rel是relationship的英文縮寫

      stylesheet中style是樣式的意思,sheet是表格之意,總起來是樣式表的意思

      rel="stylesheet" 描述了當前頁面與href所指定文檔的關係.即說明的是,href連接的文檔是一個新式表

      link內聲明外鏈css文件,href路徑,rel為外鏈文檔和本文檔的關係即relative,type即為外鏈文檔的類型。

四、三種方法的優先順序

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 5 <title>嵌入式css樣式</title>
 6 <link href="style.css" rel="stylesheet" type="text/css">
 7 <style type="text/css">
 8 span{
 9    color:red;
10 }
11 </style>
12 </head>
13 <body>
14     <p>慕課網,<span style="color:pink">超酷的互聯網</span>、IT技術免費學習平臺,創新的網路一站式學習、實踐體驗;服務及時貼心,內容專業、有趣易學。專註服務互聯網工程師快速成為技術高手!</p>
15 </body>
16 </html>
三種方法的優先順序
1 span{
2    color:blue;
3 }
三種方法的優先順序

如果有一種情況:對於同一個元素我們同時用了三種方法設置css樣式,那麼哪種方法真正有效呢?在編輯器就出現了這種情況

1、使用內聯式CSS設置“超酷的互聯網”文字為粉色

2、然後使用嵌入式CSS來設置文字為紅色

3、最後又使用外部式設置文字為藍色(style.css文件中設置)。

但最終你可以觀察到“超酷的互聯網”這個短詞的文本被設置為了粉色

因為這三種樣式是有優先順序的,記住他們的優先順序:內聯式 > 嵌入式 > 外部式

但是嵌入式>外部式有一個前提:嵌入式css樣式的位置一定在外部式的後面。

如代碼編輯器就是這樣,<link href="style.css" ...>代碼在<style type="text/css">...</style>代碼的前面(實際開發中也是這麼寫的)。

感興趣的小伙伴可以試一下,把它們調換順序,再看他們的優先順序是否變化。

其實總結來說,就是--就近原則(離被設置元素越近優先順序別越高)

但註意上面所總結的優先順序是有一個前提:內聯式、嵌入式、外部式樣式表中css樣式是在的相同權值的情況下。

任務

分別使用內聯式、嵌入式和外部式CSS樣式,把“超酷的互聯網”文本字型大小進行設置,感受一下這三種方法的優先順序。

別忘了設置字型大小的css樣式代碼:

font-size:20px;

有的小伙伴問了,如果有一種情況:對於同一個元素我們同時用了三種方法設置css樣式,那麼哪種方法真正有效呢?在右邊編輯器就出現了這種情況

1、使用內聯式CSS設置“超酷的互聯網”文字為粉色

2、然後使用嵌入式CSS來設置文字為紅色

3、最後又使用外部式設置文字為藍色(style.css文件中設置)。

但最終你可以觀察到“超酷的互聯網”這個短詞的文本被設置為了粉色。因為這三種樣式是有優先順序的,記住他們的優先順序:內聯式 > 嵌入式 > 外部式

但是嵌入式>外部式有一個前提:嵌入式css樣式的位置一定在外部式的後面。如右代碼編輯器就是這樣,<link href="style.css" ...>代碼在<style type="text/css">...</style>代碼的前面(實際開發中也是這麼寫的)。感興趣的小伙伴可以試一下,把它們調換順序,再看他們的優先順序是否變化。

其實總結來說,就是--就近原則(離被設置元素越近優先順序別越高)

但註意上面所總結的優先順序是有一個前提:內聯式、嵌入式、外部式樣式表中css樣式是在的相同權值的情況下,什麼是權值呢?在後面的9-2小節中會講解到。

任務:

分別使用內聯式、嵌入式和外部式CSS樣式,把“超酷的互聯網”文本字型大小進行設置,感受一下這三種方法的優先順序。

別忘了設置字型大小的css樣式代碼:

font-size:20px;

 

複習:


CSS內鏈式寫在Html標簽內。


CSS外鏈式寫在外部單獨.css文件中,併在Html頭部中要聲明其路徑(href)。


CSS嵌入式寫在Html頭部中。

 

1. 內聯樣式表的權值最高 1000


2. ID 選擇器的權值為 100


3. Class 類選擇器的權值為 10


4. HTML 標簽選擇器的權值為 1

 

一般情況是內聯樣式級別最高,內嵌其次,外部最低,如果同一元素在三個樣式中都有設定則為多重樣式的情況


如果權重相同則使用就近原則,後大於前


在同一組屬性設置中標有“!important”規則的優先順序最大


CSS 優先順序法則:


A 選擇器都有一個權值,權值越大越優先


B 當權值相等時,後出現的樣式表設置要優於先出現的樣式表設置


C 創作者的規則高於瀏覽者:即網頁編寫者設置的CSS 樣式的優先權高於瀏覽器所設置的樣式


D 繼承的CSS 樣式不如後來指定的CSS 樣式


E 在同一組屬性設置中標有“!important”規則的優先順序最大

 

如果不計較權重,離css修飾對象越近,就按照誰的規則去修飾。但是,比如要修飾<span>,那麼

①在span內添加內鏈的style必然最近,於是就用這個了

②即便頭部里有類選擇器,比如.lei{font-size:20px;},而且這個類也是要在<span>標簽內聲明的,

即<span class="lei"></span>,是不是也挺近,但不會執行的,

因為CSS三大選擇器權重都沒有內鏈式<span style="font-size:15px">高,內鏈式很牛的。

內聯式CSS的優先順序比嵌入式要高,也就是說在spen中加入style="color:blue"是沒有問題的,他會優先於上面的樣式表執行。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 今天在下載一個比較大的項目,經常shasum check failed,太煩了,於是想切淘寶源,分別嘗試nrm切換和傳遞 registry,結果都出現Unexpected end of JSON input錯誤。這是比較奇怪的,看起來是JSON數據沒有傳完。結合以前SwitchyOmega走priv ...
  • 1.圖片 <img / > 圖片的格式: 1.1BMP 占用空間大,顏色豐富。 1.2JPEG 有損壓縮,占用空間較小。 1.3GIF 多幀動圖,支持透明色。 1.4PNG 無損壓縮,點陣圖(由無數小點組成)支持透明色/半透明色。 <img /> 屬性: src="PATH” PATH:圖片的所在路徑 ...
  • 這是我幾個月之前的項目作品,花了相當的時間去完善。博客人氣不高,但拿代碼的人不少,所以一直處於保密狀態。沒有公開代碼。但如果對你有幫助,並能提出指導意見的,我將十分感謝。 IFE前端2015春季 任務3 綜合練習 任務描述 參考 "設計稿" 實現一個簡單的個人任務管理系統:如下圖 " " 任務需求描 ...
  • 現在部分瀏覽器已支持自定義滾動條,成了設計師和完美主義者的救星。 新版上線後,設計師又提了個新需求:把導航欄右側的滾動條,在不滾動時隱藏掉(同時還發了個小視頻表示效果)。就是下圖中右側的粗線: 在mac系統下測試了Chrome/Safari/Firefox瀏覽器,發現這些系統在預設情況下,不滾動時滾 ...
  • <!-- pre{ width: 900px; color:blue; font-weight: bolder; } --> 盒子模型 1.background 1.1 background-color background-image: url(""); background-repeat bac ...
  • 有空時候把一些常見可能不是每個人都知道的css小細節總結了下,共勉。 1.line-height 眾多周知,line-height是行高的意思,我們時常會使用類似line-height:24px;這樣的代碼來設置絕對的行高。但是當我們的需求改變,字體大小變動的時候,可能我們還需要再次改動行高,那麼現 ...
  • express + randomjson 模擬後端服務,前端伺服器(比如webpack, nigix等)將請求代理到該伺服器地址即可實現前後端分離 ...
  • 首先背景就是測試同學發現我們的網頁在ie9中展示不正確,實際是所有非同步的介面都沒有執行。然後我就開始了苦逼的排查過程。我們所有非同步介面都是使用jQuery的ajax方法發出的,使用的jquery版本是1.11.0。 我最先定位到的是ajax方法返回status=0,statusText=No Tra ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...