日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Html相关知识点

發布時間:2023/12/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Html相关知识点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

web 基礎的課程

html

css

javascript--js

后續

服務器端技術

jquery.ajax

靜態頁面(客戶端技術)

html:頁面的內容用適當的元素顯示

CSS:設置頁面元素的外觀/樣式

Js:頁面元素添加動態的顯示效果

開發環境:記事本,文本編輯器

運行環境: 瀏覽器

動態頁面,服務器端技術:提交

JSP

PHP

ASP.NET

html課程

1/什么是html

hypertext markup language超(超級鏈接)文本標記語言,編寫網頁,后綴為.html/.htm的文件,用瀏覽器解釋運行

???解釋:如果錯誤,試圖解釋,帶來不可預料的結果

注意拼寫正確

2 html的基礎語法:用一對尖括號表示頁面內容

元素:<標記名稱>

有些是成對出現

有些是單標記

最早版本:有些標記可以沒有結束<br>

最新版本:要求必須有結束<br/>

屬性:<標記名稱 屬性名稱="值">

注釋:<!--注釋-->

?

<a href="a.html">click me</a>

<p1>xian</p1>

<table></table>

?

3 構建一個html 文件

保證頁面都能正常顯示,書寫標準規范的代碼

標準格式(掌握):

版本信息(了解)

<html>

<head>

包含整個文檔相關

</head>

<body>

顯示的內容

</body>

</html>

?

4 head中:整個文檔的定義

title:文檔的標題

meta:元數據--單標記

定期刷新:例如留言論壇

<meta http-equiv="refresh" content="5">--舊

<meta http-equiv="" content="" />--新

文檔的編碼定義

<meta http-equiv="content-type" content="text/html;charset=utf-8">

link:引入外部資源,如樣式等

style:定義樣式

script:定義腳本代碼

5 body:顯示的頁面的主體內容

文本標記

圖像和超級鏈接

表格

表單

列表

框架

?

6 關于瀏覽器:IE/Firefox/Chrome/Safari

?

7 文本標記:文本默認顯示

各級標題:<h1>-<h6>

段落:<p>段落文本</p>---行間距較大

換行:<br>--單標記,回車

練習2:實驗文本標記的使用,區別

分區/組元素:div/span

span:同一行元素中的分組,不影響其他元素的布局

div:多行元素的分組,分組后,前后換行

練習3:實驗span和div的使用,區別

aaa<span>aaaa</span>aaaaaaa

bbb<div>bbbb</div>bbbbbbb

?

<div>

<p>段落1</p>

<p>段落2</p>

</div>

<p>段落3</p>

?

8.超級鏈接a:點擊的文本/去往的url

href屬性用于指定路徑:相對/絕對

<a href="http://www.tarena.com.cn">click me</a>

<a href="images/other.html">click me</a>

target屬性:指定新頁面打開的方式

_self

_blank

<a href="http://bbs.baidu.com.cn" target="_blank">click me</a>

?

name屬性:定義錨點--頁面的不同的部分之間的跳轉

1.使用a元素帶有name屬性定義一個錨點---目標位置

2.使用a元素帶有href屬性定義點擊完去往某個位置---#錨點的名稱

<!--使用a元素定義錨點-->

<a name="Top"></a>

<a href="#Top">To Top</a>

練習4:實驗超級鏈接和錨點的使用

9.圖像

添加一個圖像:img元素--單標記

<img src="" width="" height="">

?

為整幅圖像添加鏈接

<a><img></a>

為一個圖像添加多個鏈接

<map name="MyMap">

<area shape="rect" coords="x1,y1,x2,y2" href="">--單標記

<area shape="circle" coords="x,y,r" href="">

<area shape="poly" coords="x1,y1,x2,y2,x3,y3,....">

</map>

?

<img src="cat.jpg" width="200" height="200" usemap="#MyMap">

練習5:一副圖像多個鏈接

?

?

?

10.表格

最初的目的用于顯示結構化的數據(網格),后期用于實現頁面的布局

基本結構:table/tr/td

<table>

<tr>

<td></td>

<td></td>

</tr>

