新四季網

css初步詳解(CSS--基礎)

2023-05-07 23:27:53 2

一、CSS簡介

1.CSS是什麼

CSS,指的是Cascading Style Sheet(層疊樣式表),它是用來控制網頁外觀的一門技術。「HTML控制網頁的結構,CSS控制網頁的外觀,JavaScript控制網頁的行為」

2.CSS引入方式

外部樣式表

內部樣式表

行內樣式表

3.外部樣式表——指的是把CSS代碼和HTML代碼單獨放在不同的文件中,然後在HTML文檔中使用link標籤來引用CSS樣式表。

語法

說明:rel的取值是固定的,即"stylesheet",表示引入的是一個樣式表文件(即CSS文件),type屬性的取值也是固定的,即「text/css」,表示這是標準的CSS,href屬性表示CSS文件的路徑

注意:link標籤是放在head標籤內的

4.內部樣式表——指的是把HTML代碼和CSS代碼放到同一個HTML文件中,其中,CSS代碼放在style標籤內,並且style標籤是放在head標籤內部的

語法

type=「text/css」 是必須添加的,表示這是標準的CSS

5.行內樣式表——與內部樣式表類似,也是把HTML代碼和CSS代碼放到同一個HTML文件中。不同的是內部樣式表的CSS是在「style標籤」內定義的,而行內樣式表的CSS是在「標籤的style屬性」中定義的

兩段代碼的實現效果是一樣的,都是定義三個div元素的顏色為紅色。

如果使用內部樣式表,樣式只需要寫一遍;但是如果使用行內樣式表,每個元素則必須單獨寫一遍

行內樣式表的缺點:代碼冗餘

二、CSS選擇器

1.選擇器是什麼——用一種方式把你想要的那個元素選中

只有把它選中了,你才可以為這個元素添加CSS樣式

2.最實用的五種選擇器

元素選擇器id選擇器class選擇器後代選擇器群組選擇器

CSS選擇器的格式:

3.元素選擇器——選擇指定的相同的元素,而不會選擇其他元素,然後給相同的元素定義同一個CSS樣式

語法 div { width:100px; height:100px; }

上面例子中的p元素和span元素沒有被選中

4.id選擇器——為元素設置一個id屬性,然後針對設置了這個id的元素定義CSS樣式。注意:在同一個頁面中,不允許出現兩個相同的id。

說明:對於id選擇器,id名前面必須要加上前綴#,否則該選擇器無法生效

5.class選擇器——也就是「類選擇器」,可以對相同或者不同的元素定義相同的class屬性,然後針對擁有同一個class的元素進行CSS樣式操作

語法.box { width:100px; height:100px; }

class名前面必須要加上前綴.(英文點號),否則該選擇器無法生效

上面的例子是為不同的元素定義相同的class,從而可以同時操作它們的CSS樣式

6.後代選擇器——選擇元素內部中所有的某一元素,包括子元素和其他後代元素(如孫元素)

語法h3 p {width:100px; height:100px;}

說明:父元素和後代元素必須要用空格隔開,從而表示選中某個元素內部的後代元素

7.群組選擇器——同時對幾個選擇器進行相同的操作(效率高)

