HTML+CSS筆記

語義化,讓你的網頁更好的被搜索引擎理解

標籤的用途語義化。明白每個標籤的用途(在什麼情況下使用此標籤合理)

 

把文章的段落放到<p>標籤中。

語法:

<p>段落文本</p>

 

 

<hx>標籤來製作文章的標題
標題標籤一共有6個,h1h2h3h4h5h6分別爲一級標題、二級標題、三級標題、四級標題、五級標題、六級標題。並且依據重要性遞減。<h1>是最高的等級。
語法:
<hx>標題文本</hx> (x1-6)

 

 

<em> 表示強調,<strong> 表示更強烈的強調。並且在瀏覽器中<em> 默認用斜體表示,<strong> 粗體表示。

 

 

<span>標籤是沒有語義的,它的作用就是爲了設置單獨的樣式用的。

 

 

<q>標籤,短文本引用

 

 

<blockquote>標籤,長文本引用

 

 

使用<br>標籤分行顯示文本

 

 

 

 

 

<hr />標籤,添加水平橫線

 

 

<address>標籤,爲網頁加入地址信息

 

 

<code>標籤,加入一行代碼

 

使用<pre>標籤爲你的網頁加入大段代碼

 

 

ul-li沒有前後順序的信息列表。

語法:

<ul>

  <li>信息</li>

  <li>信息</li>

   ......

</ul>

 

 

有序列表

語法:

<ol>

   <li>信息</li>

   <li>信息</li>

   ......

</ol>

<ol>在網頁中顯示的默認樣式一般爲:每項<li>前都自帶一個序號,序號默認從1開始

 

 

<div>標籤的作用就相當於一個容器。

語法:

<div>…</div>

 

 

給div命名,使邏輯更加清晰

語法:

<div  id="版塊名稱">…</div>

 

 

table標籤,認識網頁上的表格

創建表格的四個元素:

tabletbodytrthtd

1<table>…</table>:整個表格以<table>標記開始、</table>標記結束。

2<tbody>…</tbody>:當表格內容非常多時,表格會下載一點顯示一點,但如果加上<tbody>標籤後,這個表格就要等表格內容全部下載完纔會顯示。如右側代碼編輯器中的代碼。

3<tr>…</tr>:表格的一行,所以有幾對tr 表格就有幾行。

4<td>…</td>:表格的一個單元格,一行中包含幾對<td>...</td>,說明一行中就有幾列。

5<th>…</th>:表格的頭部的一個單元格,表格表頭。

6、表格中列的個數,取決於一行中數據單元格的個數。

 

 

caption標籤,爲表格添加標題和摘要

摘要

摘要的內容是不會在瀏覽器中顯示出來的。它的作用是增加表格的可讀性(語義化),使搜索引擎更好的讀懂表格內容,還可以使屏幕閱讀器更好的幫助特殊用戶讀取表格內容。

    語法:<table summary="表格簡介文本">

標題

用以描述表格內容,標題的顯示位置:表格上方。

     語法:

<table>

    <caption>標題文本</caption>

    <tr>

        <td>…</td>

        <td>…</td>

        …

    </tr>

</table>

 

 

使用<a>標籤,鏈接到另一個頁面

語法:

<a  href="目標網址"  title="鼠標滑過顯示的文本">鏈接顯示的文本</a>

在新的瀏覽器窗口中打開。

<a href="目標網址target="_blank">click here!</a>

 

使用mailto在網頁中鏈接Email地址

 

 

<img>標籤來插入圖片。

語法:

<img src="圖片地址" alt="下載失敗時的替換文本" title = "提示文本">

 

 

使用表單標籤,與用戶交互

表單是可以把瀏覽者輸入的數據傳送到服務器端,這樣服務器端程序就可以處理表單傳過來的數據。

語法:

<form   method="傳送方式"   action="服務器文件">

講解:

1.<form> <form>標籤是成對出現的,以<form>開始,以</form>結束。

2.action 瀏覽者輸入的數據被傳送到的地方,比如一個PHP頁面(save.php)