<tr>

<td></td>

<td></td>

</tr>

</table>

常用屬性:

?table元素

:border/width/height/cellpadding(內邊距)/cellspacing(邊框之間的距離)

?

td元素

:width/height/align(left/right/center)/valign(top/middle/bottom)

?

表格的完整結構

caption:為表格定義標題,出現在table標記里,作為第一個子元素存在

行分組:thead/tbody/tfoot

?

練習6:定義一個2X2的表格,實驗常用屬性

?

不規則表格:td的屬性

rowspan

colspan

?

練習7:定義兩個不規則的表格

?

表格的嵌套

table元素只能嵌套在td里

屬性

練習8:表格的嵌套

?

11 表單:收集用戶錄入(選擇)的數據,提交給服務器

form元素:承載頁面的控件,以表單為單位,將當前表單中的數據提交給服務器

常用屬性:action method

<form action="login.jsp" method="post">

</form>

???form中可以包含控件:

input元素:單標記,根據type屬性的不同取值定義不同類型的輸入框

type屬性的取值:

text:文本框

password:密碼框

checkbox:多選/核選框

radio:單選框

按鈕相關

submit:提交型

reset:重置,恢復到初始值

button:普通按鈕,依靠onclick

另外兩種

file:文件

hidden:隱藏域,常用于記載那些不需要被用戶看見卻需要提交的關鍵信息

name屬性

對于checkbox和radio而言,用于實現分組

value 屬性

對于文本框和密碼框:設置初始文本

對于單選和多選框:設置關鍵數據,往往是id的數據

對于按鈕類型:定義按鈕上的文本

?

checked屬性:針對于單選和多選框

?

非input元素

textarea元素:多行文本框

rows/cols屬性

select元素:下拉框/列表框

size屬性:默認為1,下拉框;設置為其他值,列表框

包含option元素:代表每一個選項

fieldset:輸入域分組,結合legend元素定義組標題

legend:出現在fieldset里,作為第一個子元素

?

12 列表

有序列表:ol

無序列表:ul

列表項:li

王 wangcm@tarena.com.cn

13 框架

iframe:浮動框架,在一個html頁面上引入(嵌入)另一個html頁面,常用于實現廣告頁面的效果

<iframe src=""></iframe>

?

14 課后練習

tts的練習

不規則表格的練習

CSS的課程

1/什么是CSS

使用統一的方式定義頁面的外觀,實現頁面數據和顯示的分離

?

2/解決的問題:

各個元素關于樣式定義的屬性不統一

沒有實現數據和表現的分離,可維護度差

?

3/定義CSS

CSS的基本語法:將多對樣式的聲明(樣式名稱:值)用分號隔開

font-size:20pt;color:red;--統一定義的問題

選擇器{樣式聲明}--分離

?

4/使用css的方式:

內聯方式:將css的樣式定義寫在元素的style屬性中,沒有實現分離,難以重用和維護

內部樣式表:將css的樣式定義寫在 head 元素中的 style 元素中,樣式定義必須有選擇器---分離不夠徹底,只能當前頁面重用

外部樣式表:將樣式定義在單獨的 .css 的文件里,使用它時,頁面的head里使用link元素(href/type/rel)引入

?

5/三種方式的優先級----就近原則

可以共用,建議使用外部樣式表

內聯>內部/外部(取決于位置)

位置:相同的級別下,重復定義,以最后一次定義的優先

?

練習1:創建一個html頁面,實驗內聯方式/內部樣式表/外部樣式表,控制頁面的外觀

?

?

6/選擇器

元素選擇器:以html中元素的名稱作為選擇器,如h1 {color:red;}

使用方便,對于同一種元素實現定義;不能解決跨元素的統一定義,不能解決同一種元素里的細分

類選擇器:

定義 ?.className{}

使用 <元素 class="className"

?

分類選擇器:同一種元素里的細分

定義 元素名.className{}

使用 <元素名 class="className"

?

元素id選擇器:專屬于某個元素使用

定義 #名稱 {}

使用 <元素 id="名稱"

?

