css基本知识
一:認(rèn)識(shí)css
1.認(rèn)識(shí)css
層疊樣式表 (Cascading Style Sheets)”,它主要是用于定義HTML內(nèi)容在瀏覽器內(nèi)的顯示樣式
2.css語(yǔ)法
css 樣式由選擇符和聲明組成,而聲明又由屬性和值組成。
選擇符:又稱(chēng)選擇器,指明網(wǎng)頁(yè)中要應(yīng)用樣式規(guī)則的元素。
聲明:在英文大括號(hào)“{}”中的的就是聲明,屬性和值之間用英文冒號(hào)“:”分隔。當(dāng)有多條聲明時(shí),中間可以英文分號(hào)“;”分隔。
最后一條聲明可以沒(méi)有分號(hào),但是為了以后修改方便,一般也加上分號(hào)。
3.css注釋
/*注釋語(yǔ)句*/來(lái)標(biāo)明。
4.css樣式
內(nèi)聯(lián)式、嵌入式和外部式三種。
5.內(nèi)聯(lián)式
內(nèi)聯(lián)式css樣式表就是把css代碼直接寫(xiě)在現(xiàn)有的HTML標(biāo)簽中。
<p>這里文字是紅色。</p>
css樣式代碼要寫(xiě)在style=""雙引號(hào)中,如果有多條css樣式代碼設(shè)置可以寫(xiě)在一起,中間用分號(hào)隔開(kāi)。、
<pmarker">;font-size:12px">這里文字是紅色。</p>
6.嵌入式
嵌入式css樣式,就是可以把css樣式代碼寫(xiě)在<style type="text/css"></style>標(biāo)簽之間。
<style type="text/css">span{color:red;}</style>
7.外聯(lián)式
外部式css樣式(也可稱(chēng)為外聯(lián)式)就是把css代碼寫(xiě)一個(gè)單獨(dú)的外部文件中,這個(gè)css樣式文件以“.css”為擴(kuò)展名,
在<head>內(nèi)(不是在<style>標(biāo)簽內(nèi))使用<link>標(biāo)簽將css樣式文件鏈接到HTML文件內(nèi),如下面代碼:
<link href="base.css" rel="stylesheet" type="text/css" />
rel="stylesheet" type="text/css" 是固定寫(xiě)法不可修改。
<link>標(biāo)簽位置一般寫(xiě)在<head>標(biāo)簽之內(nèi)。
二:選擇器
1.標(biāo)簽選擇器
標(biāo)簽選擇器其實(shí)就是html代碼中的標(biāo)簽。
p{font-size:12px;line-height:1.6em;}
2.類(lèi)選擇器
.類(lèi)選器名稱(chēng){css樣式代碼;}
設(shè)置類(lèi):
<span class="stress">膽小如鼠</span>
寫(xiě)css樣式:
.stress{color:red;}/*類(lèi)前面要加入一個(gè)英文圓點(diǎn)*/
3.ID選擇器
為標(biāo)簽設(shè)置id="ID名稱(chēng)",而不是class="類(lèi)名稱(chēng)"。
ID選擇符的前面是井號(hào)(#)號(hào),而不是英文圓點(diǎn)(.)。
設(shè)置ID:
<span id="setGreen">公開(kāi)課</span>
寫(xiě)選擇器:
#setGreen{
color:green;
}
4.類(lèi)選擇器與ID選擇器的異同點(diǎn)
可以應(yīng)用于任何元素
A: ID選擇器只能在文檔中使用一次。與類(lèi)選擇器不同,在一個(gè)HTML文檔中,ID選擇器只能使用一次,而且僅一次。而類(lèi)選擇器可以使用多次。
<p>三年級(jí)時(shí),我還是一個(gè)<span class="stress">膽小如鼠</span>的小女孩,上課從來(lái)不敢回答老師提出的問(wèn)題,生怕回答錯(cuò)了老師會(huì)批評(píng)我。就一直沒(méi)有這個(gè)<span class="stress">勇氣</span>來(lái)回答老師提出的問(wèn)題。</p>
B:可以使用類(lèi)選擇器詞列表方法為一個(gè)元素同時(shí)設(shè)置多個(gè)樣式。
.stress{color:red;}
.bigsize{font-size:25px;}
<p>到了<span class="stress bigsize">三年級(jí)
5.子選擇器
還有一個(gè)比較有用的選擇器子選擇器,即大于符號(hào)(>),用于選擇指定標(biāo)簽元素的第一代子元素。
.food>li{border:1px solid red;}
6.包含(后代)選擇器
加入空格,用于選擇指定標(biāo)簽元素下的后輩元素。
.first span{color:red;}
7.子選擇器宇后代選擇器的區(qū)別
子選擇器(child selector)僅是指它的直接后代,或者你可以理解為作用于子元素的第一代后代。而后代選擇器是作用于所有子后代元素。后代選擇器通過(guò)空格來(lái)進(jìn)行選擇,而子選擇器是通過(guò)“>”進(jìn)行選擇。
總結(jié):>作用于元素的第一代后代,空格作用于元素的所有后代。
8.通用選擇器
使用一個(gè)(*)號(hào)指定,它的作用是匹配html中所有標(biāo)簽元素
* {color:red;}
9.偽類(lèi)選擇器(有機(jī)會(huì)認(rèn)真學(xué)習(xí))
允許給html不存在的標(biāo)簽(標(biāo)簽的某種狀態(tài))設(shè)置樣式,比如說(shuō)我們給html中一個(gè)標(biāo)簽元素的鼠標(biāo)滑過(guò)的狀態(tài)來(lái)設(shè)置字體顏色:
a:hover{color:red;}
:hover 可以放在任意的標(biāo)簽上。
10.分組選擇器
當(dāng)你想為html中多個(gè)標(biāo)簽元素設(shè)置同一個(gè)樣式時(shí),可以使用分組選擇符(,)。
編輯器中的h1、span標(biāo)簽同時(shí)設(shè)置字體顏色為紅色:
h1,span{color:red;}
三:樣式優(yōu)先級(jí)問(wèn)題
1.繼承
CSS的某些樣式是具有繼承性的。
允許樣式不僅應(yīng)用于某個(gè)特定html標(biāo)簽元素,而且應(yīng)用于其后代。
注意有一些css樣式是不具有繼承性的。如border:1px solid red;
2.特殊性
為同一個(gè)元素設(shè)置了不同的CSS樣式代碼,那么元素會(huì)啟用哪一個(gè)CSS樣式呢?
瀏覽器是根據(jù)權(quán)值來(lái)判斷使用哪種css樣式的,權(quán)值高的就使用哪種css樣式。
標(biāo)簽的權(quán)值為1,類(lèi)選擇符的權(quán)值為10,ID選擇符的權(quán)值最高為100。
一個(gè)權(quán)值比較特殊--繼承也有權(quán)值但很低,有的文獻(xiàn)提出它只有0.1,所以可以理解為繼承的權(quán)值最低。
3.層疊
層疊就是在html文件中對(duì)于同一個(gè)元素可以有多個(gè)css樣式存在。
當(dāng)有相同權(quán)重的樣式存在時(shí),會(huì)根據(jù)這些css樣式的前后順序來(lái)決定,處于最后面的css樣式會(huì)被應(yīng)用。
4.重要性(最高優(yōu)先級(jí))
有些特殊的情況需要為某些樣式設(shè)置具有最高權(quán)值。
可以使用!important來(lái)解決。
注意:!important要寫(xiě)在分號(hào)的前面。
四:格式化排版
1.字體設(shè)置
body{font-family:"宋體";}
現(xiàn)在一般網(wǎng)頁(yè)喜歡設(shè)置“微軟雅黑”,如下代碼:
body{font-family:"Microsoft Yahei";} ========body{font-family:"微軟雅黑";}
2.字號(hào)與顏色
body{font-size:12px;color:#666}
3.文字樣式--粗體
p span{font-weight:bold;}
4.文字樣式--斜體
p a{font-style:italic;}
5.文字樣式--下劃線
p a{text-decoration:underline;}
6.文字樣式--刪除線
.oldPrice{text-decoration:line-through;}
7.段落排版--縮進(jìn)
p{text-indent:2em;}
2em的意思就是文字的2倍大小。
8.段落排版--行高
p{line-height:2em;}
9.段落排版--文字間距與字母間距
h1{letter-spacing:50px;}
h1{word-spacing:50px;}
10.段落排版--對(duì)齊
對(duì)于文字可以,對(duì)于圖片仍然可以。
h1{text-align:center;}
left
right
五:盒子模型
1.元素分類(lèi)
塊狀元素、內(nèi)聯(lián)元素(又叫行內(nèi)元素)和內(nèi)聯(lián)塊狀元素。
常用的塊狀元素有:
<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>
常用的內(nèi)聯(lián)元素有:
<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>
常用的內(nèi)聯(lián)塊狀元素有:
<img>、<input>
2.塊級(jí)元素
將元素轉(zhuǎn)為快級(jí)元素嗎,使得該元素有快級(jí)元素的特點(diǎn):
{ display:block}。
塊級(jí)元素特點(diǎn):
1、每個(gè)塊級(jí)元素都從新的一行開(kāi)始,并且其后的元素也另起一行。
2、元素的高度、寬度、行高以及頂和底邊距都可設(shè)置。
3、元素寬度在不設(shè)置的情況下,是它本身父容器的100%(和父元素的寬度一致),除非設(shè)定一個(gè)寬度。
3.內(nèi)聯(lián)元素
當(dāng)然塊狀元素也可以通過(guò)代碼display:inline將元素設(shè)置為內(nèi)聯(lián)元素
內(nèi)聯(lián)元素特點(diǎn):
1、和其他元素都在一行上;
2、元素的高度、寬度及頂部和底部邊距不可設(shè)置;
3、元素的寬度就是它包含的文字或圖片的寬度,不可改變。
4.內(nèi)聯(lián)塊狀元素
就是同時(shí)具備內(nèi)聯(lián)元素、塊狀元素的特點(diǎn),代碼display:inline-block就是將元素設(shè)置為內(nèi)聯(lián)塊狀元素。
inline-block 元素特點(diǎn):
1、和其他元素都在一行上;
2、元素的高度、寬度、行高以及頂和底邊距都可設(shè)置。
5.盒子模型(塊級(jí)元素都具備這個(gè)特點(diǎn))
6.邊框
可以設(shè)置它的粗細(xì)、樣式和顏色(邊框三個(gè)屬性)。
div{border:2px solid red;}
或者:
1、border-style(邊框樣式)常見(jiàn)樣式有:
dashed(虛線)| dotted(點(diǎn)線)| solid(實(shí)線)。
2、border-color(邊框顏色)中的顏色可設(shè)置為十六進(jìn)制顏色,如:
border-color:#888;//前面的井號(hào)不要忘掉。
3、border-width(邊框?qū)挾龋┲械膶挾纫部梢栽O(shè)置為:
thin | medium | thick(但不是很常用),最常還是用象素(px)。
注:
為 標(biāo)簽單獨(dú)設(shè)置下邊框,而其它三邊都不設(shè)置邊框樣式。
{border-bottom:1px solid red;}
top
reigt
left
7.寬度與高度
一個(gè)元素實(shí)際寬度(盒子的寬度)=左邊界+左邊框+左填充+內(nèi)容寬度+右填充+右邊框+右邊界。
8.填充
元素內(nèi)容與邊框之間是可以設(shè)置距離的,稱(chēng)之為“填充”。填充也可分為上、右、下、左(順時(shí)針)。如下代碼:
div{padding:20px 10px 15px 30px;}
9.邊界
元素與其它元素之間的距離可以使用邊界(margin)來(lái)設(shè)置。邊界也是可分為上、右、下、左。如下代碼:
div{margin:20px 10px 15px 30px;}
六:布局模型
1.分類(lèi)
在網(wǎng)頁(yè)中,元素有三種布局模型:
1、流動(dòng)模型(Flow)
2、浮動(dòng)模型 (Float)
3、層模型(Layer)
2.流動(dòng)模型
默認(rèn)的網(wǎng)頁(yè)布局模式。也就是說(shuō)網(wǎng)頁(yè)在默認(rèn)狀態(tài)下的 HTML 網(wǎng)頁(yè)元素都是根據(jù)流動(dòng)模型來(lái)分布網(wǎng)頁(yè)內(nèi)容的。
流動(dòng)布局模型具有比較典型的特征:
第一點(diǎn),塊狀元素都會(huì)在所處的包含元素內(nèi)自上而下按順序垂直延伸分布,因?yàn)樵谀J(rèn)狀態(tài)下,塊狀元素的寬度都為100%。實(shí)際上,塊狀元素都會(huì)以行的形式占據(jù)位置。(塊狀元素)
第二點(diǎn),在流動(dòng)模型下,內(nèi)聯(lián)元素都會(huì)在所處的包含元素內(nèi)從左到右水平分布顯示。(內(nèi)聯(lián)元素)
3.浮動(dòng)模型
任何元素在默認(rèn)情況下是不能浮動(dòng)的,但可以用 CSS 定義為浮動(dòng),如 div、p、table、img 等元素都可以被定義為浮動(dòng)。
4.層模型
讓html元素在網(wǎng)頁(yè)中精確定位。
層模型有三種形式:
1、絕對(duì)定位(position: absolute)
2、相對(duì)定位(position: relative)
3、固定定位(position: fixed)
5.絕對(duì)定位
需要設(shè)置position:absolute(表示絕對(duì)定位),這條語(yǔ)句的作用將元素從文檔流中拖出來(lái),
然后使用left、right、top、bottom屬性相對(duì)于其最接近的一個(gè)具有定位屬性的父包含塊進(jìn)行絕對(duì)定位。
如果不存在這樣的包含塊,則相對(duì)于body元素,即相對(duì)于瀏覽器窗口。
可以實(shí)現(xiàn)div元素相對(duì)于瀏覽器窗口向左移動(dòng)100px,向下移動(dòng)50px。
6.相對(duì)定位
相對(duì)定位完成的過(guò)程是首先按static(float)方式生成一個(gè)元素(并且元素像層一樣浮動(dòng)了起來(lái)),
然后相對(duì)于以前的位置移動(dòng),移動(dòng)的方向和幅度由left、right、top、bottom屬性確定,偏移前的位置保留不動(dòng)。
下代碼實(shí)現(xiàn)相對(duì)于以前位置向下移動(dòng)50px,向右移動(dòng)100px
注:
偏移前的位置保留不動(dòng)。解釋如下:
7.固定定位
固定定位的元素會(huì)始終位于瀏覽器窗口內(nèi)視圖的某個(gè)位置,不會(huì)受文檔流動(dòng)影響,這與background-attachment:fixed?屬性功能相同。
8.將relative與absolute相結(jié)合
相對(duì)于其它元素進(jìn)行定位。
使用position:relative來(lái)幫忙,但是必須遵守下面規(guī)范:
1、參照定位的元素必須是相對(duì)定位元素的前輩元素:
2、參照定位的元素必須加入position:relative;
3、定位元素加入position:absolute,便可以使用top、bottom、left、right來(lái)進(jìn)行偏移定位了。
七:縮寫(xiě)
1.盒子模型縮寫(xiě)
2.顏色值的縮寫(xiě)
3.字體縮寫(xiě)
在縮寫(xiě)時(shí) font-size 與 line-height 中間要加入“/”斜扛。
八:值
1.顏色值
在網(wǎng)頁(yè)中的顏色設(shè)置是非常重要,有字體顏色(color)、背景顏色(background-color)、邊框顏色(border)等,設(shè)置顏色的方法也有很多種:
1、英文命令顏色
前面幾個(gè)小節(jié)中經(jīng)常用到的就是這種設(shè)置方法:p{color:red;}
2、RGB顏色
這個(gè)與 photoshop 中的 RGB 顏色是一致的,由 R(red)、G(green)、B(blue) 三種顏色的比例來(lái)配色。
p{color:rgb(133,45,200);}
每一項(xiàng)的值可以是 0~255 之間的整數(shù),也可以是 0%~100% 的百分?jǐn)?shù)。如:
p{color:rgb(20%,33%,25%);}
3、十六進(jìn)制顏色
這種顏色設(shè)置方法是現(xiàn)在比較普遍使用的方法,其原理其實(shí)也是 RGB 設(shè)置,但是其每一項(xiàng)的值由 0-255 變成了十六進(jìn)制 00-ff。
p{color:#00ffff;}
2.長(zhǎng)度值
目前比較常用到px(像素)、em、% 百分比,要注意其實(shí)這三種單位都是相對(duì)單位。
90像素=1英寸
p{font-size:12px;line-height:130%}:
設(shè)置行高(行間距)為字體的130%(12 * 1.3 = 15.6px)。
注:
總結(jié)
- 上一篇: 倒序输出链表
- 下一篇: RTI(实时时钟中断)