3.method  數據傳送的方式(get/post)。

注意:

1、所有表單控件(文本框、文本域、按鈕、單選框、複選框等)都必須放在<form></form>標籤之間(否則用戶輸入的信息可提交不到服務器上哦!)。

 

 

文本輸入框

1type

   當type="text"時,輸入框爲文本輸入框;

   當type="password"時, 輸入框爲密碼輸入框。

2name爲文本框命名,以備後臺程序ASP 、PHP使用。

3value爲文本輸入框設置默認值。(一般起到提示作用)

語法

<form>

   <input type="text/password" name="名稱" value="文本" />

</form>

 

 

當用戶需要在表單中輸入大段文字時,需要用到文本輸入域。

語法

<textarea  rows="行數" cols="列數">文本</textarea>

1、<textarea>標籤是成對出現的,以<textarea>開始,以</textarea>結束。

2、cols 多行輸入域的列數

3、rows 多行輸入域的行數

4、在<textarea></textarea>標籤之間可以輸入默認值

 

 

使用單選框、複選框

語法:

<input   type="radio/checkbox"   value=""    name="名稱"   checked="checked"/>

1type:

    type="radio" 時,控件爲單選框

    type="checkbox" 時,控件爲複選框

2value提交數據到服務器的值(後臺程序PHP使用)

3name爲控件命名,以備後臺程序 ASPPHP 使用

4checked當設置 checked="checked" 時,該選項被默認選中

 

 

下拉列表在網頁中也常會用到,它可以有效的節省網頁空間。既可以單選、又可以多選。如下代碼:

 

講解:

1value

 

2selected="selected"

設置selected="selected"屬性,則該選項就被默認選中。

 

 

下拉列表也可以進行多選操作,在<select>標籤中設置multiple="multiple"屬性,就可以實現多選功能

 

 

當用戶需要提交表單信息到服務器時,需要用到提交按鈕

語法

<input   type="submit"   value="提交">

type:只有當type值設置爲submit時,按鈕纔有提交作用

value按鈕上顯示的文字

 

 

使用重置按鈕使輸入框恢復到初始狀態。只需要把type設置爲"reset"就可以。

 

 

form表單中的label標籤

label標籤不會向用戶呈現任何特殊效果,它的作用是爲鼠標用戶改進了可用性。如果你在 label 標籤內點擊文本,就會觸發此控件。就是說,當用戶單擊選中該label標籤時,瀏覽器就會自動將焦點轉到和標籤相關的表單控件上(就自動選中和該label標籤相關連的表單控件上)。

語法:

<label for="控件id名稱">

注意:標籤的 for 屬性中的值應當與相關控件的 id 屬性值一定要相同。

 

認識CSS樣式

CSS全稱爲層疊樣式表 (Cascading Style Sheets)”,它主要是用於定義HTML內容在瀏覽器內的顯示樣式,如文字大小、顏色、字體加粗等。

 

CSS代碼語法

css 樣式由選擇符聲明組成,而聲明又由屬性組成

選擇符:又稱選擇器,指明網頁中要應用樣式規則的元素

聲明:在英文大括號{}中的的就是聲明,屬性和值之間用英文冒號分隔。當有多條聲明時,中間可以英文分號“;”分隔

 

 

內聯式css樣式,直接寫在現有的HTML標籤中

<p style="color:red;font-size:12px">這裏文字是紅色。</p>

 

 

嵌入式css樣式,寫在當前的文件中

嵌入式css樣式,就是可以把css樣式代碼寫在<style type="text/css"></style>標籤之間。

 

 

外部式css樣式,寫在單獨的一個文件中

這個css樣式文件以.css爲擴展名,在<head>內(不是在<style>標籤內)使用<link>標籤將css樣式文件鏈接到HTML文件內,如下面代碼:

<link href="base.css" rel="stylesheet" type="text/css" />

注意:

1css樣式文件名稱以有意義的英文字母命名,如 main.css

2rel="stylesheet" type="text/css" 是固定寫法不可修改。

3<link>標籤位置一般寫在<head>標籤之內。

 