派生選擇器:根據元素的層次位置定義樣式,常用于對于一堆相同的元素實現統一定義

定義 ??選擇器1 選擇器2 選擇器3{}

使用 ?

?

群組選擇器:為多個選擇器定義相同的外觀部分

定義 ??選擇器1,選擇器2,選擇器3{}

使用

a,h1,input.textbox,#pageTitle {}

?

偽類:根據不同的狀態定義不同的外觀,常用于實現超級鏈接的效果,hover狀態除外,所有元素都可用

a:link---沒有點擊過的

a:active--激活,按下

a:hover--鼠標懸停

a:visited--訪問過的

?

?

練習2:創建一個html頁面,外部樣式表文件,使用類選擇器

<input type="text">

<input type="button">

?

input {}

7/各種樣式屬性--聲明樣式

尺寸的單位:pt(磅)/px(像素) ?cm mm in %

顏色的單位:單詞 #FFFFFF ?#FFF

尺寸的樣式:width height

?

8/邊框的屬性:

簡寫方式:寬度 線型 顏色

border:1px solid red;---4個

border-top:1px dashed blue

border-bottom

border-right

border-left

單一定義

border-width:1px;

border-style:solid;

border-color:red;

border-top-width:2px;

?

9/display屬性:設置元素的顯示方式,常和js一起,修改元素是否顯示

none:元素不可見,且不占用頁面的位置--常用于設計那些頁面剛初始化時不可見的元素

inline

block

?

行內元素:可以和其他元素位于同一行,如span/input/a;高度和寬度設置無效

塊級元素:獨占一行,如div/p/table/h1

?

10/position 屬性:默認用流模式顯示頁面,使用該屬性改變布局的方式(多層)

static

absolute:絕對定位,相對于父元素

relative:相對定位,相對于原有的位置

?

11/偏移屬性:設置元素左上角的坐標位置

left:50px;

top:20px;

bottom:

right:

?

12/堆疊順序:層的順序

z-index:

?

13/文本屬性:定義文本的字體相關的樣式

color

font-size

font-weight:normal/bold;

font-style:italic;

?

14/背景屬性

background-color:red;

background-image:url(a.jpg);

background-repeat:repeat/no-repeat/repeat-x/repeat-y;

background-position:left top;--背景圖像的偏移,小背景圖像的居中;截取背景圖像中的一部分

background-attachment:scroll(默認設置)/fixed(水印);---背景圖像的付著方式,常用于實現類似于水印的效果

?

15 邊距屬性

box模型

padding:內邊距

padding:10px;---4個方向,left和top優先(小);撐開(大)

padding-top/left/right/bottom:10px;

margin:外邊距,定義相同

?

16 浮動屬性:脫離原有的流模式的布局,左邊框向左浮動,直到遇到一個邊框停靠---將多個塊級元素位于同一行

float:left/right;

clear:left/right/both;--清除周圍浮動元素的影響,因為某個元素設置了浮動屬性后,可能會對后續的元素帶來影響

?

17 列表的樣式

list-style-type:none;

list-style-image:;

day03

html構建頁面的結構

CSS 美化頁面

js 添加動態的效果

jsp 服務器端的交互

?

web--瀏覽器--netscape---javascript

Microsoft---JScript

JS

?

1/什么是 JavaScript:一種基于對象和事件驅動的腳本語言,由瀏覽器軟件解釋運行,常用于為頁面添加一些客戶端的動態效果,嵌入到網頁

?

2/語言的特征

內置好了大量對象,數據的簡單封裝

?

3/哪些現象用js實現

驗證數據錄入的格式

動態效果

瀏覽器的交互

?

4/包含的內容

基礎語法和常用內置對象

DOM

BOM--browser object model

實現數據的封裝

5/如何書寫腳本代碼

直接定義:οnclick="alert();"

script代碼塊:

<head>

<script>

在元素的事件中調用

js文件

<input type="button" value="第二個按鈕" οnclick="SecondMethod();">

6/基礎語法--大小寫敏感

標識符:字母/數字/下劃線/$符號組成,不能以數字開頭

語句:以分號結束

注釋:// /**/

變量: ????var s1 = "mary";

