CSS3的使用

轉載請標明出處:http://blog.csdn.net/wu_wxc/article/details/50927867
本文出自【吳孝城的CSDN博客】

CSS全稱:層疊樣式表(Cascading Style Sheets),就是一種用來改變內容外觀的表現,例如文字的大小、顏色,或是一些背景圖片,邊框等等

在CSS中,

註釋用

/*這裏是要註釋的語句*/
來註釋

使用樣式可以編寫一次代碼,多個地方使用

樣式由“選擇符”和“聲明”組成,

聲明由屬性和值組成

選擇符又稱選擇器,可以自己取名字

聲明是在“{}”中的,屬性和值之間用“:”分隔,有多條聲明時,用“;”

如:

p{
	font-size:10px; 
	color: red;
	font-family: "微軟雅黑";
	font-weight: bold;
	font-style: italic;
	text-decoration: underline;
	text-decoration: line-through;
	text-indent: 2em;
	line-height: 20px;
	letter-spacing: 20px;
	word-spacing: 20px;
	text-align: center;
}

px爲像素

顏色由RGB,也就是R(red)、G(green)、B(blue)三原色組成

每一項取值0~255,也就是0%~100%

如:

h1{
color: rgb(10%,20%,50%);
}
也可將每一項的值轉爲十六進制00~ff

如:

h1{
color: #00ff55;
}
font-weight: bold;  粗體
font-style: italic;  斜體
text-decoration: underline; 下劃線
text-decoration: line-through; 刪除線
text-indent: 2em; 縮進
line-height: 20px; 行間距(行高),不許使用負值
letter-spacing: 20px; 文字或字母間距
word-spacing: 20px; 單詞間距
text-align: center; 塊元素中的文字或圖片劇中

元素內容與邊框用padding-top:20px;之類設置,當只寫padding:20px,20px,20px,20px;時,爲上,右,下,左

元素與其他元素之間的邊界用margin-top:20px之類來設置,當只寫margin:20px,20px,20px,20px;時,爲上,右,下,左

font-weight: ;屬性設置文本的精細

其值有:

normal:默認值,定義標準字符

bold:粗體字符

bolder:更粗的字符

lighter:定義更細的字符

100~900:400等normal,700等bold

inherit:規定應該從父元素繼承字體的粗細


white-space:;屬性設置如何處理元素內的空白

其值有:

normal:默認,空白會被瀏覽器忽略

pre:空白會被瀏覽器保留,其行爲方式類似Html中的 <pre> 標籤

nowrap:文本不會換行,文本會在在同一行上繼續,直到遇到 <br> 標籤爲止

pre-wrap:保留空白符序列,但是正常地進行換行

pre-line:合併空白符序列,但是保留換行符

in-herit:規定應該從父元素繼承 white-space 屬性的值


visibility: ;設置元素是否可見

其值有:

visible:默認值,元素是可見的

hidden:元素不可見

collapse:當在表格元素中使用時,此值可刪除一行或一列,但是它不會影響表格的佈局。被行或列佔據的空間會留給其他內容使用。如果此值被用在其他的元素上,會呈現爲 "hidden"

inherit:規定應該從父元素繼承 visibility 屬性的值


overflow: ; 屬性規定當內容溢出元素框時發生的事情

其值有:

visible:默認值。內容不會被修剪,會呈現在元素框之外

hidden:內容會被修剪,並且其餘內容是不可見的

scroll:內容會被修剪,但是瀏覽器會顯示滾動條以便查看其餘的內容

auto:處適配,如果內容被修剪,則瀏覽器會顯示滾動條以便查看其餘的內容

inherit:規定應該從父元素繼承 overflow 屬性的值


最後的";"可以不要,建議寫上,方便以後修改添加


CSS樣式的使用可分爲三種:內聯式、嵌入式、外部式

內聯式:就是把CSS樣式代碼直接寫在Html標籤中

<p style="font-size:20px; color:red">這裏的文字大小將是20px,顏色爲紅色</p>

嵌入式:必須寫在<style></style>之間,style一般寫在<head></head>之間

如:

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

style="text/css"是告訴瀏覽器這裏面的文本內容(text)要當層疊樣式(css)來解析

外部式:也稱爲外聯式,就是把CSS代碼單獨寫在一個外部文件裏,文件擴展名爲“.css”,使用<link>標籤將css樣式鏈接到Html文件內,

如:

<link href="my.css" rel="stylesheet" type="text/css" />
其中rel="stylesheet" type="text/css"是固定寫法,不可修改

一般寫在<head></head>標籤中


三種樣式寫法的優先級:內聯式>嵌入式>外部式


