css知識筆記(一)——基礎知識、選擇器、元素分類

CSS全稱為“層疊樣式表 (Cascading Style Sheets)”,它主要是用于定義HTML內容在瀏覽器內的顯示樣式,如文字大小、顏色、字體加粗等。

如下列代碼:

p{font-size:12px;color:red;font-weight:bold;
}

使用CSS樣式的一個好處是通過定義某個樣式,可以讓不同網頁位置的文字有著統一的字體、字號或者顏色等。

語法

css 樣式由選擇符聲明組成,而聲明又由屬性組成,如下圖所示:

選擇符(選擇器):又稱選擇器,指明網頁中要應用樣式規則的元素,如本例中是網頁中所有的段(p)的文字將變成藍色,而其他的元素(如ol)不會受到影響。

聲明(樣式):在英文大括號“{}”中的的就是聲明,屬性和值之間用英文冒號“:”分隔。當有多條聲明時,中間可以英文分號“;”分隔,如下所示:

p{font-size:12px;color:red;}

注意:

1、最后一條聲明可以沒有分號,但是為了以后修改方便,一般也加上分號。

2、為了使用樣式更加容易閱讀,可以將每條代碼寫在一個新行內,如下所示:

p{font-size:12px;color:red;
}

注釋:就像在Html的注釋一樣,在CSS中也有注釋語句:用/*注釋語句*/來標明(Html中使用<!--注釋語句-->)。就像下面代碼:

從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樣式,就是可以把css樣式代碼寫在<style type="text/css"></style>標簽之間。如下面代碼實現把三個<span>標簽中的文字設置為紅色:

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

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

外部式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樣式的位置一定在外部式的后面。

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

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

——————————————————————————————————————————————————————————————

選擇器

類選擇器在css樣式編碼中是最常用到的.

語法:

.類選器名稱{css樣式代碼;}

注意:

1、英文圓點開頭

2、其中類選器名稱可以任意起名(但不要起中文噢)

使用方法:

第一步:使用合適的標簽把要修飾的內容標記起來,如下:

<span>膽小如鼠</span>

第二步:使用class="類選擇器名稱"為標簽設置一個類,如下:

<span class="stress">膽小如鼠</span>

第三步:設置類選器css樣式,如下:

.stress{color:red;}/*類前面要加入一個英文圓點*/

ID選擇器都類似于類選擇符,但也有一些重要的區別:

1、為標簽設置id="ID名稱",而不是class="類名稱"

2、ID選擇符的前面是井號(#)號,而不是英文圓點(.)

類選擇器和ID選擇器的相同點和不同點:

相同點:可以應用于任何元素
不同點:

1、ID選擇器只能在文檔中使用一次。與類選擇器不同,在一個HTML文檔中,ID選擇器只能使用一次,而且僅一次而類選擇器可以使用多次

下面代碼是正確的:

 <p>三年級時,我還是一個<span class="stress">膽小如鼠</span>的小女孩,上課從來不敢回答老師提出的問題,生怕回答錯了老師會批評我。就一直沒有這個<span class="stress">勇氣</span>來回答老師提出的問題。</p>

而下面代碼是錯誤的:

 <p>三年級時,我還是一個<span id="stress">膽小如鼠</span>的小女孩,上課從來不敢回答老師提出的問題,生怕回答錯了老師會批評我。就一直沒有這個<span id="stress">勇氣</span>來回答老師提出的問題。</p>

2、可以使用類選擇器詞列表方法為一個元素同時設置多個樣式我們可以為一個元素同時設多個樣式,但只可以用類選擇器的方法實現,ID選擇器是不可以的不能使用 ID 詞列表)。

下面的代碼是正確

.stress{color:red;
}
.bigsize{font-size:25px;
}
<p>到了<span class="stress bigsize">三年級</span>下學期時,我們班上了一節公開課...</p>

上面代碼的作用是為“三年級”三個文字設置文本顏色為紅色并且字號為25px。

下面的代碼是不正確

#stressid{color:red;
}
#bigsizeid{font-size:25px;
}
<p>到了<span id="stressid bigsizeid">三年級</span>下學期時,我們班上了一節公開課...</p>

上面代碼不可以實現為“三年級”三個文字設置文本顏色為紅色并且字號為25px的作用

子選擇器即大于符號(>),用于選擇指定標簽元素的第一代子元素如代碼:
.food>li{border:1px solid red;}

這行代碼會使class名為food下的子元素li加入紅色實線邊框。