優先級:內聯式 > 嵌入式 外部式

 

標籤選擇器

標籤選擇器其實就是html代碼中的標籤。如右側代碼編輯器中的<html><body><h1><p><img>

 

 

類選擇器

語法:

.類選器名稱{css樣式代碼;}

注意:

1英文圓點開頭

2、其中類選器名稱可以任意起名(但不要起中文噢)

使用方法:

第一步:使用合適的標籤把要修飾的內容標記起來,如下:

<span>膽小如鼠</span>

第二步:使用class="類選擇器名稱"爲標籤設置一個類,如下:

<span class="stress">膽小如鼠</span>

第三步:設置類選器css樣式,如下:

.stress{color:red;}/*類前面要加入一個英文圓點*/

 

 

ID選擇器

在很多方面,ID選擇器都類似於類選擇符,但也有一些重要的區別:

1、爲標籤設置id="ID名稱",而不是class="類名稱"

2ID選擇符的前面是井號#號,而不是英文圓點.

 

 

類和ID選擇器的區別

1ID選擇器只能在文檔中使用一次。與類選擇器不同,在一個HTML文檔中,ID選擇器只能使用一次,而且僅一次。而類選擇器可以使用多次。

2可以使用類選擇器詞列表方法爲一個元素同時設置多個樣式。我們可以爲一個元素同時設多個樣式,但只可以用類選擇器的方法實現,ID選擇器是不可以的(不能使用 ID 詞列表)。

 

 

子選擇器

大於符號(>),用於選擇指定標籤元素的第一代子元素如右側代碼編輯器中的代碼:

.food>li{border:1px solid red;}

 

 

包含(後代)選擇器

加入空格,用於選擇指定標籤元素下的後輩元素。如右側代碼編輯器中的代碼:

.first  span{color:red;}

 

>作用於元素的第一代後代,空格作用於元素的所有後代。

 

 

通用選擇器

用一個(*)號指定,它的作用是匹配html所有標籤元素

 

 

僞類選擇符

它允許給html不存在的標籤(標籤的某種狀態)設置樣式,比如說我們給html中一個標籤元素的鼠標滑過的狀態來設置字體顏色:

a:hover{color:red;}

 

 

分組選擇符

當你想爲html中多個標籤元素設置同一個樣式時,可以使用分組選擇符(,),如下代碼爲右側代碼編輯器中的h1span標籤同時設置字體顏色爲紅色:

h1,span{color:red;}

 

 

繼承

CSS某些樣式是具有繼承性的繼承是一種規則,它允許樣式不僅應用於某個特定html標籤元素,而且應用於其後代。

 

 

特殊性

瀏覽器是根據權值來判斷使用哪種css樣式的,權值高的就使用哪種css樣式。

標籤的權值爲1,類選擇符的權值爲10ID選擇符的權值最高爲100例如下面的代碼:

p{color:red;} /*權值爲1*/

p span{color:green;} /*權值爲1+1=2*/

.warning{color:white;} /*權值爲10*/

p span.warning{color:purple;} /*權值爲1+1+10=12*/

#footer .note p{color:yellow;} /*權值爲100+10+1=111*/

注意:還有一個權值比較特殊--繼承也有權值但很低,有的文獻提出它只有0.1,所以可以理解爲繼承的權值最低。

 

層疊

層疊就是在html文件中對於同一個元素可以有多個css樣式存在,當有相同權重的樣式存在時,會根據這些css樣式的前後順序來決定,處於最後面的css樣式會被應用。

 

 

重要性

有些特殊的情況需要爲某些樣式設置具有最高權值,怎麼辦?這時候我們可以使用!important來解決。

如下代碼:

p{color:red!important;}

注意:!important要寫在分號的前面

 

 

文字排版--字體

body{font-family:"宋體";}

 

 

文字排版--字號、顏色

