我與前端之間不得說的三天兩夜之css基礎
阿新 • • 發佈:2017-09-19
auto 為知筆記 外部 border got spa ttr ria 開頭
css的四種引入方式
來自為知筆記(Wiz)
前端基礎之CSS
CSS 語法
CSS 規則由兩個主要的部分構成:選擇器,以及一條或多條聲明。‘‘‘
selector {
property: value;
property: value;
... property: value
}
‘‘‘
css的四種引入方式
1.行內式
行內式是在標記的style屬性中設定CSS樣式。這種方式沒有體現出CSS的優勢,不推薦使用。<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <body> <p>p1</p> <p>p1</p> <p>p3</p> <!--css內嵌式--> <p style="color: red">p3</p> </body> </html>
2.嵌入式
嵌入式是將CSS樣式集中寫在網頁的<head></head>標簽對的<style></style>標簽對中。格式如下:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> p { color: red; background-color: wheat; } </style> </head> <body> <p>p1</p> <p>p1</p> <p>p3</p> </body> </html>
3 鏈接式
將一個.css文件引入到HTML文件中<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> #方式三 鏈接式 推薦 <link rel="stylesheet" href="index.css"> </head> <body> <p>p1</p> <p>p1</p> <p>p3</p> </body> </html>
4.導入式
將一個獨立的.css文件引入HTML文件中,導入式使用CSS規則引入外部CSS文件,<style>標記也是寫在<head>標記中,使用的語法如下:#不常用
<style type="text/css">
@import"mystyle.css"; 此處要註意.css文件的路徑
</style>
註意:
導入式會在整個網頁裝載完後再裝載CSS文件,因此這就導致了一個問題,如果網頁比較大則會兒出現先顯示無樣式的頁面,閃爍一下之後,再出現網頁的樣式。這是導入式固有的一個缺陷。使用鏈接式時與導入式不同的是它會以網頁文件主體裝載前裝載CSS文件,因此顯示出來的網頁從一開始就是帶樣式的效果的,它不會象導入式那樣先顯示無樣式的網頁,然後再顯示有樣式的網頁,這是鏈接式的優點。
css選擇器
基本選擇器
組合選擇器
E,F 多元素選擇器,同時匹配所有E元素或F元素,E和F之間用逗號分隔 :div,p { color:#f00; }
E F 後代元素選擇器,匹配所有屬於E元素後代的F元素,E和F之間用空格分隔 :li a { font-weight:bold;}
E > F 子元素選擇器,匹配所有E元素的子元素F :div > p { color:#f00; }
E + F 毗鄰元素選擇器,匹配所有緊隨E元素之後的同級元素F :div + p { color:#f00; }
E ~ F 普通兄弟選擇器(以破折號分隔) :.div1 ~ p{font-size: 30px; }
註意,關於標簽嵌套:
一般,塊級元素可以包含內聯元素或某些塊級元素,但內聯元素不能包含塊級元素,它只能包含其它內聯元素。需要註意的是,p標簽不能包含塊級標簽。
屬性選擇器
E[att] 匹配所有具有att屬性的E元素,不考慮它的值。(註意:E在此處可以省略。
比如“[cheacked]”。以下同。) p[title] { color:#f00; }
E[att=val] 匹配所有att屬性等於“val”的E元素 div[class=”error”] { color:#f00; }
E[att~=val] 匹配所有att屬性具有多個空格分隔的值、其中一個值等於“val”的E元素
td[class~=”name”] { color:#f00; }
E[attr^=val] 匹配屬性值以指定值開頭的每個元素
div[class^="test"]{background:#ffff00;}
E[attr$=val] 匹配屬性值以指定值結尾的每個元素 div[class$="test"]{background:#ffff00;}
E[attr*=val] 匹配屬性值中包含指定值的每個元素 div[class*="test"]{background:#ffff00;}
示例:一、基本選擇器 1、標簽選擇器<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/* 一 基本選擇器*/
/*1 標簽選擇器*/
div{
color: red; #根據標簽來進行定位
}
</style>
</head>
<body>
<p class="c3">P2</p>
<div class="c2">
<div>
<p>P3</p>
</div>
<p class="c3">P1</p>
</div>
<span>span</span>
<p class="c3">P2</p>
<div>DIV</div>
</body>
</html>
輸出結果:可以看到只要是div標簽的的字符串都變成了紅色 2、id選擇器<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/* 一 基本選擇器*/
/*1 標簽選擇器*/
/*div{*/
/*color: red;*/
/*}*/
/*2 id選擇器*/
#p2{
color: red; #根據id來進行定位
}
</style>
</head>
<body>
<p class="c1">p1</p>
<p id="p2">p2</p> #會把p2的字符串變紅
<p class="c1">p3</p>
<div>DIV</div>
</body>
</html>
運行結果: 3、class選擇器<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/* 一 基本選擇器*/
/*1 標簽選擇器*/
/*div{*/
/*color: red;*/
/*}*/
/*2 id選擇器*/
/*#p2{*/
/*color: red;*/
/*}*/
/*3 class選擇器*/
.c1{ #根據class組進行定位選擇
color: red;
}
</style>
</head>
<body>
<p class="c1">p1</p> #選擇class為c1的組
<p id="p2">p2</p>
<p class="c1">p3</p> #選擇class為c1的組
<div>DIV</div>
</body>
</html>
4、* 選擇<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* { #*指代所有
color: red;
}
</style>
</head>
<body>
<p class="c1">p1</p>
<p id="p2">p2</p>
<p class="c1">p3</p>
<div>DIV</div>
</body>
</html>
二、組合選擇器 1、後代選擇器<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/*二 組合選擇器*/
/*1 後代選擇器*/
.c2 p{
color: red; #後代選擇器表示只要在這個標簽的下的p標簽都會進行定位選擇
}
</style>
</head>
<body>
<p class="c3">P2</p>
<div class="c2"> #c2
<div>
<p>P3</p> #p標簽
</div>
<p class="c3">P1</p> #p標簽
</div>
<span>span</span>
<p class="c3">P2</p>
<div>DIV</div>
</body>
</html>
輸出結果: 2、子代選擇器<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
/*2 子代選擇器*/
#子代選擇器值得是在一個組下就只在這個組下找p標簽不會再這個組下的其他標簽找p標簽
.c2>p{
color: red;
}
</style>
</head>
<body>
<p class="c3">P2</p>
<div class="c2">
<div>
<p>P3</p>
</div>
<p class="c3">P1</p>
</div>
<span>span</span>
<p class="c3">P2</p>
<div>DIV</div>
</body>
</html>
輸出結果: 來自為知筆記(Wiz)
我與前端之間不得說的三天兩夜之css基礎