包含選擇器 :?即加入空格,用于選擇指定標簽元素下的后輩元素。如代碼:

.first  span{color:red;}

這行代碼會使<span>中字體變為紅色。

請注意這個選擇器與子選擇器的區別,子選擇器(child selector)僅是指它的直接后代,或者你可以理解為作用于子元素的第一代后代。而后代選擇器是作用于所有子后代元素。后代選擇器通過空格來進行選擇,而子選擇器是通過“>”進行選擇。

總結:>作用于元素的第一代后代,空格作用于元素的所有后代

通用選擇器?: 功能最強大的選擇器,它使用一個(*)號指定,它的作用是匹配html中所有標簽元素,如下使用下面代碼使用html中任意標簽元素字體顏色全部設置為紅色:

* {color:red;}

偽類選擇符?: 允許給html不存在的標簽(標簽的某種狀態)設置樣式,比如說我們給html中一個標簽元素的鼠標滑過的狀態來設置字體顏色:

a:hover{color:red;}

上面一行代碼就是為 a 標簽鼠標滑過的狀態設置字體顏色變紅。這樣就會使第一段文字內容中的“膽小如鼠”文字加入鼠標滑過字體顏色變為紅色特效。

關于偽選擇符:

? ? 到目前為止,可以兼容所有瀏鑒器的“偽類選擇符”就是 a 標簽上使用 :hover 了(其實偽類選擇符還有很多,尤其是 css3 中,但是因為不能兼容所有瀏覽器)。其實 : hover 可以放在任意的標簽上,比如說 p:hover,但是它們的兼容性也是很不好的,所以現在比較常用的還是 a:hover 的組合。

分組選擇符 :?為html多個標簽元素設置同一個樣式時,使用分組選擇符(,),如下代碼為右側代碼編輯器中的h1、span標簽同時設置字體顏色為紅色:

h1,span{color:red;}

它相當于下面兩行代碼:

h1{color:red;}
span{color:red;}

繼承:是一種規則,它允許樣式不僅應用于某個特定html標簽元素,而且應用于其后代。比如下面代碼:如某種顏色應用于p標簽,這個顏色設置不僅應用p標簽,還應用于p標簽中的所有子元素文本,這里子元素為span標簽。

p{color:red;}<p>三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

可見右側結果窗口中p中的文本與span中的文本都設置為了紅色。但注意有一些css樣式是不具有繼承性的。如border:1px solid red;

p{border:1px solid red;}<p>三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

在上面例子中它代碼的作用只是給p標簽設置了邊框為1像素、紅色、實心邊框線,而對于子元素span是沒用起到作用的。

特殊性:有的時候我們為同一個元素設置了不同的CSS樣式代碼,那么元素會啟用哪一個CSS樣式呢?我們來看一下面的代碼:

p{color:red;}
.first{color:green;}
<p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

p和.first都匹配到了p這個標簽上,那么會顯示哪種顏色呢?green是正確的顏色,那么為什么呢?是因為瀏覽器是根據權值來判斷使用哪種css樣式的,權值高的就使用哪種css樣式

下面是權值的規則:

標簽的權值為1,類選擇符的權值為10,ID選擇符的權值最高為100。例如下面的代碼:

p{color:red;} /*權值為1*/
p span{color:green;} /*權值為1+1=2*/
.warning{color:white;} /*權值為10*/
p span.warning{color:purple;} /*權值為1+1+10=12*/
#footer .note p{color:yellow;} /*權值為100+10+1=111*/

注意:還有一個權值比較特殊--繼承也有權值但很低,有的文獻提出它只有0.1,所以可以理解為繼承的權值最低。

層疊?: 在html文件中對于同一個元素可以有多個css樣式存在,當有相同權重的樣式存在時,根據這些css樣式的前后順序決定,處于最后面的css樣式會被應用

如下面代碼:

p{color:red;}
p{color:green;}
<p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

最后 p 中的文本會設置為green,這個層疊很好理解,理解為后面的樣式會覆蓋前面的樣式。

所以前面的css樣式優先級就不難理解了:

內聯樣式表(標簽內部)> 嵌入樣式表(當前文件中)> 外部樣式表(外部文件中)

!important : 為某些樣式設置特殊權限值。

如下代碼:

p{color:red!important;}
p{color:green;}
<p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

這時 p 段落中的文本會顯示的red紅色。

注意:!important要寫在分號的前面