var n1 = 123;

運算符:>> << ++ -- ??:

== 數值,內容

===嚴格相等 ?內容和類型

控制語句

if/else ?switch/case

for ??while

錯誤控制臺

?

7 數據類型

js是一種松散類型的語言:底層的數據存儲格式一樣的,代碼編寫過程,關心數據類型

內置數據類型

String/Number/Boolean/null/undefined

復雜數據類型

Object(Array/Math/Date/Regex..)

?

8/ 內置數據類型

聲明變量的時候,不能確認數據類型;以賦值為準

string:文本字符串

number:數值,不區分整數和小數

bool:true/false----1/0

?

9/ 數據類型之間的轉換

隱式

string + number---string

number + bool---number

string + bool---string

bool + bool ---number

顯式 (使用一些轉換方法)

轉換為數值類型:parseInt/parseFloat---如果有數字,轉換;NaN

轉換為字符串:toString

var n = 133;

n.toString().length

?

判斷string是否可以轉換為數值

isNaN()---is not a number

?

110 常用內置對象的用法

js提供了一些常用的對象,利用它們的成員實現功能

String/Array/Math/Date/Error/Regex/...

?

11 string對象:表示字符串

創建: ?var s = "content";

????????var s = new String("content");

特殊字符:特殊的字符按照字符本身的意義顯示---轉義符

\' \" \n \\

漢字:

s.length---長度

s.substring(start,end)--子字符串,end是結束位置的下一個

s.charAt(index)

s.indexOf("子字符")--第一次出現的位置>=0

s.lastIndexOf

s.toUpperCase/toLowerCase

s.split("拆分用的字符")

?

s.search("子字符"/正則表達式)---index

s.replace("子字符"/正則表達式,newstring)--result

s.match()---匹配的數組結果

?

正則表達式:結合string對象的方法實現對于字符串的操作

/表達式/匹配標識符(g/i)

?

12 數組對象

創建:可以沒有長度

var a = new Array();

賦值:

a[0] = "mary";

a[1] = 123;

a[2] = true;

簡寫方式:

var a = ["mary",123,true];

屬性

length

方法

toString()---1,2,3

join(";")---10;20;30

array1.concat(array2)--兩個數組加

array1.slice(start,end)--從數組中截取一部分,得到一個小數組

?

reverse--翻轉

sort--排序,默認按照字符串的大小比較

sort(排序的function對象)--自定義的排序規則

?

13 Math對象:提供數學計算用的常量和方法

常量:Math.PI

方法:max/min/round/pow(x,y)/ceil/floor/random--小數(0=< < 1)

1到10之間的整數(包含下限,不包含上限)

random() * 10---0=< 小數 < 10--floor---0--9

3到15之間的

floor( random() * 12) + 3

?

14 Date對象:獲取或者操作時間和日期...

?

15 Function對象

聲明方法 function Name(x,y,z){.. return ;}

調用方法 Name(12,34);

var r = Name(4,true);

局部變量和全局變量

方法的重載:沒有方法的重載

方法重名,即使參數不同,依然以最后一次定義的為準

arguments:代表當前方法的所有參數值組成的數組,實現類似于重載的效果

?

function M()

{

...

}

?

課后練習:

模擬機選一注雙色球彩票的號碼

6個紅球:6個1到33(都包含)之間的整數,不能重復(產生一個號碼,判斷是否出現過存入數組;否則繼續)

1個藍球:1個1到16(都包含)之間的整數

顯示在界面時(將產生的結果使用代碼寫在頁面):

機選一注

紅球為:1,3,6,23,25,32--排序,逗號隔開

藍球為:12

?

16 DOM--document object model

將html文檔作為一個節點樹的結構,查詢和修改,實現頁面的動態修改---document 代表整個文檔樹

常和正則表達式一起實現頁面輸入的驗證

?

a)找到節點

找到單個節點:document.getElementById()

找到一類(多個)節點:document.getElementsByTagName("input")

根據元素的相對位置找節點:

xxx.childNodes/parentNode/firstChild/lastChild

?

