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