這里注意當網頁制作者不設置css樣式時,瀏覽器會按照自己的一套樣式來顯示網頁。并且用戶也可以在瀏覽器中設置自己習慣的樣式,比如有的用戶習慣把字號設置為大一些,使其查看網頁的文本更加清楚。這時注意樣式優先級為:瀏覽器默認的樣式 < 網頁制作者樣式 < 用戶自己設置的樣式,但記住!important優先級樣式是個例外,權值高于用戶自己設置的樣式

————————————————————————————————————————————————————

文字、排版

我們可以使用css樣式為網頁中的文字設置字體、字號、顏色等樣式屬性。下面我們來看一個例子:為網頁中的文字設置字體為宋體。

body{font-family:"宋體";}

這里注意不要設置不常用的字體,因為如果用戶本地電腦上如果沒有安裝你設置的字體,就會顯示瀏覽器默認的字體。(因為用戶是否可以看到你設置的字體樣式取決于用戶本地電腦上是否安裝你設置的字體。)
現在一般網頁喜歡設置“微軟雅黑”,如下代碼:

body{font-family:"Microsoft Yahei";}

body{font-family:"微軟雅黑";}

注意:第一種方法比第二種方法兼容性更好一些。

因為這種字體即美觀又可以在客戶端安全的顯示出來(用戶本地一般都是默認安裝的)。

字號、顏色、粗體、斜體、下劃線:下面代碼設置網頁中文字的字號為12像素,并把字體顏色設置為#666(灰色),粗體、斜體、下劃線:

body{font-size:12px;color:#666;font-weight:bold;font-style:italic;text-decoration:underline;}

刪除線:如淘寶上劃掉原來的價格,寫上新的價格,表示降價。

.oldPrice{text-decoration:line-through;}

縮進中文文字中的段前習慣空兩個文字的空白,這個特殊的樣式可以用下面代碼來實現:

行高:向中文的行間距;

p{text-indent:2em;line-height:1.5em;}
<p>1922年的春天,一個想要成名名叫尼克卡拉威(托比?馬奎爾Tobey Maguire 飾)的作家,離開了美國中西部,來到了紐約。那是一個道德感漸失,爵士樂流行,走私為王,股票飛漲的時代。為了追尋他的美國夢,他搬入紐約附近一海灣居住。</p>
輸出:

注意:2em的意思就是文字的2倍大小。

文字間隔、字母間隔設置如果想在網頁排版中設置文字間隔或者字母間隔就可以使用 ? ?letter-spacing來實現,如下面代碼:

h1{letter-spacing:50px;
}
...
<h1>了不起的蓋茨比</h1>

注意:這個樣式使用在英文單詞時,是設置字母與字母之間的間距。

單詞間距設置

如果我想設置英文單詞之間的間距呢?可以使用word-spacing來實現。如下代碼:

h1{word-spacing:50px;
}
...
<h1>welcome to imooc!</h1>
對齊塊狀元素中的文本、圖片設置樣式嗎?可以使用text-align樣式代碼,如下代碼可實現文本居中顯示。
h1{text-align:center;
}
<h1>了不起的蓋茨比</h1>

同樣可以設置居左

h1{text-align:left;
}
<h1>了不起的蓋茨比</h1>

還可以設置居右

h1{text-align:right;
}
<h1>了不起的蓋茨比</h1>
————————————————————————————————————————————————————————————————————

元素分類

在CSS中,html中的標簽元素大體被分為三種不同的類型:塊狀元素內聯元素(又叫行內元素)內聯塊狀元素

常用的塊狀元素占一行)有:

<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>

。設置display:block就是將元素顯示為塊級元素。如下代碼就是將內聯元素a轉換為塊狀元素,從而使a元素具有塊狀元素特點。

a{display:block;}

塊級元素特點:

1、每個塊級元素都從新的一行開始,并且其后的元素也另起一行。(真霸道,一個塊級元素獨占一行

2、元素的高度、寬度、行高以及頂和底邊距都可設置。

3、元素寬度在不設置的情況下,是它本身父容器的100%(和父元素的寬度一致),除非設定一個寬度。

常用的內聯元素可以并排排列)有:

<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>

內聯元素行內元素)(inline)元素。當然塊狀元素也可以通過代碼display:inline將元素設置為內聯元素。如下代碼就是將塊狀元素div轉換為內聯元素,從頁使用div元素具有內聯元素特點。

內聯元素特點:

1、和其他元素都在一行上;

2、元素的高度、寬度、行高及頂部和底部邊距不可設置;

3、元素的寬度就是它包含的文字或圖片的寬度,不可改變。