b)關心節點的信息:將html標記對象化---將標記中的屬性標記作為節點對象的屬性;將標記中間的文本內容,作為innerHTML

單個標記屬性,如value/href/src--class--className

集合屬性,如style,將集合屬性中的每個子內容作為style的子屬性存在 obj.style.color

如果修改的樣式屬性過多,單個修改將代碼難以維護,建議:將樣式聲明放到單獨的CSS文件中,用樣式類維護;js中,xx.className = "";

?

<input type="text" > ?文本框.value

<a href="">click me</a> ?a節點對象.innerHTML

???????a節點對象.href = "";

<img> ???圖像對象.src = "";

?

.value

.innerHTML

c)修改節點的信息;關心節點的信息

常用的實例:

頁簽

二級菜單

實現頁面的錄入驗證

正則表達式:實現對于文本的匹配,如\d{3}

?

在js環境下:

使用方式一:用在string對象的search/replace/match方法里,實現對于文本的操作

使用方式二:聲明正則表達式對象,調用 test 方法,測試string 是否符合表達式的聲明,bool

var reg = /^\d{3}$/;

reg.test(string)----bool

?

onxxxx = "return false;"---取消事件

?

d)添加新節點

???var o = document.createElement("input")--返回新創建的元素對象

???o.value = "dd";

???o.type = "text";

?

???XXX.appendChild(o);

<input value="dd" type="text">

?

???選擇性的將新節點放入某個位置

???XXX.insertBefore(newNode,refNode)---XXX是refNode的父節點,操作完畢后,newNode作為XXX的子節點

XXX.insertBefore(a,XXX.firstChild)

XXX.insertBefore(a,XXX.childNodes[1]);

?

e)刪除節點

XXX.removeChild(node)---node為XXX的子節點

//id="txt1"的節點

$("txt1").parentNode.removeChild($("txt1"));

-----是W3C的標準

-----第三方封裝,常用的標準操作封裝起來

-----表現為各種公開的js文件

-----有些常用的封裝,瀏覽器默認支持,比如:

<select>

<option>

</select>

createElement("option");

o.innerHTML = "";

o.value = "";

改建為: var o = new Option("text","value");

---這種封裝:HTML DOM

下拉框的聯動效果

onchange---當元素的值發生變化時

selectedIndex---當前所選中項的索引

封裝:selObj.options.length = 0;

??????var o = new Option(text,value);

??????selObj.options[i] = o;

?

表格的動態創建:js的客戶端技術/服務器端技術

動態的為表格添加新行,行中有單元格

<table border="1" id="t1">

<tr>

<td>Name</td>

<td>Age</td>

</tr>

</table>

標準的dom操作

封裝的HTML DOM的操作:

tableObj.rows

tableObj.insertRow(index)---返回新產生的 tr 對象(行對象)

tableObj.deleteRow(index)

rowObj.insertCell(index)---返回新產生的 td 對象(單元格對象)

.deleteCell(index)

tdObj.innerHTML = "";

?

+++js中的對象

function checkPwd(){

var name = $("txtPwd").value;

var reg = /^\d{6}$/;

if(reg.test(name))

$("pwdInfo").innerHTML = "";

else

$("pwdInfo").innerHTML = "密碼格式錯誤";

//返回密碼驗證是否通過

return reg.test(name);

}

//驗證所有的錄入:返回true或者false

function checkData() {

//收集所有的驗證結果并返給調用方,以決定是否取消事件

var result = checkName() && checkPwd();

return result;

}

<input type="submit" value="登錄" οnclick="return checkData();">

++++

詳細見day02

<script src="second.js" language="javascript"></script>

<select id="sel1" οnchange="ShowClasses();">

<option>--請選擇--</option>

<option>java</option>

<option>php</option>

<option>.net</option>

</select>

?

?

*******

17 BOM--browser object model

將瀏覽器窗口中的各部分封裝為對象,樹形結構

???window

document ?location ?history ?screen navigator event

?

18 window對象:代表整個窗口,其他作為它的子對象

document.createXXX

window.document.createXXX

?

a)window.open(url)--打開多個,返回新窗口對象

