我們在學習HTML之後,前端三件套第二件便是CSS,但CSS內容較多,我們分幾部分講解:
(如果沒有學習HTML,請參考之前文章:HTML知識點概括——一篇文章帶你完全掌握HTML>)
如果說HTML為網頁提供內容,那麼CSS就是為內容進行裝飾,為網頁進行佈局
CSS可以控制整體框架,控制文字字型,大小等諸多事宜
CSS基本語法只有一條:
選擇器 {
宣告1;
宣告2;
}
首先我稍微解釋一下元素顯示模式:
HTML的元素型別模式:
我們先講解一下塊元素:
我們再來講解一下行內元素:
最後我們介紹一下行內塊元素:
這些屬性並非都是繫結的,我們可以通過方法進行轉換:
display:inline/block/inline-block 分別對應行內元素,塊元素,行內塊元素
CSS作用HTML中一共有三種方法,我們一一介紹:
上面三種語法講究就近原則,當前標籤距離誰較近,就是用哪種css
一般情況:行內元素>內部樣式>外部樣式
下面給出程式碼範例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>匯入方法</title>
<!-- 注意:這裡遵循就近原則,當前標籤離哪個近就用哪個樣式 -->
<!-- 內部樣式:在HTML的Head部位書寫 -->
<style>
h1 {
color: aliceblue;
}
</style>
<!-- 外部樣式:在CSS中書寫,然後通過Link匯入 -->
<link rel="stylesheet" href="css.css">
</head>
<body>
<!-- 行內樣式:在body中書寫標籤時直接寫入style -->
<h1 style="color:aqua;"></h1>
</body>
</html>
h1 {
color: black;
}
CSS的基本選擇器分為四種:
萬用字元選擇器:
標籤選擇器:
類選擇器(class):
id選擇器(id):
三種選擇器具有明確的優先順序:id選擇器>類選擇器>標籤選擇器
下面給出範例程式碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>三種選擇器</title>
<!-- 這裡選擇器的樣式遵循:id選擇器>類選擇器>標籤選擇器 -->
<style>
/*
1.標籤選擇器:
樣式: 標籤名{}
自動選中所有標籤的程式碼
*/
h1 {
color: bisque;
}
p {
color: blueviolet;
font-size: 30px;
}
/*
2.類選擇器:
樣式:.類名{}
自動選中所有帶類名的程式碼,可以跨標籤,類名定義用class
*/
.myStyle {
color: blue;
font-size: 20px;
}
/*
3.id選擇器:
樣式:#id名{}
自動選擇帶有id名的程式碼,注意id具有全域性唯一性
*/
#w123 {
color: aquamarine;
font-size: 40px;
}
#w333 {
color: aquamarine;
font-size: 40px;
}
/*
4.萬用字元選擇器
樣式: * {}
全部鎖定,全部標籤都帶有以上特徵
*/
</style>
</head>
<body>
<h1>標題1</h1>
<p>我是30px大小的</p>
<p class="myStyle"> 我是類選擇器</p>
<p id="w123">我是id選擇器</p>
<p class="myStyle" id="w333"> 我的最高許可權是id選擇器</p>
<p class="myStyle">我的最高許可權是類選擇器</p>
</body>
</html>
層次選擇器分為五種:
並集選擇器:
後代選擇器:
子選擇器:
相鄰選擇器:
通用選擇器:
下面給出程式碼範例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>層次選擇器</title>
<!-- 層次選擇器主要用於後代,下一代,兄弟等 -->
<style>
/*
後代選擇器:
格式:父類別 父類別的後代{}
用於父類別的後代所有標籤內
*/
ul li{
color: rgb(255, 0, 0);
}
/*
子選擇器:
格式:父類別 子類{}
僅用於父類別的下一代
*/
body>p{
color: aqua;
}
/*
相鄰兄弟選擇器:
格式:.class名 + 同輩標籤{}
選定class的標籤的相鄰標籤
*/
.active + p {
color: black;
}
/*
通用兄弟選擇器:
格式:.class名 ~ 同輩標籤{}
選定class的標籤的以下所有兄弟標籤
*/
.allover ~ p {
color: rgb(243, 255, 7);
}
</style>
</head>
<body>
<p>
<p>孫子1</p>
</p>
<p class="active">兒子2</p>
<p class="allover">兒子3</p>
<p>兒子4</p>
<p>兒子5</p>
<ul>
<li>
<p>我是孫子輩</p>
</li>
<li>我是兒子輩</li>
</ul>
</body>
</html>
結構偽選擇器主要負責有條件性的標籤選擇
下面直接給出程式碼範例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>結構偽類選擇器</title>
<!--
結構偽類選擇器在實際開發中並不常用,但我們仍需瞭解認識
結構偽類選擇器具有條件性,它有條件地選擇部分內容進行CSS操作
具體結構:父類別:條件{}
-->
<style>
/* 例如我們希望在ul中的第一個和最後一個li中單獨進行CSS操作 */
ul li:first-child {
color: brown;
}
ul li:last-child {
color: red;
}
/* 這裡我們以p的父元素為父類別,來選擇第2個孩子 */
/* 我們可以通過nth-child(n)來選擇第n個元素 */
p:nth-child(2){
color: aquamarine;
}
/* 這裡我們以p的父元素為父類別,來選擇第2個p型別的孩子 */
/* 我們可以通過nth-of-type(n)來選擇第n個元素 */
p:nth-of-type(2){
color: antiquewhite;
}
/* 同時,「:」也具有其他性質;例如a的hover屬性表示當滑鼠放在a上時的CSS操作 */
a:hover {
background-color: black;
}
</style>
</head>
<body>
<a href="#">123</a>
<p>p1</p>
<p>p2</p>
<p>p3</p>
<ul>
<li>l1</li>
<li>l2</li>
<li>l3</li>
</ul>
</body>
</html>
屬性選擇器是CSS3新加入的特性,極大程度方便了選擇器的利用
屬性選擇器的格式如下:
下面給出程式碼範例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>屬性選擇器</title>
<!--
屬性選擇器
結構分有五種,分別有不同的作用:
標籤[屬性名]{}
標籤[屬性名=屬性]{}
標籤[屬性名*=屬性]{}
標籤[屬性名^=屬性]{}
標籤[屬性名$=屬性]{}
-->
<style>
/* 首先我們把下方連線都變成框框,以便於效果明顯(這裡後面會涉及,目前不需要深究) */
.demo a{
float: left;
display: block;
height: 50px;
width: 50px;
border-radius: 10px;
background: #2700ff;
text-align: center;
color: gray;
text-decoration: none;
margin-right: 5px;
font: bold 20px/50px Arial;
}
/* 以下操作為防止衝突,均以註釋格式出現,請測試時去除註釋 */
/*
標籤[屬性名]{} :該標籤內帶有該屬性的所有標籤
.demo a[id]{
background: red;
}
*/
/*
標籤[屬性名=屬性]{} :該標籤內帶有該屬性,且屬性值對應的所有標籤(注意:需要完全匹配)
.demo a[id=w123]{
background-color: aquamarine;
}
.demo a[class="class1 class2 class3"]{
background-color: black;
}
*/
/*
標籤[屬性名*=屬性]{}:該標籤內帶有該屬性,且屬性值對應的所有標籤(注意:存在匹配即可)
.demo a[class*="class1"]{
background-color: aqua;
}
*/
/*
標籤[屬性名^=屬性]{}:該標籤內帶有該屬性,且以該屬性開頭
.demo a[href^="https"]{
background-color: red;
}
*/
/*
標籤[屬性名$=屬性]{}:該標籤內帶有該屬性,且以該屬性結尾
.demo a[href$="https"]{
background-color: red;
}
*/
</style>
</head>
<body>
<p class="demo">
<a href="https://www.baidu.com" class="class1 class2 class3" id="w123">1</a>
<a href="https://www.taobao.com/" class="class1 class2 class3">2</a>
<a href="#" class="class1 class2 class3">3</a>
<a href="#" class="class1 class2 class3">4</a>
<a href="#" class="class1 class2" id="w321">5</a>
<a href="#" class="class1 class2">6</a>
<a href="#" class="class1 class2">7</a>
<a href="#" class="class1">8</a>
<a href="#" class="class1">9</a>
<a href="#" class="class1">10</a>
</p>
</body>
</html>
我們依次介紹字型樣式 :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>字型樣式</title>
<style>
.divclass p{
/* 我們常用的字型樣式就以下四種 */
font-family: 微軟雅黑;
font-size: 20px;
font-weight: bold;
color: brown;
}
</style>
</head>
<body>
<!-- 這裡稍微介紹一下div和span,就是簡單的盒子,屬於行內元素,我們常常用來規範做某些事情 -->
<div class="divclass">
<p>123</p>
<span>123</span>
</div>
</body>
</html>
文字樣式主要是對文字進行操作,大致包括以下五種:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>文字樣式</title>
<style>
/*
顏色 color 有三種形式
1.直接寫英文顏色 red 等
2.以#開頭,寫000000~ffffff之間的顏色
3.以RBG來寫
4.以RBGA來寫(可寫透明度)
*/
.class1 {
/* 這裡之間為大家舉例(這樣書寫是不對的) */
color: red;
color: #121212;
color: rgb(0, 255, 255);
color:rgba(0, 255, 255, 0.1);
}
/*
文字對齊 text-align 有三種情況
center 居中對齊
left 靠左對齊
right 靠右對齊
*/
.class2 {
text-align: center;
}
/*
首行縮排 text-indent
通常採用em,em表示一個文字大小,常用2em
*/
.class3 {
text-indent: 2em;
}
/*
行高 text-height
行高常用來使文字位於框架垂直中心
當行高=框架高度,文字位於垂直中心
*/
.class4 {
background-color: #121212;
height: 300px;
line-height: 300px;
}
/*
修飾 text-decoration
可以跟 none underline line-through overline
因為超連結a自帶下劃線,我們常使用none去除下劃線使其美觀
*/
a {
text-decoration: none;
}
</style>
</head>
<body>
<p class="class1">123</p>
<p class="class2">123</p>
<p class="class3">123</p>
<p class="class4">123</p>
<a href="#">我是連結</a>
</body>
</html>
在CSS的超連結中會出現動態情況,所以css給出相關偽類來改變超連結各種狀態下的形態
下面給出程式碼範例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>超連結偽類和陰影</title>
<!-- 我們先解釋一下超連結偽類 -->
<style>
/* 正常情況下超連結偽類是很醜的且帶下劃線 */
/* 首先我們對a進行修正 */
a {
/* 取消下劃線,修改顏色 */
text-decoration: none;
color: black;
}
/* 我們來講解一下a的一些偽類操作 */
/* 這裡表示當滑鼠觸及到超連結的狀態 */
a:hover{
color: yellow;
}
/* 這裡表示當滑鼠點選超連結且未鬆開的狀態 */
a:active{
color: green;
}
/* 這裡表示當滑鼠未點選超連結的狀態(可能與a發生衝突,儘量不要使用) */
/*
a:link{
color:blue;
}
*/
/* 這裡表示滑鼠已點選過的狀態 (可能與a發生衝突,儘量不要使用)*/
/*
a:visited{
color:red;
}
*/
</style>
<!-- 我們稍微介紹一下陰影 -->
<style>
/* text-shadow: 陰影顏色 陰影水平移動大小 陰影垂直移動大小 陰影光暈半徑 (移動大小是可以寫負數的) */
#price{
text-shadow: blue 10px 10px 2px;
}
</style>
</head>
<body>
<p>
<a href="#"> <img src="../../../../Resources/picture/1.jpeg" alt="紗霧老師"></a>
</p>
<p>
<a href="#">紗霧老師</a>
</p>
<p>
<a href="#" id="price">¥99</a>
</p>
</body>
</html>
input:focus選擇器專用於表單input中:用來表示當點選該表單時的標籤狀態
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>表單選擇器</title>
<style>
/* 用來表示選中該input標籤時的狀態 */
input:focus{
background-color: orange;
}
</style>
</head>
<body>
<input type="text">
<input type= "button">
</body>
</html>
在css基本課程中,我們給出列表的一些簡單美化步驟
下面內容稍微閱讀理解即可,後面我們會給出更加美觀詳細的步驟
下面給出程式碼範例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>簡單列表練習</title>
<!-- 與css連結 -->
<link rel="stylesheet" href="ccs.css">
</head>
<body>
<!-- div是一個盒子,用來控制整體大小 -->
<div id="nav">
<h2>淘寶銷售</h2>
<ul>
<li><a href="#">女裝</a> <a href="#">男裝</a> <a href="#">童裝</a> </li>
<li><a href="#">女鞋</a> <a href="#">男鞋</a> <a href="#">童鞋</a> </li>
<li><a href="#">手機</a> <a href="#">電腦</a> <a href="#">數碼</a> </li>
</ul>
</div>
</body>
</html>
/* 首先設定最上方標題 */
h2{
background-color: blanchedalmond;
font-size: 20px;
font-weight: bold;
text-indent: 2em;
line-height: 35px;
}
/* 然後我們設定盒子大小 */
#nav {
width: 300px;
background-color: gray;
}
/* 然後我們對li做出調整 */
ul li{
/*
首先我們去掉前方的索引號
list-style:
none 無
circle 空心圓
decimal 數位
square 方形
*/
list-style: none;
height: 30px;
text-indent: 1em;
}
/* 最後我們設定a和a:hover */
a {
text-decoration: none;
color:black;
font-size: 14px;
}
a:hover{
color: orange;
}
CSS背景主要分為兩部分:
我們的解釋主要圍繞這兩部分展開:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>背景</title>
<!-- -->
<style>
/* 背景顏色:background-color: transparent*/
/*
背景圖片:background-image: none/url("圖片地址")
背景圖片可以選擇其展示樣式:
background-repeat:選擇是否平鋪
repeat平鋪 no-repeat不平鋪 repeat-x水平平鋪 repeat-y垂直平鋪
背景圖片可以選擇位置:
background-position:x y;選擇x,y位置
x:top/center/bottom y:left/center/right
背景圖片可以選擇是否固定:
background-attachment:選擇背景圖片是否固定
scroll可捲動 fixed固定
背景圖片具有複合寫法:
background:顏色 地址 平鋪 是否固定 位置
背景圖片可選擇透明度:
background:rgba(,,,a)a是透明度
*/
</style>
</head>
<body>
<div id="nav"></div>
</body>
</html>
關於CSS的基本知識點,我們就簡單介紹到這裡,後面我會逐漸更新CSS三大特性,盒子浮動等內容,請多多關注,謝謝