語法h3,p {width:100px; height:100px;

說明:對於群組選擇器,兩個選擇器之間必須要用英文逗號(,)隔開,不然群組選擇器就無法生效

三、字體樣式

1.字體樣式

類似於Word軟體中對於字體樣式的設置,我們可以知道CSS字體樣式的屬性有以下五種:

font-family——字體類型

font-size——字體大小

font-weight——字體粗細

font-style——字體風格

color——字體顏色

2.字體類型(font-family)

語法:font-family:字體1,字體2,...,字體N;

說明:font-family可以指定多種字體。使用多種字體時,將按從左到右的順序排列,並且以英文逗號(,)隔開。瀏覽器默認的字體類型一般是「宋體」

舉例:設置一種字體

舉例:設置多種字體

為元素設置多種字體的原因是:在有些字體沒有安裝的情況下,可以使用下一個字體,優先使用左邊的字體。

3.字體大小(font-size)——採用px為單位

語法font-size:像素值;

說明:實際上,font-size屬性取值有兩種,一種是「關鍵字」,如small,medium,large等。另外一種是「像素值」,如10px、16px、21px等。不過在實際開發中,關鍵字這種方式基本不會用

4.字體粗細(font-weight)

語法 font-weight:取值;

font-weight屬性取值有兩種:一種是100~900的「數值」;另外一種是「關鍵字」。

其中關鍵字取值有:normal(正常)、lighter(較細)、bold(較粗)、bolder(很粗)。對於實際開發來說,一般我們只會用到bold這一個屬性值,其他的幾乎用不上。

在實際開發中,不建議使用數值作為font-weight的屬性取值,一般使用關鍵字的bold屬性值

5.字體風格(font-style)

語法 font-style:取值;

font-style屬性取值有:normal(正常)、italic(斜體)、oblique(斜體)

從預覽效果可以看出,font-style屬性值為italic或oblique時,頁面效果是一樣的

但其實它們的區別在於:italic是字體的一個屬性,但並非所有的字體都有這個屬性。因此對於有italic屬性的字體,我們使用font-style:italic來實現斜體效果;對於沒有italic屬性的字體,我們使用font-style:oblique來實現。

6.字體顏色(color)

語法 color:顏色值;

color屬性取值有兩種:關鍵字 & 16進位RGB值

關鍵字 如red、green、blue等

16進位RGB值——類似於#FBF9D0形式的值

單純靠「關鍵字」,滿足不了實際開發的需求。因此引入了「16進位RGB值」

記:#000000是黑色,#FFFFFF是白色

7.CSS注釋

語法 /* 注釋的內容*/

注意:

小技巧:瀏覽器解析CSS是有一定順序的,後面樣式的會覆蓋前面的樣式。

四、文本樣式

文本樣式和字體樣式的區別:字體樣式針對的是「文字本身」的型體效果,而文本樣式針對的是「整個段落」的排版效果。字體樣式注重個體,文本樣式注重整體。

文本樣式屬性

text-indent ——首行縮進

text-align ——水平對齊

text-decoration ——文本修飾

text-transform ——大小寫

line-height ——行高

letter-spacing、word-spacing ——字母間距、詞間距

1.首行縮進(text-indent)

p元素的首行是不會自動縮進的,在HTML中我們常常使用空格代碼&nbsp來實現首行縮進,但是這種方式冗餘代碼很多;在CSS中,我們可以使用text-indent屬性來定義p元素的首行縮進。

語法 text-indent:像素值;

說明:初學CSS,建議使用像素(px)作為單位。

中文段落首行一般需要縮進兩個字符,設置首行縮進的像素值是字體大小的兩倍即可

2.水平對齊(text-align)——控制文本在水平方向上的對齊方式

語法 text-align:取值;

text-align屬性取值有:

left——左對齊(默認值)

center——居中對齊

right——右對齊。

在實際開發中,我們只會用到center這一個,其他兩個幾乎用不上。另外,text-align屬性不僅對文本有效,對圖片(img元素)也有效

3.文本修飾(text-decoration)——定義文本的修飾效果(下劃線、中劃線、頂劃線)

語法text-decoration:取值;

text-decoration屬性取值:

none——去除所有的劃線效果(默認值)

underline——下劃線(一般用於強調文章中的重點)

line-through——中劃線(一般用於促銷)

overline——頂劃線(極少用)

超連結(a元素)默認樣式有下劃線,可以使用text-decoration:none去除a元素的下劃線

4.大小寫(text-transform)——針對英文而言,中文不存在大小寫之分

語法 text-transform:取值;

text-transform屬性取值

none——無轉換(默認值)

uppercase——轉換為大寫

lowercase——轉換為小寫

capitalize——將每個英文單詞首字母轉換為大寫

5.行高(line-height)——控制每行文本的高度,與「行間距」是完全不一樣的概念

語法line-height:像素值;

6.間距(letter-spacing & word-spacing)

字間距(letter-spacing)——調整兩個字之間的距離

語法letter-spacing:像素值;

注意:每個中文漢字都被當成一個「字」,而每個英文字母也當做一個「字」

詞間距(word-spacing)——定義兩個單詞之間的距離(只針對英文單詞而言)

語法word-spacing:像素值;

在實際開發中,我們很少去定義中文網頁中的字間距以及詞間距,letter-spacing和word-spacing只會用於英文網頁。這兩個我們平時幾乎用不上

五、邊框樣式

1.邊框樣式屬性

邊框寬度(border-width):取值是一個像素值

邊框外觀(border-style):none(無樣式)、dashed(虛線)、solid(實線)

邊框顏色(border-color):關鍵字、16進位RGB值

想要為一個元素定義邊框樣式,必須要同時設置這三個屬性才會有效果

簡寫形式:border:2px solid red;

2.局部樣式

一個邊框元素其實有四條邊(上、下、左、右)前面我們學習的是四條邊的整體樣式,現在來學習對某一條邊進行單獨設置。

上邊框(border-top)

border-top-width: 2px;

border-top-style: solid;

border-top-color: red;

下邊框(border-bottom)

border-bottom-width: 2px;

border-buttomstyle: solid;

border-buttom-color: red;

左邊框(border-left)

border-left-width: 2px;

border-left-style: solid;

border-left-color: red;

右邊框(border-right)

border-right-width: 2px;

border-right-style: solid;

border-right-color: red;

簡寫形式:border-right:2px solid red;

去除下邊框:(以下三個是等價的)

六、列表樣式

1.列表項符號(list-style-type)

在HTML中,我們使用type屬性來定義有序列表和無序列表的列表項符號,但是我們說過,結構和樣式應該是分離的,所以在CSS中,我們將使用list-style-type屬性來定義列表項符號

語法list-style-type:取值;

說明:list-style-type屬性是針對ol或者ul元素的,而不是li元素。

list-style-type屬性取值(有序列表)

decimal——阿拉伯數字:1,2,3…(默認值)

lower-roman——小寫羅馬數字:i、ii、iii…

upper-roman——大寫羅馬數字:I、II、III…

lower-alpha——小寫英文字母:a、b、c…

upper-alpha——大寫英文字母:A、B、C…

list-style-type屬性取值(無序列表)

disc——實心圓●(默認值)

circle——空心圓○

square——正方形■

去除列表項符號

語法list-style-type:none;

2.列表項圖片(list-style-image)——使用圖片來代替列表項符號

語法list-style-image:url(圖片路徑);

在實際開發中,我們會使用更為高級的字體圖標(iconfont)技術來實現列表項圖片

七、表格樣式

1.表格標題位置(caption-side)

語法caption-side:取值;

caption-side屬性取值:

top——標題在頂部(默認)

bottom——標題在底部

如果想要定義表格標題的位置,在table或caption這兩個元素的CSS中定義caption-side屬性

2.表格邊框合併(border-collapse)——去除表格加入邊框後單元格之間的空隙

語法border-collapse:取值;

border-collapse屬性取值:

separate——邊框分開,有空隙(默認值)

collapse——邊框合併,無空隙

border-collapse屬性也是在table元素中定義的table{border-collapse: collapse;}

3.表格邊框間距(border-spacing)

語法border-spacing:像素值;

border-spacing屬性也是在table元素中定義的table{border-spacing:8px;}

八、圖片樣式

1.圖片大小——使用width和height這兩個屬性來定義圖片的大小

語法

在實際開發中,需要使用多大的圖片,就用Photoshop製作多大的圖片。不建議使用一張大圖片,然後再藉助width和weight來改變大小。

2.圖片邊框

語法border:1px solid red;

在「邊框樣式」中我們已經詳細介紹了border屬性

3.圖片對齊

水平對齊

語法text-align:取值(left、center、right);

注意:圖片的水平對齊不是在img元素中定義的,是在父元素中進行水平對齊的

text-align屬性一般只用於兩個地方:文本水平對齊和圖片水平對齊

垂直對齊

語法vertical-align:取值;

vertical-align屬性取值

top(頂部對齊)

middle(中部對齊)

baseline(基線對齊)

bottom(底部對齊)

4.文字環繞——初識float

圖文混排,指的是文字環繞著圖片進行布局

語法img{float:取值;}

float屬性取值

left——元素向左浮動

right——元素向右浮動

九、背景樣式

1.背景顏色(background-color)

語法 background-color:顏色值(關鍵字、16進位RGB值);

兩種顏色取值

color&background-color的區別:

color屬性用於定義「文本顏色」,而background-color屬性用於定義「背景顏色」

2.背景圖片(background-image)

語法 background-image:url(圖片路徑);

說明:跟引入圖片(即image標籤)一樣,引入背景圖片也需要給出圖片路徑才可以顯示

注意:我們需要為div元素添加width和height,背景圖片才會顯示出來

3.背景圖片重複(background-repeat)

語法background-repeat:取值;

background-repeat屬性取值:

repeat——在水平方向和垂直方向同時平鋪(默認值)

repeat-x——只在水平方向(x軸)上平鋪

repeat-y——只在垂直方向(y軸)上平鋪

no-repeat——不平鋪

注意:元素的寬度和高度必須大於背景圖片的寬度和高度,才會有重複效果

4.背景圖片的位置(background-position)

語法background-position:像素值/關鍵字;

像素值——要設置水平方向和垂直方向的值(像素值)

例如background-position:12px 24px;表示背景圖片與該元素左上角的水平方向距離為12px,垂直方向距離為24px。水平距離和垂直距離這兩個數值之間要用空格隔開

關鍵字——也要同時設置水平方向和垂直方向的值(關鍵字)

語法background-position:水平距離 垂直距離;

關鍵字取值

top left——左上

top center——靠上居中

top right——右上

left center——靠左居中

center center——正中

right center——靠右居中

bottom left——左下

bottom center——靠下居中

bottom right——右下

5.背景圖片固定(background-attachment)——定義背景圖片是隨元素一起滾動還是固定不動

語法background-attachment:取值;

scroll——隨元素一起滾動(默認值)

fixed——固定不動

十、超連結樣式

1.超連結偽類

默認情況下:字體為藍色,帶有下劃線。

滑鼠點擊時:字體為紅色,帶有下劃線。

滑鼠點擊後:字體為紫色,帶有下劃線。

在CSS中,我們可以使用「超連結偽類」來定義超連結在滑鼠點擊的不同時期的樣式。

語法

注意:定義這四個偽類,必須按上面的順序進行,否則瀏覽器無法正常顯示這四種樣式

link樣式表示的是a元素從未被訪問過。

2.深入了解超連結偽類

我們沒有必要定義四種狀態下的樣式,在實際開發中,我們只會用到兩種狀態:未訪問時狀態和滑鼠經過狀態。而對於未訪問狀態,我們可以直接對a元素定義,沒必要使用a:link。

語法

事實上,對於超連結偽類來說,我們只需要記住a:hover這一個就夠了,因為在實際開發中也只會用到這一個。

3.深入了解:hover

hover偽類不只限用於a元素,hover偽類可以定義任何一個元素在滑鼠經過時的樣式!

語法 元素:hover{...}

4.滑鼠樣式

瀏覽器滑鼠樣式——cursor(11種)

語法cursor:取值;

cursor屬性取值(常用的三種)

default(默認值)——滑鼠默認樣式

pointer——滑鼠手狀樣式

text——滑鼠文本樣式

自定義滑鼠樣式

語法cursor:url(圖片地址),屬性值;

說明:這個「圖片裡地址」是滑鼠圖片地址,其中滑鼠圖片後綴名一般都是.cur,可以使用Photoshop來製作。

十一、盒子模型

頁面中,所有的元素都可以看成一個盒子

1.盒子模型的組成部分

內容區——CSS盒子模型的中心

內邊距——內容區和邊框之間的距離

外邊距——兩個盒子之間的距離

邊框

2.寬和高(width和height)

元素的寬度和高度是針對內容區而言的。

只有塊元素才可以設置width和height,行內元素是無法設置width和height的

3.邊框(border)

簡寫形式(寬度、外觀,顏色)

border:1px solid red;

4.內邊距(padding)

內邊距分為四個方向:上、右、下、左(順時針方向)

padding-top:像素值;

padding-right:像素值;

padding-bottom:像素值;

padding-left:像素值;

padding簡寫形式

padding:像素值;表示四個方向的內邊距

padding:像素值1 像素值2;表示上下、左右邊距

padding:像素值1 像素值2 像素值3 像素值4;上、右、下、左(順時針)

5.外邊距(margin)

外邊距分為四個方向:上、右、下、左(順時針方向)

margin-top:像素值;

margin-right:像素值;

margin-bottom:像素值;

margin-left:像素值;

外邊距指的是兩個盒子之間的距離,它可能是子元素與父元素之間的距離,也可能是兄弟元素之間的距離。只有當我們加入其它元素當參考對象時,才能看到效果。

當既有父元素,也有兄弟元素時,則這個方向的margin就是相對於兄弟元素而言,如果沒有兄弟元素,則相對於父元素而言

margin簡寫形式與padding一樣

二十二、浮動布局

1.正常文檔流&脫離文檔流

正常文檔流——默認情況下的HTML文檔結構

脫離文檔流——脫離正常文檔流,使用浮動和定位去改變

2.浮動——float

float屬性取值

left——元素向左浮動

right——元素向右浮動

3.清除浮動——clear

clear屬性取值

left——清除左浮動

right——清除右浮動

both——同時清除左浮動和有浮動(常用)

二十三、定位布局

浮動布局比較靈活,但是不容易控制

定位布局精準定位頁面中的元素,但是缺乏靈活性

布局定位的四種方式:

固定定位(fixed)

相對定位(relative)

絕對定位(absolute)

靜態定位(static)——默認情況下

這四種方式都是通過position屬性來實現的

1.固定定位:fixed——指的是被固定的元素不會隨著滾動條的拖動而改變位置

語法:

position:fixed;

top:像素值;

bottom:像素值;

left:像素值;

right:像素值;

這四個屬性不一定全部都用到,一般只會用到其中兩個,參考對象是瀏覽器的四條邊

2.相對定位:relative——指的是該元素的位置是相對於它的原始位置計算而來的

語法:

position:relative;

top:像素值;

bottom:像素值;

left:像素值;

right:像素值;

這四個屬性不一定全部都用到,一般只會用到其中兩個,參考對象是該元素的原始位置

3.絕對定位:absolute(使用最廣泛)

語法:

position:absolute;

top:像素值;

bottom:像素值;

left:像素值;

right:像素值;

這四個屬性不一定全部都用到,一般只會用到其中兩個,參考對象是瀏覽器的四條邊;

一個元素變成了絕對定位元素,這個元素就完全脫離文檔流了,即這個元素浮於其他元素上面,獨立出來

總結:默認情況下,固定定位和絕對定位的位置是相對於瀏覽器而言,而相對定位的位置是相對原始位置而言。

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

版權聲明:本文為CSDN博主「MOSIMIN」的原創文章,遵循CC 4.0 by-sa版權協議,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/mosimin_980920_/article/details/95595571

,
同类文章
葬禮的夢想

葬禮的夢想

夢見葬禮,我得到了這個夢想,五個要素的五個要素,水火只好,主要名字在外面,職業生涯良好,一切都應該對待他人治療誠意,由於小,吉利的冬天夢想,秋天的夢是不吉利的
找到手機是什麼意思?

找到手機是什麼意思?

找到手機是什麼意思?五次選舉的五個要素是兩名士兵的跡象。與他溝通很好。這是非常財富,它擅長運作,職業是仙人的標誌。單身男人有這個夢想,主要生活可以有人幫忙
我不怎麼想?

我不怎麼想?

我做了什麼意味著看到米飯烹飪?我得到了這個夢想,五線的主要土壤,但是Tu Ke水是錢的跡象,職業生涯更加真誠。他真誠地誠實。這是豐富的,這是夏瑞的巨星
夢想你的意思是什麼?

夢想你的意思是什麼?

你是什​​麼意思夢想的夢想?夢想,主要木材的五個要素,水的跡象,主營業務,主營業務,案子應該抓住魅力,不能疏忽,春天夢想的吉利夢想夏天的夢想不幸。詢問學者夢想
拯救夢想

拯救夢想

拯救夢想什麼意思?你夢想著拯救人嗎?拯救人們的夢想有一個現實,也有夢想的主觀想像力,請參閱週宮官方網站拯救人民夢想的詳細解釋。夢想著敵人被拯救出來
2022愛方向和生日是在[質量個性]中

2022愛方向和生日是在[質量個性]中

[救生員]有人說,在出生88天之前,胎兒已經知道哪天的出生,如何有優質的個性,將走在什麼樣的愛情之旅,將與生活生活有什么生活。今天
夢想切割剪裁

夢想切割剪裁

夢想切割剪裁什麼意思?你夢想切你的手是好的嗎?夢想切割手工切割手有一個真正的影響和反應,也有夢想的主觀想像力。請參閱官方網站夢想的細節,以削減手
夢想著親人死了

夢想著親人死了

夢想著親人死了什麼意思?你夢想夢想你的親人死嗎?夢想有一個現實的影響和反應,還有夢想的主觀想像力,請參閱夢想世界夢想死亡的親屬的詳細解釋
夢想搶劫

夢想搶劫

夢想搶劫什麼意思?你夢想搶劫嗎?夢想著搶劫有一個現實的影響和反應,也有夢想的主觀想像力,請參閱週恭吉夢官方網站的詳細解釋。夢想搶劫
夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂什麼意思?你夢想缺乏異常藥物嗎?夢想缺乏現實世界的影響和現實,還有夢想的主觀想像,請看官方網站的夢想組織缺乏異常藥物。我覺得有些東西缺失了