CSS選擇器:標籤選擇器、類選擇器、ID選擇器、子選擇器、通用選擇器、僞類選擇符、分組選擇符


標籤選擇器:就是Html中的標籤,如<html>、<body>、<a>、<p>、、<h1>、<img>等

類選擇器:以英文“.”開頭,名字任意,中文除外

如:

.myStyle{
color: red;
}

使用時用class="類選擇器名"

<span class="mystyle">這裏的文字爲紅色</span>

ID選擇器:以"#"開頭,名字任意,中文除外

如:

#myStyle{
color: red;
}
使用時用id="ID選擇器名"

<span id="myStyle">這裏的文字爲紅色</span>
類選擇器和ID選擇器的區別在ID選擇器在一個Html文檔中只能被使用一次,而類選擇器可以被多次使用

類選擇器可以爲一個元素設置多個樣式,而ID選擇器不行

如:

.stress{
color: green;
}
.bigSize{
font-size: 20px;
}
使用:

<span class="stress bigSize">字體爲綠色,20px</span>

而不能用ID

如:

#stressID{
color: green;
}
#bigSizeID{
font-size: 20px;
}
<span id="stressID bigSizeID">這個用法是錯的</span>
子選擇器:使用">"符號來指定標籤元素的第一代子元素擁有樣式

如:

.first>span{
color: red;
}
使用:

<p class="first">這個沒有<span>第一個span裏字體爲紅色<span>這是第二代,所以沒有獨立的樣式</span><span>這也是第一代span,也有樣式</span></span></p>

包含(後代)選擇器:就是在多個選擇器之間加空格,

如:

.first span{
color: red;
}
包含選擇器與子選擇器的區別:子選擇器只作用於第一代後代,而包含選擇器作用於所有後代

如:

.first li{
border: 1px solid red;
}

<ul class="first">
<li>一</li>
<li>二</li>
<li>三</li>
</ul>

通用行徑器:使用"*"來指定,功能最強大,作用於所有的html標籤

如:

*{
color: red;
}
這樣html中所有的文字都是紅色的


僞類選擇符:允許給html不存在的標籤設置樣式,如一個鏈接,在鼠標劃過時,鏈接被點擊,已選中等的顏色的改變

如:

/* 鼠標劃過*/
a:hover{
color: red;
}
/* 已選中的鏈接*/
a:active{
color: #0000ff;
}
使用:

<a href="http://www.dcloud.io/">HBuilder</a>
分組選擇符:想在多個標籤設置同一樣式時,可以用分組選擇符,

如:

h1, h2{
color: red;
}
這樣h1和h2標籤的字體都是紅色

CSS的繼承性:某些樣式具有繼承性,有些沒有,如設置h1標籤的字體是紅色,那麼h1標籤下包括子元素文本都紅色,像border這個標籤就不具有繼承性


權值:當一個元素使用了多個CSS樣式時,到底使用哪個樣式就要看它們的權值了,哪個權值高就用哪個

標籤權值:1

類選擇符權值:10

ID選擇符權值:100

p{color: green;}/*權值1*/
p span{color: white;}/*權值1+1=2*/
.weight{color: red;}/*權值10*/
p span .weight{color: yellow;}/*權值1+1+10=12*/
#selete .weight p{color: blue;}/*權值100+10+1=111*/
繼承的權值爲0.1

當權值相同時,樣式會用後面的覆蓋前面的

如:

p{color: red;}
p{color: yellow;}
<p>文字爲黃色</p>

如果我們想權值相同的樣式不被覆蓋,可以使用"!important",來設置,注意要寫在";"之前

如:

p{color: blue !important;}
p{color: red;}
<p class="first">這時顯示的內容就是藍色</p>

CSS3新增的內容
屬性選擇器

也是寫在style裏

[id*=div]{
	color: red;
}
指ID元素包含div的就會採用樣式,如id="mdivy"可換成class

[id^=div]{
	color: red;
}
指id=""裏的首字符爲div的會採用,如id="divmy"可換成class
[id$=div]{
	color: red;
}
指id=""裏結束字符包含div的會採用,如id="mydiv"可換成class

如:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			[id$="div"]{
				color: red;
			}
		</style>
	</head>
	<body>
		<div id="div1">無樣式</div>
		<div id="1div">有樣式</div>
		<div id="my">無樣式</div>
	</body>
</html>

結構性僞類選擇器:

允許開發者根據文檔的結構來指定元素的樣式

first-line 就是在使用該樣式的區域內的第一行使用該樣式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
			p:first-line{
				color: red;
			}
		</style>
	</head>
	<body>
		<p>
			第一行有樣式<br />
			第二行沒有樣式
		</p>
	</body>
