頁可見區域寬:document.body.clientWidth
網頁可見區域高:document.body.clientHeight
網頁可見區域寬:document.body.offsetWidth (包括邊線的寬)
網頁可見區域高:document.body.offsetHeight (包括邊線的寬)
網頁正文全文寬:document.body.scrollWidth
網頁正文全文高:document.body.scrollHeight
網頁被卷去的高:document.body.scrollTop
網頁被卷去的左:document.body.scrollLeft
網頁正文部分上:window.screenTop
網頁正文部分左:window.screenLeft
屏幕分辨率的高:window.screen.height
屏幕分辨率的寬:window.screen.width
屏幕可用工作區高度:window.screen.availHeight
屏幕可用工作區寬度:window.screen.availWidth
HTML精確定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
scrollHeight: 獲取對象的滾動高度。
scrollLeft:設置或獲取位于對象左邊界和窗口中目前可見內容的最左端之間的距離
scrollTop:設置或獲取位于對象最頂端和窗口中可見內容的最頂端之間的距離
scrollWidth:獲取對象的滾動寬度
offsetHeight:獲取對象相對于版面或由父坐標 offsetParent 屬性指定的父坐標的高度
offsetLeft:獲取對象相對于版面或由 offsetParent 屬性指定的父坐標的計算左側位置
offsetTop:獲取對象相對于版面或由 offsetTop 屬性指定的父坐標的計算頂端位置
event.clientX 相對文檔的水平座標
event.clientY 相對文檔的垂直座標
event.offsetX 相對容器的水平坐標
event.offsetY 相對容器的垂直坐標
document.documentElement.scrollTop 垂直方向滾動的值
event.clientX+document.documentElement.scrollTop 相對文檔的水平座標+垂直方向滾動的量
IE,FireFox 差異如下:
IE6.0、FF1.06+:
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
IE5.0/5.5:
clientWidth = width - border
clientHeight = height - border
offsetWidth = width
offsetHeight = height
(需要提一下:CSS中的margin屬性,與clientWidth、offsetWidth、clientHeight、offsetHeight均無關)
網頁可見區域寬: document.body.clientWidth
網頁可見區域高: document.body.clientHeight
網頁可見區域寬: document.body.offsetWidth (包括邊線的寬)
網頁可見區域高: document.body.offsetHeight (包括邊線的高)
網頁正文全文寬: document.body.scrollWidth
網頁正文全文高: document.body.scrollHeight
網頁被卷去的高: document.body.scrollTop
網頁被卷去的左: document.body.scrollLeft
網頁正文部分上: window.screenTop
網頁正文部分左: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的寬: window.screen.width
屏幕可用工作區高度: window.screen.availHeight
屏幕可用工作區寬度: window.screen.availWidth
-------------------
技術要點
本節代碼主要使用了Document對象關于窗口的一些屬性,這些屬性的主要功能和用法如下。
要得到窗口的尺寸,對于不同的瀏覽器,需要使用不同的屬性和方法:若要檢測窗口的真實尺寸,在Netscape下需要使用Window的屬性;在IE下需要 深入Document內部對body進行檢測;在DOM環境下,若要得到窗口的尺寸,需要注意根元素的尺寸,而不是元素。
Window對象的innerWidth屬性包含當前窗口的內部寬度。Window對象的innerHeight屬性包含當前窗口的內部高度。
Document對象的body屬性對應HTML文檔的標簽。Document對象的documentElement屬性則表示HTML文檔的根節點。
document.body.clientHeight表示HTML文檔所在窗口的當前高度。document.body. clientWidth表示HTML文檔所在窗口的當前寬度。
實現代碼
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>請調整瀏覽器窗口</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
</head>
<body>
<h2 align="center">請調整瀏覽器窗口大小</h2><hr>
<form action="#" method="get" name="form1" id="form1">
<!--顯示瀏覽器窗口的實際尺寸-->
瀏覽器窗口 的 實際高度: <input type="text" name="availHeight" size="4"><br>
瀏覽器窗口 的 實際寬度: <input type="text" name="availWidth" size="4"><br>
</form>
<script type="text/javascript">
<!--
var winWidth = 0;
var winHeight = 0;
function findDimensions() //函數:獲取尺寸
{
//獲取窗口寬度
if (window.innerWidth)
winWidth = window.innerWidth;
else if ((document.body) && (document.body.clientWidth))
winWidth = document.body.clientWidth;
//獲取窗口高度
if (window.innerHeight)
winHeight = window.innerHeight;
else if ((document.body) && (document.body.clientHeight))
winHeight = document.body.clientHeight;
//通過深入Document內部對body進行檢測,獲取窗口大小
if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth)
{
winHeight = document.documentElement.clientHeight;
winWidth = document.documentElement.clientWidth;
}
//結果輸出至兩個文本框
document.form1.availHeight.value= winHeight;
document.form1.availWidth.value= winWidth;
}
findDimensions();
//調用函數,獲取數值
window.onresize=findDimensions;
//-->
</script>
</body>
</html>
源程序解讀
(1)程序首先建立一個表單,包含兩個文本框,用于顯示窗口當前的寬度和高度,并且,其數值會隨窗口大小的改變而變化。
(2)在隨后的JavaScript代碼中,首先定義了兩個變量winWidth和winHeight,用于保存窗口的高度值和寬度值。
(3)然后,在函數findDimensions ( )中,使用window.innerHeight和window.innerWidth得到窗口的高度和寬度,并將二者保存在前述兩個變量中。
(4)再通過深入Document內部對body進行檢測,獲取窗口大小,并存儲在前述兩個變量中。
(5)在函數的最后,通過按名稱訪問表單元素,結果輸出至兩個文本框。
(6)在JavaScript代碼的最后,通過調用findDimensions ( )函數,完成整個操作。
TML作為一種用來描述網頁的語言,是制作網頁必不可少的,但HTML 不是一種編程語言,而是一種標記語言 (markup language),本著為了更好的了解大數據開發的基礎,今天就帶著大家更進一步的了解HTML的使用,HTML的表格與表單。
1.HTML表格
表格由 <table> 標簽來定義。每個表格均有若干行(由 <tr> 標簽定義),每行被分割為若干單元格(由 <td> 標簽定義)。字母 td 指表格數據(table data),即數據單元格的內容。數據單元格可以包含文本、圖片、列表、段落、表單、水平線、表格等等。表格的作用就不言而喻了,讓看起來更簡潔直觀有序性。
下面給大家帶來一些常用的標簽:
<table> 表格的最外層容器
<tr> 定義表格行
<th> 定義表頭
<td> 定義表格單元
<caption>定義表格表題
<width>:寬度。可以用像素或百分比表示。 常用960像素。
<border>:邊框,常用值為0。
<cellpadding>:內容跟邊框的距離,常用值為0。
<cellspacing>:單元格與單元格之間的間距,常用值為0。
<algin>:對齊方式。
<bgcolor>:背景色。
<background>:背景圖片。
<align>: 一行內容的水平對齊方式。
<valign>: 一行內容的垂直對齊方式。
<height>:行高。
創建表格
在HTML網頁中,要想創建表格,就需要使用表格相關的標簽。
創建表格的基本語法:
<table>
<tr>
<td>單元格內的文字</td>
...
</tr>
...
</table>
舉個例子
其中:table用于定義一個表格標簽。
tr標簽 用于定義表格中的行,必須嵌套在 table標簽中。
td 用于定義表格中的單元格,必須嵌套在<tr></tr>標簽中。
字母 td 指表格數據(table data),即數據單元格的內容。
再比如說我們可以建立個有顏色的格子,如下圖
表格的作用除了可以顯示一個表格外,有的時候還可以用于輔助排版。但現在都不怎么使用了,因為時代的進步,以前的表格排版的網頁已經被淘汰了。
2. HTML表單
關于表單的制定,因為在瀏覽器中輸入的內容都必須要經過網絡提交到服務器端再處理,所以需要把所有的控件都包含在一個form表單控件中,然后一次提交給服務器,再由服務器處理用戶提交的數據。
HTML 支持有序列表(有序列表是一列項目,列表項目使用數字進行標記。
有序列表始于 <ol> 標簽。每個列表項始于 <li> 標簽。)無序列表(無序列表也是一個項目的列表,此列項目使用粗體圓點“典型的小黑圓圈“進行標記。)和定義列表(自定義列表不僅僅是一列項目,而是項目及其注釋的組合。自定義列表以 <dl> 標簽開始。每個自定義列表項以 <dt> 開始。每個自定義列表項的定義以 <dd> 開始。)。
表單常用標簽:
form: 表單的最外層容器
input: 用于搜集用戶信息,根據不同的type屬性值,展示不同的控件
Text:普通的文本輸入框
Password:密碼輸入框
Checkbox:復選框
Radio:單選框
File:上傳文件
Submit:提交按鈕
Reset:重置按鈕
Cols:列
Rows:行
注意事項:
<form id="" name="" method="post/get" action="負責處理的服務端">--輸入系統時,必須有
Name :定義表單的名稱;
Method: 定義表單結果從瀏覽器傳送到服務器的方式,默認參數為:get
Action :用來指定表單處理程序的位置(服務器端腳本處理程序)
Fieldset:把表單分組;
Legend:分組名稱。
id不可重復,name可重復,get提交有長度限制,并且編碼后的內容在地址欄可見,post提交沒有長度限制,且編碼后內容不可見。
舉個例子
<form action="login.asp" method="post">
<label>用戶名: </label><input type="text" name="username" />
<label>密碼: </label><input type="password" name="password" />
</form>
得到結果如圖
本期的內容比較多,大家可以在平日里多加練習,這是大數據開發基礎的重要部分,做到能更熟練,更準確,希望大家能有所進步。
多程序員朋友,在用CSS進行邊距調整時,老分不清楚外邊距margin和內邊距padding的區別,在我部門,就有兩個迷糊蟲。于是我上網找了一幅圖,一副不可描述的圖(你可不要想歪了),他們一看就完全明白了,現在分享給你。
在什么場景中使用padding,在什么場景中使用margin,這是一個學問。你掌握了,學問就有了。
這是用padding的學問
(1)需要在border內側添加空白,在文字與邊框留有距離時;
(2)空白處需要背景色時;
(3)上下相連的兩個盒子之間的空白希望等于兩者之和時,比如15px+20px的padding,將得到35px的空白。
這是用margin的學問
(1)需要在border外側添加空白時;
(2)空白處不需要有背景色時;
(3)上下相連的兩個盒子之間的空白需要相互抵消時,比如15px+20px的margin,將得到20px的空白。
在CSS中,通過外邊距margin屬性,可設置元素周圍的空間。可用margin統一指定4邊,也可用margin-top等屬性,特指其中一邊。這種方案,在CSS中是很常見的。padding和margin的作用不同,但用法是一樣的。為了區分效果,我只在一個div中用了padding,通過比較,一目了然。
在CSS表文件ys2.css中的代碼
/*單獨指定一個邊距*/
.one-margin {
margin-left: 100px;
}
/*4個邊距*/
.four-margin {
background: cadetblue;
width: 400px;
height: 200px;
margin: 10px 20px 30px 50px;
}
/*加上padding*/
.use-padding {
background: cadetblue;
width: 400px;
height: 200px;
margin: 10px 20px 30px 50px;
padding-top: 20px;
}
在HTML文件中的代碼
<div class="big-div">
<h1 class="one-margin">margin用法</h1>
<div class="four-margin">
margin一個值:4個邊距;<br/>
margin兩個值:上下邊距、左右邊距;<br/>
margin三個值:上邊距、左右邊距、下邊距;<br/>
margin四個值:上邊距、右邊距、下邊距、左邊距。
</div>
<div class="use-padding">
padding一個值:4個邊距;<br/>
padding兩個值:上下邊距、左右邊距;<br/>
padding三個值:上邊距、左右邊距、下邊距;<br/>
padding四個值:上邊距、右邊距、下邊距、左邊距。<br/>
為了區分margin和margin,我只用 padding-top,你能看出效果么?
</div>
</div>
輸出結果
好了,有關CSS邊距的內容,老陳講完了,如果覺得對你有所幫助,希望老鐵能轉發點贊,讓更多的人看到這篇文章。你的轉發和點贊,就是對老陳繼續創作和分享最大的鼓勵。
一個當了10年技術總監的老家伙,分享多年的編程經驗。想學編程的朋友,可關注:老陳說編程。分享Python,前端(小程序)、App和嵌入式方面的干貨。關注我,沒錯的。
#前端##HTML5##CSS##程序員##Web#
*請認真填寫需求信息,我們會在24小時內與您取得聯系。