??window.open(url,name)

??window.open(url,name,config)

?

b)window.focus()

?

c)window.alert()

??window.confirm(text)--確認對話框,返回值 bool

??window.prompt()--文本輸入的對話框

?

d)定時器的方法

周期性定時器

??window.setInterval(function,time)--time是ms單位,返回定時器對象

??window.clearInterval(定時器對象)

?

一次性定時器:實現類似于倒計時的效果

??window.setTimeout(function,time)--time是ms單位,返回定時器對象

??window.clearTimeout(定時器對象)

?

19 location 對象:瀏覽器窗口的地址欄

location.href = "url";---產生保留歷史記錄

location.replace(url);---不會保留頁面的歷史

相同點:舊窗口中顯示新的url

location.reload();//F5

?

去往新的url:

<a href=""></a>---靜態

window.open---打開新的窗口

頁面的重定向(跳轉):url替換舊的url

20 screen 對象

screen.width/height

screen.availWidth/availHeight

screen.color

?

21 navigator 對象:瀏覽器軟件及其所在操作系統的信息

遍歷該對象的所有屬性

對象的屬性本質是一個屬性的數組,如

location.href

location["href"]

navigator.aa

navigator.bb

for(var p in navigator)

{

navigator[p]

}

?

22 event 對象

a) 事件的分類

鍵盤事件 onkeydown/onkeyup

鼠標事件:onmouseover/onmouseout/onclick

狀態事件 onblur/onfocus/onchange/onload/onunload

?

b) 事件的定義

定義在HTML標記里: onxxx = "MM();"---寫死

代碼動態的為元素定義事件:

obj.onclick = function對象;

?

c) 事件的冒泡機制:父子元素上定義相同的事件,觸發事件時,冒泡機制(從最里層的元素開始觸發,層層向上)

???取消冒泡:event.cancelBubble = true;

???利用冒泡機制:

大量子元素有相同事件,為父元素定義事件

?

d) event 對象:只要頁面發生了事件,將當前事件相關的所有信息封裝到 event 對象中

???js代碼中使用event 對象

?

e) event 成員:屬性代表事件的某個信息

event.x/y/clientX/clientY

event.srcElement/target--元素對象

區分點擊的是哪個子元素

event.srcElement---得到引發當前事件的元素對象

信息:元素節點.nodeName--獲取元素的標記名稱,大寫形式

----在html中用event獲取事件對象,傳入方法里

ie/chrome/opera瀏覽器中:js或者html代碼中獲取事件對象,用event 關鍵字

event.srcElement

?

firefox 瀏覽器:只能在html里使用event關鍵字

event.target

?

瀏覽器兼容 ?event.srcElement || event.target

?

eval("1+2") --- 3:將參數作為計算表達式進行計算,得到結果

?

23 history:歷史訪問記錄

history.length

history.back()

history.forward()

?

24 js中OO編程

OO:封裝/繼承/多態

?

數據的封裝:數據結構---class

成員:數據(屬性)/行為(方法)

?

三種封裝方式:

a) 使用 Object 對象實現數據的封裝

???var s = new Object();

???s.name = "mary";

???s.age = 18;

???s.isGraduated = true;

???s.方法 = function對象;

優點:簡單

缺點:重用性差---簡單的數據封裝

?

b)自定義對象:封裝,重用

聲明自定義的對象,構造函數

function Student(n,a,i)

{

this.name = n;

this.age = a;

this.isGra = i;

this.introduceSelf = aaa;

}

?

function aaa()

{

this.name--獲取當前對象的成員

}

?

var s1 = new Student("mary",18,true);

var s2 = new Student("tom",45,false);

alert(s1.name);

alert(s2.name);

?

c) JSon 的語法

var s = {"name":"mary","age":18,"isGra":true};

alert(s.name);

?

練習:tts

??????走馬燈的效果

實現4個圖片每3s輪換(1,2,3,4,1,2,..)

下方1-4 4個數字,背景色也會變化(當前順序的數字的背景色高亮顯示)

鼠標移入圖片,停止輪換;移走,繼續輪換

?

???

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的Html相关知识点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。