</html>

first-letter

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
			p:first-letter{
				color: red;
			}
		</style>
	</head>
	<body>
		<p>
			第一個有樣式<br />
			第二行沒有樣式
		</p>
	</body>
</html>

如果是字母,則第一個字母有樣式

before

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
			p:before{
				content: "添加在前面";
				color: red;
			}
		</style>
	</head>
	<body>
		<p>
			測試用的
		</p>
	</body>
</html>


after

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
			p:after{
				content: "添加在後面";
				color: red;
			}
		</style>
	</head>
	<body>
		<p>
			測試用的
		</p>
	</body>
</html>

root:根元素,會對整個頁面產生影響,如果使用了body設置樣式,那麼body就只對內容部分添加樣式,而root會對整個頁面添加樣式

<style>
	:root{
		background: blue;
	}
</style>
not:排除功能
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
			div *:not(h1){
				color: blue;
			}
		</style>
	</head>
	<body>
		<div>
			<h1>h1i被排除,沒有樣式</h1>
			<h2>h2有樣式</h2>
		</div>
	</body>
</html>

empty:在沒有內容的區域將會添加樣式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
			:empty{
				background-color: blue;
			}
		</style>
	</head>
	<body>
		<table border="1">
			<tr>
				<td></td>
				<td>無樣式</td>
			</tr>
			<tr>
				<td>無樣式</td>
				<td></td>
			</tr>
		</table>
	</body>
</html>


target:是設置頁內跳轉後跳轉到的內容的樣式

:target{}
first-child、last-child、nth-child()、nth-last-child()
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
			/*第一個子標籤*/
			li:first-child{
				color: red;
			}
			/*最後一個子標籤*/
			li:last-child{
				background-color: greenyellow;
			}
			/*指定位置的標籤*/
			li:nth-child(3){
				background-color: #19F8F8;
			}
			/*從後面數指定位置的標籤*/
			li:nth-last-child(2){
				color: blue;
			}
		</style>
	</head>
	<body>
		<ul>
			<li>元素一</li>
			<li>元素二</li>
			<li>元素三</li>
			<li>元素四</li>
			<li>元素五</li>
			<li>元素六</li>
		</ul>
	</body>
</html>

還有一個奇數和偶數的標籤

例如:

/*even是正數,odd是奇數*/
/*正數偶數的li列表會有該樣式*/
li:nth-child(even){}
/*倒數偶數的li列表會有該樣式*/
li:nth-last-child(even){}
/*正數奇數的li列表會有該樣式*/
li:nth-child(odd){}
/*倒數奇數的li列表會有該樣式*/
li:nth-last-child(odd){}
添加類型的標籤:nth-of-type()、nth-last-of-type(),添加odd或even來選擇
這種選擇器會根據類型來選擇,如只選擇h1的偶數位。nth-of-type(even)

nth-child()

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<!--
        	nth-child()
        	括號裏的值爲一組多少項*n+這組中的第幾項,最後一個如3n+3可以寫成3n
        -->
		<style>
			li:nth-child(3n+1){
				background-color: greenyellow;
			}
			li:nth-child(3n+2){
				background-color: wheat;
			}
			li:nth-child(3n+3){
				background-color: cadetblue;
			}
		</style>
	</head>
	<body>
		<ul>
			<li>組一1</li>
			<li>組一2</li>
			<li>組一3</li>
			<li>組二1</li>
			<li>組二2</li>
			<li>組二3</li>
			<li>組三1</li>
			<li>組三2</li>
			<li>組三3</li>
		</ul>
	</body>
</html>

only-child:當只有一個子元素時使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
		li:only-child{
			color: red;
		}
		</style>
	</head>
	<body>
		<ul>
			<li>一個元素</li>
		</ul>
		<ul>
			<li>一個元素</li>
		</ul>
		<ul>
			<li>兩個元素</li>
			<li>兩個元素</li>
		</ul>
	</body>
</html><strong>
</strong>

通用兄弟元素選擇器
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
			/*這裏的div是子元素div,用“~”隔開爲兄弟元素h1*/
			div ~ h1{
				color: red;
			}
		</style>
	</head>
	<body>
		<div>
			<div>
				<h1>元素</h1>
				<h1>元素</h1>
			</div>
			<h1>元素</h1>
			<h1>元素</h1>
			<h1>元素</h1>
		</div>
	</body>
</html>


可用CSS對文字添加陰影

text-shadow:length length length color

第一個參數:正數是向右,負數是向左,px

第二個參數:正數是向下,負數是向上,px

第三個參數:模糊程度,值越大越模糊,px

第四個參數:陰影顏色

可用","分隔開設置多重陰影









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章