body{font-size:12px;color:#666}

 

 

文字排版--粗體

p span{font-weight:bold;}

 

文字排版--斜體

p a{font-style:italic;}

 

 

文字排版--下劃線

p a{text-decoration:underline;}

 

 

文字排版--刪除線

.oldPrice{text-decoration:line-through;}

 

 

段落排版--縮進

p{text-indent:2em;}

注意:2em的意思就是文字的2倍大小。

 

 

段落排版--行間距(行高)

p{line-height:1.5em;}

 

 

段落排版--中文字間距、字母間距

如果想在網頁排版中設置文字間隔或者字母間隔就可以使用    letter-spacing 來實現,如下面代碼:

h1{

    letter-spacing:50px;

}

如果我想設置英文單詞之間的間距呢?可以使用 word-spacing 來實現。如下代碼:

h1{

    word-spacing:50px;

}

 

 

段落排版--對齊

h1{

    text-align:center;

}

 

 

元素分類

CSS中,html中的標籤元素大體被分爲三種不同的類型:塊狀元素內聯元素(又叫行內元素)內聯塊狀元素

常用的塊狀元素有:

<div><p><h1>...<h6><ol><ul><dl><table><address><blockquote> <form>

常用的內聯元素有:

<a><span><br><i><em><strong><label><q><var><cite><code>

常用的內聯塊狀元素有:

<img><input>

 

 

元素分類--塊級元素

設置display:block就是將元素顯示爲塊級元素。如下代碼就是將內聯元素a轉換爲塊狀元素,從而使a元素具有塊狀元素特點。

a{display:block;}

塊級元素特點:

1、每個塊級元素都從新的一行開始,並且其後的元素也另起一行。(真霸道,一個塊級元素獨佔一行)

2、元素的高度、寬度、行高以及頂和底邊距都可設置。

3、元素寬度在不設置的情況下,是它本身父容器的100%(和父元素的寬度一致),除非設定一個寬度。

 

 

元素分類--內聯元素

塊狀元素也可以通過代碼display:inline將元素設置爲內聯元素。如下代碼就是將塊狀元素div轉換爲內聯元素,從而使 div 元素具有內聯元素特點。

內聯元素特點:

1、和其他元素都在一行上;

2、元素的高度寬度及頂部和底部邊距不可設置;

3、元素的寬度就是它包含的文字或圖片的寬度,不可改變。

 

 

元素分類--內聯塊狀元素

內聯塊狀元素(inline-block就是同時具備內聯元素、塊狀元素的特點,代碼display:inline-block就是將元素設置爲內聯塊狀元素。

inline-block 元素特點:

1、和其他元素都在一行上;

2、元素的高度、寬度、行高以及頂和底邊距都可設置。

 

 

盒子3D模型:border, content+padding, background-image, background-color, margin


盒模型--邊框

盒子模型的邊框就是圍繞着內容補白的線,這條線你可以設置它的粗細樣式顏色(邊框三個屬性)

css 樣式中允許只爲一個方向的邊框設置樣式:

div{border-bottom:1px solid red;}

 

 

盒模型--寬度和高度

css內定義的寬(width)和高(height),指的是填充以裏的內容範圍

因此一個元素實際寬度(盒子的寬度)=左邊界+左邊框+左填充+內容寬度+右填充+右邊框+右邊界。

 

 

盒模型--填充

元素內容邊框之間是可以設置距離的,稱之爲填充。填充也可分爲上、右、下、左(順時針)。如下代碼:

div{padding:20px 10px 15px 30px;}

順序一定不要搞混。可以分開寫上面代碼:

div{

   padding-top:20px;

   padding-right:10px;

   padding-bottom:15px;

   padding-left:30px;

}

 

 

盒模型--邊界

元素與其它元素之間的距離可以使用邊界(margin)來設置。邊界也是可分爲上、右、下、左。如下代碼:

div{margin:20px 10px 15px 30px;}

 

 

css佈局模型

佈局模型與盒模型一樣都是 CSS 最基本、 最核心的概念。 但佈局模型是建立在盒模型基礎之上,又不同於我們常說的 CSS 佈局樣式或 CSS 佈局模板。如果說佈局模型是本,那麼 CSS 佈局模板就是末了,是外在的表現形式。 
CSS包含3種基本的佈局模型,用英文概括爲:FlowLayer 和 Float
在網頁中,元素有三種佈局模型:
1、流動模型(Flow
2、浮動模型 (Float)
3、層模型(Layer

 

 

流動模型

流動(Flow)是默認的網頁佈局模式。也就是說網頁在默認狀態下的 HTML 網頁元素都是根據流動模型來分佈網頁內容的。

流動佈局模型具有2個比較典型的特徵:

第一點,塊狀元素都會在所處的包含元素內自上而下按順序垂直延伸分佈,因爲在默認狀態下,塊狀元素的寬度都爲100%。實際上,塊狀元素都會以行的形式佔據位置。

第二點,在流動模型下,內聯元素都會在所處的包含元素內從左到右水平分佈顯示。(內聯元素可不像塊狀元素這麼霸道獨佔一行)

浮動模型

任何元素在默認情況下是不能浮動的,但可以用 CSS 定義爲浮動

div{

    width:200px;

    height:200px;

    border:2px red solid;

    float:left;

}

 

 

清除浮動的常用方法:

clear屬性—常用clear:both;clear:left; 或者clear:right

 

同時設置width:100%(或者固定寬度) + overflow:hidden;

當父包含塊縮成一條時,用clear:both方法清除浮動無效,它一般用於緊鄰後面的元素的清除浮動


層模型

層佈局模型就像是圖像軟件PhotoShop中非常流行的圖層編輯功能一樣,每個圖層能夠精確定位操作

層模型有三種形式:

1絕對定位(position: absolute)

2相對定位(position: relative)

3固定定位(position: fixed)

 

 

position:absolute(表示絕對定位),這條語句的作用將元素從文檔流中拖出來,然後使用leftrighttopbottom屬性相對於其最接近的一個具有定位屬性的父包含塊進行絕對定位。如果不存在這樣的包含塊,則相對於body元素,即相對於瀏覽器窗口

div{

    width:200px;

    height:200px;

    border:2px red solid;

    position:absolute;

    left:100px;

    top:50px;

}

 

 

position:relative(表示相對定位),它通過leftrighttopbottom屬性確定元素在正常文檔流中的偏移位置。相對定位完成的過程是首先按static(float)方式生成一個元素(並且元素像層一樣浮動了起來),然後相對於以前的位置移動,移動的方向和幅度由leftrighttopbottom屬性確定,偏移前的位置保留不動

#div1{

    width:200px;

    height:200px;

    border:2px red solid;

    position:relative;

    left:100px;

    top:50px;

}

 

未設置偏移量:無論是否存在已定位祖先元素,都保持在元素初始位置。

設置偏移量:無已定位祖先元素,以<html>爲偏移參照標準。有已定位祖先元素,以距其最近的已定位祖先元素爲偏移參照基準。

 

fixed:表示固定定位,與absolute定位類型類似,但它的相對移動的座標是視圖(屏幕內的網頁窗口)本身。由於視圖本身是固定的,它不會隨瀏覽器窗口的滾動條滾動而變化,除非你在屏幕中移動瀏覽器窗口的屏幕位置,或改變瀏覽器窗口的顯示大小,因此固定定位的元素會始終位於瀏覽器窗口內視圖的某個位置,不會受文檔流動影響,這與background-attachment:fixed;屬性功能相同。

#div1{

    width:200px;

    height:200px;

    border:2px red solid;

    position:fixed;

    left:100px;

    top:50px;

}

 

 

Relative與Absolute組合使用

相對於其它元素進行定位使用position:relative來幫忙,但是必須遵守下面規範:

1、參照定位的元素必須是相對定位元素的前輩元素:

<div id="box1"><!--參照定位的元素-->

    <div id="box2">相對參照元素進行定位</div><!--相對定位元素-->

</div>

從上面代碼可以看出box1box2的父元素(父元素當然也是前輩元素了)。

2、參照定位的元素必須加入position:relative;

#box1{

    width:200px;

    height:200px;

    position:relative;        

}

3、定位元素加入position:absolute,便可以使用topbottomleftright來進行偏移定位了。

#box2{

    position:absolute;

    top:20px;

    left:30px;         

}