常用的內聯塊狀元素有:

<img>、<input>

內聯塊狀元素(inline-block就是同時具備內聯元素、塊狀元素的特點,代碼display:inline-block就是將元素設置為內聯塊狀元素。(css2.1新增),<img>、<input>標簽就是這種內聯塊狀標簽。

inline-block元素特點:

1、和其他元素都在一行上;

2、元素的高度、寬度、行高以及頂和底邊距都可設置。

————————————————————————————————————————————————————————————————

以上內容參考自慕課網:http://www.imooc.com

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/386139.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386139.shtml
英文地址,請注明出處:http://en.pswp.cn/news/386139.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HTML列表標簽,大牛最佳總結

前言 跳槽&#xff0c;這在 IT 互聯網圈是非常普遍的&#xff0c;也是讓自己升職加薪&#xff0c;走上人生巔峰的重要方式。那么作為一個普通的Android程序猿&#xff0c;我們如何才能斬獲大廠offer 呢&#xff1f; 疫情向好、面試在即&#xff0c;還在迷茫躊躇中的后浪們&…

css知識筆記(二)——盒子模型

盒子模型 類比月餅&#xff1a;禮盒是最外層&#xff0c;里面的月餅&#xff08;伍仁&#xff09;是頁面元素&#xff0c;比如一個div&#xff1b;"伍仁"本身是盒子的內容&#xff08;可以是文字、圖片、另一個標簽元素&#xff09;&#xff0c;月餅和月餅盒之間的距…

HTML列表標簽,講的明明白白!

前言 過完年了&#xff0c;準備實習的你是已經在實習了&#xff0c;還是已經辭職回家過年&#xff0c;準備年后重新找工作呢&#xff0c;又或者是準備2021年春招&#xff1f; 那么還沒沒踏出校門或者是剛出校門沒多久的同學們該如何準備前端校招的面試呢&#xff1f; 學習路線…

css學習筆記(三)——布局模型

布局模型與盒模型一樣都是 CSS 最基本、 最核心的概念。 但布局模型是建立在盒模型基礎之上&#xff0c;又不同于我們常說的 CSS 布局樣式或 CSS 布局模板。如果說布局模型是本&#xff0c;那么 CSS 布局模板就是末了&#xff0c;是外在的表現形式。 CSS包含3種基本的布局模型…

HTML列表標簽,趕緊收藏!

前言 前端校招面試題主要內容包括html&#xff0c;css&#xff0c;前端基礎&#xff0c;前端核心&#xff0c;前端進階&#xff0c;移動端開發&#xff0c;計算機基礎&#xff0c;算法與數據結構&#xff0c;設計模式&#xff0c;項目等等。&#xff08;本文資料 適合0-2年&am…

css知識筆記(四)——代碼簡寫、顏色值、長度值

盒模型代碼簡寫 還記得在講盒模型時外邊距(margin)、內邊距(padding)和邊框(border)設置上下左右四個方向的邊距是按照順時針方向設置的&#xff1a;上右下左。具體應用在margin和padding的例子如下&#xff1a; margin:10px 15px 12px 14px;/*上設置為10px、右設置為15px、下設…

HTML如何添加錨點,分享一點面試小經驗

前言 過完年了&#xff0c;準備實習的你是已經在實習了&#xff0c;還是已經辭職回家過年&#xff0c;準備年后重新找工作呢&#xff0c;又或者是準備2021年春招&#xff1f; 那么還沒沒踏出校門或者是剛出校門沒多久的同學們該如何準備前端校招的面試呢&#xff1f; CSS篇 …

css知識筆記(五)——css樣式設置小技巧

水平居中設置-行內元素 如果被設置元素為文本、圖片等行內元素時&#xff0c;水平居中是通過給父元素設置 text-align:center 來實現的。如下代碼&#xff1a; html代碼&#xff1a; <body><div class"txtCenter">我是文本&#xff0c;哈哈&#xff0c;我…

HTML如何添加錨點,干貨滿滿

前言 昨天有幸去字節面試了&#xff0c;順便拿到了offer&#xff0c;把還記得的東西寫下來&#xff0c;供大家參考一下。 CSS篇 讓一個元素水平垂直居中&#xff0c;到底有多少種方案&#xff1f;浮動布局的優點&#xff0c;缺點&#xff1f;清除浮動的方式&#xff1f;使用di…

JavaScript知識筆記(一)——入門、語句、注釋、變量、函數、輸出內容、對話框、窗口

JavaScript可以提供漂亮的網頁、令用戶滿意的上網體驗。 1.增強頁面動態效果(如:下拉菜單、圖片輪播、信息滾動等) 2.實現頁面與用戶之間的實時、動態交互(如:用戶注冊、登陸驗證等) 引用JavaScript&#xff1a; 一、使用<script>標簽在HTML文件中添加JavaScript代碼&am…

HTML如何添加錨點,總結到位

標簽語義化&#xff1a; 語義和默認樣式的區別&#xff1a; 默認樣式是瀏覽器設定的一些常用tag的表現形式&#xff1b;語義化的主要目的就是讓大家直觀的認識標簽和屬性的用途和作用&#xff1b; 標簽語義化作用&#xff1a; 當只有HTML頁面時&#xff0c;沒有CSS&#xf…

JavaScript知識筆記(二)——事件

事件&#xff1a; JavaScript 創建動態頁面。事件是可以被 JavaScript 偵測到的行為。 網頁中的每個元素都可以產生某些可以觸發 JavaScript 函數或程序的事件。 比如說&#xff0c;當用戶單擊按鈕或者提交表單數據時&#xff0c;就發生一個鼠標單擊&#xff08;onclick&#x…

HTML如何添加錨點,我先收藏為敬

背景 我18年本科畢業&#xff0c;年前已有換工作想法&#xff0c;一直沒有付諸行動&#xff0c;疫情爆發后回到老家&#xff0c;年后開始找工作&#xff0c;對于自己水平不是很清楚&#xff0c;之前找工作一直都挺順利的。大學畢業沒有留在實習單位繼續做前端開發&#xff0c;…

JavaScript知識筆記(三)——內置對象、瀏覽器對象

內置對象&#xff1a; &#xff08;與Java很像&#xff09;JavaScript 中的所有事物都是對象&#xff0c;如:字符串、數值、數組、函數等&#xff0c;每個對象帶有屬性和方法。 對象的屬性&#xff1a;反映該對象某些特定的性質的&#xff0c;如&#xff1a;字符串的長度、圖像…

HTML如何添加錨點,文末領取面試資料

開始 我大學讀的是大專&#xff0c;在學校學的是機電一體化。臨近畢業的時候選擇了學習web前端技術&#xff0c;因為做機電實在又累工資又低&#xff0c;而我更喜歡坐辦公室的工作&#xff0c;有空調吹&#xff0c;我很現實&#xff0c;就是想多賺一點錢。到現在做了兩年前端的…

HTML如何添加錨點,論程序員成長的正確姿勢

前言 年前準備換工作&#xff0c;總結了一波面試最頻繁的面試問題跟大家交流。此文章是關于瀏覽器的常見問題&#xff0c;大概面試10家遇到6家提問類似問題&#xff08;主要是大廠和中廠&#xff09;。目前入職滴滴出行成都團隊。 css盒模型 1&#xff0c;css盒模型基本概念…

DOM(文檔對象模型)

文檔對象模型DOM&#xff08;Document Object Model&#xff09;定義訪問和處理HTML文檔的標準方法。 DOM 將HTML文檔呈現為帶有元素、屬性和文本的樹結構&#xff08;節點樹&#xff09;。 先來看看下面代碼: 將HTML代碼分解為DOM節點層次圖: HTML文檔可以說由節點構成的集合&…

HTML實體字符列表,總結到位

前言 每年畢業季都能聽到很多報道說大學畢業生找工作難&#xff0c;以前看到這類新聞一直覺得無所謂。因為總覺得離我還早&#xff0c;但今年輪到我畢業了&#xff0c;才發現不幸終于降臨到我的頭上。 簡歷 首先肯定是要準備一份自己的簡歷&#xff0c;簡歷經常是給面試官的第…

java實現矩陣相乘

眾所周知&#xff0c;矩陣的乘法就是矩陣的行列相乘再相加。話不多說&#xff0c;直接上代碼&#xff1a; package test;public class matrixMultiply {public static void printMatrix(int[][] a, int[][] b) {int r a.length;int c b[0].length;double result[][] new dou…

你必須知道的CSS盒模型,面試建議

什么是HTML? HTML: ( Hypertext Markup Language )超文本標記語言&#xff0c;是一種標識性的語言。它包括一系列標簽&#xff0e;通過這些標簽可以將網絡上的文檔格式統一&#xff0c;使分散的Internet資源連接為一個邏輯整體。 特點: 簡易性&#xff1a;超級文本標記語言版…