Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
隨著5G網絡逐漸普及,手機已經成為了我們的一部分,從前出門要還要想著帶個什么樣子的包,現在的出門只要記得帶好手機就足矣!以前手機要實現一個功能就需要安裝相應的APP,而現在微信小程序等帶給我們不一樣的體驗,我們不再需要安裝各種各樣的APP,很多都可以在微信小程序上完成。微信小程序的開發門檻雖然低了很多,但我們還是需要掌握一定的基礎知識,而作為基礎中的基礎,HTML5是我們必須學習的。
一、HTML代碼基礎
1、HTML5的語法要求非常寬松,屬性值可以用單引號、雙引號包含起來,甚至可以不加引號。如:
id="wl" id='wl' id=wl 這三個是一樣的效果。
但需要注意的是如果屬性值中含有空格、單引號、大于小于號、反引號等字符時,則必須加引號,而當屬性值中含有單引號時,可以加雙引號,而值中有雙引號時就可以 加單引號。為了養成一個好的習慣,建議好始終給屬性值加雙引號。
2、內容標簽是標簽中包含一段內容,如p和strong這樣的元素;非內容標簽(空元素)是指標簽不包含內容,比如換行等,它只有起始標簽,不需要結束標簽,以HTML5以前為了強調結束,經常把非內容標簽寫成<br />樣子,而在HTML5中規定,非內容標簽不需要關閉。常見的非內容標簽有:<meta>、<img>、<br>、<input>、<link>、<hr>、<embed>等。
3、注釋:不論單選還是多行,只需要把注釋放在<!-- 注釋內容 -->。
4、HTML頁面根元素,在整個頁面中html是根元素,在這個元素中一般有兩個屬性,一個是lang,另一個是manifest。
<html lang="zh-cmn-Hans">:聲明頁面的語言為簡體中文。(非標準寫法為lang="zh-CN");manifest屬性用于設定頁面緩存,它一旦設置后,瀏覽器便會將需要緩存的文件保存在本地,主要適用于不依賴網絡,且下載后不需要再次更新的HTML5游戲、應用等,如果頁面內容需要頻繁更新的應該少用該屬性,具體用法可以查詢HTML5手冊,這里不詳細說明。
5、Head元素包含五個主要部分,分別是title、link、style、base和meta元素。title元素即網頁的標題;link元素定義了文檔與外部資源的關系,除了CSS外,還有許多的外部資源也通過這一元素引入頁面;style元素用于在頁面中定義樣式;base元素用于標記文檔的基礎URL地址,還可被用于設置全局的瀏覽器打開方式,如:<base target="_blank">設置頁面中所有的鏈接均在新窗口中打開
;meta元素是head中各類最豐富的一個元素,雖然它包含了多種多樣的元數據,但它被規定了必須包含name(元數據名稱),http-equiv(編譯指令)和charset(字符編碼)三種屬性的其中一種。如不希望頁面被抓取并公開時,我們可以在頁面中添加名為robots的meta標記,如:<meta name="robots" content="none">,反之則所有都被檢索到<meta name="robots" content="all">
。meta元素還能完成諸如刷新、重定向、緩存時間等功能。
6、HTML5新增了header元素,專門用來表述這樣的頭部區域,section元素對應不用的內容版塊,文章可以用article元素來表示,頁面的側邊欄可以用aside元素來表示 ,而且不僅可以放在整個頁面的代表側邊欄區域,還能放入section或article中,來容納一些與版塊和文章相關的內容。
7、footer元素和header元素并非區塊內容,在這兩種元素之內不能再嵌套放入類似section之類的元素。
8、不是所有的文字段落都適用p元素,如一段文字為聯系信息時,則應使用address元素。
9、定義列表的除了有ul和ol外,還有一種更加自定義的形式,它由三種元素的組合而成,分別是dl、dt和dd。
10、內容分組元素figure元素,它主要用于展示插圖、圖表、照片、代碼列表等。
11、HTML5加入了一種新的內容分組元素,用來指定頁面的主要內容,main元素,每一個頁面中最多只能有一個main元素,另外還有像水平分隔線的hr,表示源代碼的pre,代表引用的blockquote等都同樣屬于內容分組元素。
12、在過去HTML版本中,a還可以當成錨點,如<a name="a1"></a>,但在HTML5中把這一特性去掉了,當href屬性缺失時,它被視作一個占位符,而不會顯示為一個超鏈接。
13、span元素是一種常見的文本元素,但如果不對span設置樣式,則spqn中的文本和其他的文本看上去不會有任何差異。
14、在HTML5中有兩種表示強調的文本元素,分別為em和strong,em元素更多代表語義、語氣的加強,而strong則更加強調頁面文本的重要性、緊急程度等,瀏覽器中em默認的顯示為斜體,而strong則顯示為粗體。
15、big標記的文本顯示大于普通的段落文本,而small標記的文本則小于普通 的段落文本;當需要插入某句被引用的話,或者某段文字摘錄時,可以使用q元素,而當需要插入文獻的標題、作者、鏈接時使用cite元素,q元素默認在頭和尾加上雙引號,而cite元素默認顯示為斜體。
16、表單在制作時需要設置method和action屬性,分別用來指定表單提交數據的方式和目的頁面;數據提交的方式有兩種,get和post,get是把數據放在URL中,以明文的方式發送給后臺,它不能傳輸過大的數據,也不能傳輸文件類數據,而post是把數據放在數據體內再發給后臺,數據不能直接被看到,可傳輸的數據量較大,所以一般都選擇使用post方式。
17、在文本輸入框可以加入placeholder(占位符)屬性,值為框內顯示的文本,也可以為input元素添加required屬性使該表單項必填,也可以添加autofocus屬性使其自動獲得焦點,一般設置第一個字段。
18、HTML5為input元素增加了很多新的類型,如電話的tel,電子郵件的email,日期的date等。
19、radio表示單選按鈕,同一組的單選按鈕具有相同的name屬性,它的值由value屬性決定,checked屬性表示該按鈕默認選中。如:
<p>
<label for="sex">性別:</label>
<input type="radio" name="sex" value="male" checked>男
<input type="radio" name="sex" value="female">女
</p>
還可以使用分區度更高的fieldset元素,它可以對表單內容的一部分進行打包,生成一組相關的表單字段,它使用legend元素指定標題。
checkbox的input元素為復選框,checked屬性為選中狀態;select元素生成下拉菜單,元素使用option元素標記。
TML5 為前端開發者帶來了許多表單增強功能,這些功能使得創建交互式和用戶友好的表單變得更加容易。在本文中,我們將介紹幾種 HTML5 新增的表單功能,并提供完整的 HTML 示例,以幫助你了解如何在實際項目中應用這些功能。
HTML5 引入了一系列新的 input 類型,以支持更多種類的數據輸入,比如電子郵件、日期等。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>電子郵件和網址輸入示例</title>
<style>
body {
font-family: Arial, sans-serif; /* 設置字體 */
padding: 20px; /* 頁面內邊距 */
}
form {
max-width: 400px; /* 表單最大寬度 */
margin: 0 auto; /* 居中顯示 */
padding: 20px; /* 表單內邊距 */
border: 1px solid #ccc; /* 邊框樣式 */
border-radius: 5px; /* 邊框圓角 */
background-color: #f9f9f9; /* 背景顏色 */
}
label {
display: block; /* 使標簽獨占一行 */
margin-bottom: 5px; /* 標簽下方間距 */
font-weight: bold; /* 字體加粗 */
}
input[type="email"],
input[type="url"] {
width: 100%; /* 輸入框寬度 */
padding: 8px; /* 內邊距 */
margin-bottom: 20px; /* 與下一個元素的間距 */
border: 1px solid #ccc; /* 邊框樣式 */
border-radius: 4px; /* 邊框圓角 */
}
input[type="submit"] {
background-color: #007bff; /* 背景顏色 */
color: white; /* 字體顏色 */
padding: 10px 20px; /* 內邊距 */
border: none; /* 無邊框 */
border-radius: 4px; /* 邊框圓角 */
cursor: pointer; /* 鼠標樣式 */
font-size: 16px; /* 字體大小 */
}
input[type="submit"]:hover {
background-color: #0056b3; /* 鼠標懸停時的背景顏色 */
}
</style>
</head>
<body>
<form>
<label for="email">電子郵件:</label>
<input type="email" id="email" name="email" required>
<label for="url">個人網站:</label>
<input type="url" id="url" name="url">
<input type="submit" value="提交">
</form>
</body>
</html>
在這個示例中,我們使用了 type="email" 和 type="url" 來要求用戶輸入有效的電子郵件地址和網址。如果用戶輸入的不符合格式,瀏覽器會在提交表單前顯示一個警告。
placeholder 屬性允許我們在輸入字段中設置一個提示文本,當輸入字段為空時顯示,一旦開始輸入,提示文本就會消失。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>帶占位符的輸入框示例</title>
<style>
body {
font-family: Arial, sans-serif; /* 設置字體 */
padding: 20px; /* 頁面內邊距 */
}
form {
max-width: 300px; /* 表單最大寬度 */
margin: 0 auto; /* 居中顯示 */
padding: 20px; /* 表單內邊距 */
border: 1px solid #ccc; /* 邊框樣式 */
border-radius: 5px; /* 邊框圓角 */
background-color: #f9f9f9; /* 背景顏色 */
}
label {
display: block; /* 使標簽獨占一行 */
margin-bottom: 10px; /* 標簽下方間距 */
font-weight: bold; /* 字體加粗 */
}
input[type="search"] {
width: calc(100% - 22px); /* 輸入框寬度,減去內邊距和邊框的寬度 */
padding: 10px; /* 內邊距 */
margin-bottom: 20px; /* 與下一個元素的間距 */
border: 1px solid #ccc; /* 邊框樣式 */
border-radius: 4px; /* 邊框圓角 */
box-sizing: border-box; /* 盒子模型,使寬度包含邊框和內邊距 */
}
input[type="submit"] {
background-color: #007bff; /* 背景顏色 */
color: white; /* 字體顏色 */
padding: 10px 20px; /* 內邊距 */
border: none; /* 無邊框 */
border-radius: 4px; /* 邊框圓角 */
cursor: pointer; /* 鼠標樣式 */
font-size: 16px; /* 字體大小 */
}
input[type="submit"]:hover {
background-color: #0056b3; /* 鼠標懸停時的背景顏色 */
}
</style>
</head>
<body>
<form>
<label for="search">搜索:</label>
<input type="search" id="search" name="search" placeholder="請輸入搜索關鍵字">
<input type="submit" value="搜索">
</form>
</body>
</html>
這里的 placeholder="請輸入搜索關鍵字" 就是一個占位符,它會在用戶輸入之前顯示在搜索框中。
autofocus 屬性可以讓頁面加載時自動將焦點放到某個表單元素上。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>自動聚焦的輸入框示例</title>
</head>
<body>
<form>
<label for="name">姓名:</label>
<input type="text" id="name" name="name" autofocus>
<input type="submit" value="提交">
</form>
</body>
</html>
在這個示例中,當頁面加載完成后,姓名輸入框將自動獲得焦點。
HTML5 為表單驗證提供了內置支持,通過簡單的屬性如 required、min、max 和 pattern 等,可以在不使用 JavaScript 的情況下進行基本的驗證。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>表單驗證示例</title>
<style>
body {
font-family: 'Arial', sans-serif;
padding: 20px;
background-color: #f4f4f4;
}
form {
max-width: 400px;
margin: 0 auto;
padding: 20px;
background-color: #fff;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
label {
display: block;
margin-bottom: 10px;
font-weight: bold;
color: #333;
}
input[type="number"],
input[type="text"] {
width: 100%;
padding: 8px;
margin-bottom: 20px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box; /* 包括邊框和內邊距在內的寬度 */
}
input[type="submit"] {
width: 100%;
padding: 10px;
background-color: #007bff;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
}
input[type="submit"]:hover {
background-color: #0056b3;
}
input:invalid {
border-color: red;
}
input:valid {
border-color: green;
}
</style>
</head>
<body>
<form>
<label for="age">年齡:</label>
<input type="number" id="age" name="age" min="18" max="99" required>
<label for="zipcode">郵編:</label>
<input type="text" id="zipcode" name="zipcode" pattern="\d{5}" title="請輸入5位數字的郵編" required>
<input type="submit" value="提交">
</form>
</body>
</html>
在這個示例中,年齡字段要求用戶輸入一個介于 18 到 99 之間的數字,而郵編字段要求用戶輸入一個符合特定模式(5位數字)的文本。
HTML5 的表單增強功能大大簡化了表單處理和驗證的工作,使得開發更加高效,同時也提高了用戶體驗。通過上述示例,我們可以看到,利用 HTML5 的新特性,可以創建功能強大且易于使用的表單。隨著技術的不斷進步,我們作為開發者應該不斷學習和實踐,以便更好地利用這些新工具來構建更好的網頁。
們經常在設置生日的時候需要設置最大不能今天,年齡不能超過60歲等等; 其實可以很簡單就判斷了;
<script> $(function () { var date_now = new Date(); //得到當前年份 var year = date_now.getFullYear(); //得到當前月份 //注: // 1:js中獲取Date中的month時,會比當前月份少一個月,所以這里需要先加一 // 2: 判斷當前月份是否小于10,如果小于,那么就在月份的前面加一個 '0' , 如果大于,就顯示當前月份 var month = date_now.getMonth()+1 < 10 ? "0"+(date_now.getMonth()+1) : (date_now.getMonth()+1); //得到當前日子(多少號) var date = date_now.getDate() < 10 ? "0"+date_now.getDate() : date_now.getDate(); //設置input標簽的max屬性 $("#birthday").attr("max",year+"-"+month+"-"+date); //$("#birthday").attr("min",(year-59)+"-"+month+"-"+date); $("#birthday").attr("min",(year-59)+"-01-01"); }); </script>
下面是HTML 標簽
<div class="col-xs-12 col-sm-3">出生年月日<em>*</em> <input type="date" name="birthday" id="birthday" class="form-control" required /></div>
日期輸入類型還有一些其它屬性需要注意。
本地日期時間(<input type="datetime-local"/>)
日期+時間(<input type="datetime"/>) 支持不是很好,建議使用datetime-local
時間(<input type="time"/>)
月份(<input type="month"/>)
周(<input type="week"/>)
日期(<input type="date"/>)
*請認真填寫需求信息,我們會在24小時內與您取得聯系。