這樣box2就可以相對於父元素box1定位了(這裏注意參照物就可以不是瀏覽器了,而可以自由設置了)。

 

 

顏色值縮寫

關於顏色的css樣式也是可以縮寫的,當你設置的顏色是16進制的色彩值時,如果每兩位的值相同,可以縮寫一半。

 

 

字體縮寫

網頁中的字體css樣式代碼也有他自己的縮寫方式,下面是給網頁設置字體的代碼:

body{

    font-style:italic;

    font-variant:small-caps; 

    font-weight:bold; 

    font-size:12px; 

    line-height:1.5em; 

    font-family:"宋體",sans-serif;

}

這麼多行的代碼其實可以縮寫爲一句:

body{

    font:italic  small-caps  bold  12px/1.5em  "宋體",sans-serif;

}

注意:

1、使用這一簡寫方式你至少要指定 font-size 和 font-family 屬性,其他的屬性(如 font-weightfont-stylefont-varientline-height)如未指定將自動使用默認值。

2、在縮寫時 font-size 與 line-height 中間要加入“/”斜扛。

一般情況下因爲對於中文網站,英文還是比較少的,所以下面縮寫代碼比較常用:

body{

    font:12px/1.5em  "宋體",sans-serif;

}

只是有字號、行間距、中文字體、英文字體設置。

 

 

水平居中設置-行內元素

如果被設置元素爲文本圖片行內元素時,水平居中是通過給父元素設置 text-align:center 來實現的。如下代碼:

html代碼:

<body>

  <div class="txtCenter">我是文本,哈哈,我想要在父容器中水平居中顯示。</div>

</body>

css代碼:

<style>

  div.txtCenter{

    text-align:center;

  }

</style>

 

 

水平居中設置-定寬塊狀元素

當被設置元素爲塊狀元素時用 text-aligncenter 就不起作用了滿足定寬塊狀兩個條件的元素是可以通過設置左右margin”值爲“auto”來實現居中的。

css代碼:

<style>

div{

    border:1px solid red;/*爲了顯示居中效果明顯爲 div 設置了邊框*/

    

    width:500px;/*定寬*/

    margin:20px auto;/* margin-left 與 margin-right 設置爲 auto */

}

 

</style>

 

 

水平居中總結-不定寬塊狀元素方法

不定寬度的塊狀元素有三種方法居中(這三種方法目前使用的都比多):

1. 加入 table 標籤

2. 設置 display;inline 方法

3. 設置 position:relative 和 left:50%;

 

第一種方法:

第一步:爲需要設置的居中的元素外面加入一個 table 標籤 包括 <tbody><tr><td> )

第二步:爲這個 table 設置左右 margin 居中(這個和定寬塊狀元素的方法一樣)。

 

第二種方法:改變塊級元素的 dispaly 爲 inline 類型,然後使用 text-align:center 來實現居中效果。

 

方法三:通過給父元素設置 float,然後給父元素設置 position:relative 和 left:50%,子元素設置 position:relative 和 left:-50% 來實現水平居中。

 

 

垂直居中-父元素高度確定的單行文本

父元素高度確定的單行文本的豎直居中的方法是通過設置父元素的 height  line-height 高度一致來實現的。如下代碼:

<div class="container">

    hi,imooc!

</div>

css代碼:

<style>

.container{

    height:100px;

    line-height:100px;

    background:#999;

}

</style>

 

 

垂直居中-父元素高度確定的多行文本

方法一:使用插入 table (包括tbodytrtd)標籤,同時設置 vertical-alignmiddle

 

 

隱性改變display類型

有一個有趣的現象就是當爲元素(不論之前是什麼類型元素,display:none 除外)設置以下 個句之一:

1. position : absolute

2. float : left 或 float:right

元素會自動變爲以 display:inline-block 的方式顯示,當然就可以設置元素的 width 和 height 了且默認寬度不佔滿父元素。

 

 

 慕課網學習筆記

發佈了16 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章