TML常用標簽有:a標簽、table標簽、img標簽、form標簽和input標簽。
作用
屬性
(一)href
href是hyper reference的縮寫,超鏈接的意思。
用于指定鏈接目標的ur地址,(必須屬性)當為標簽應用href屬性時,它就具有了超鏈接的功能;
href=“#”表示這是一個空鏈接;
如果href里面地址是—個文件或者壓縮包,會下載這個文件。
<a href="https://google.com">超鏈接到google網(wǎng)站的主頁</a>
<a href="https://google.com">超鏈接到google的主頁</a>
<a href="//google.com">超鏈接到google的主頁</a>
展現(xiàn)形式:
點擊此鏈接,即可到達google的主頁
a標簽href的取值:
1、上述代碼中的網(wǎng)址的取值(推薦使用第三行的代碼)
<a href="//google.com">超鏈接到google的主頁</a>
由于此方式能夠自動補齊相關的網(wǎng)絡地址,前面兩種寫錯就會報錯,所以推薦使用。
2、路徑
當前路徑下的a里面的b,b里面的c
在當前目錄下尋找index.html文件
3、偽協(xié)議
<a href="javascript:;">點擊后無任何點擊或刷新等動作的反應</a>
<a href="#要跳轉(zhuǎn)的元素的id"></a>
點擊鏈接的時候,會跳轉(zhuǎn)到指定元素所在的位置。
<a href="mailto:abcdefg@163.com ">發(fā)郵件給我</a>
<a href="tel:12345678901">打電話給我</a>
(二)targe
用于指定鏈接頁面的打開方式
a的target取值
1、內(nèi)置名字
_blank 在空白頁打開
_self 在當前頁面打開
_parent 在父級窗口打開
_top 在最頂級的窗口打開
<a href="//google.com" target="_blank">超鏈接到google網(wǎng)站的主頁在空白頁打開</a>
2、程序員的命名
window:name(在xxx頁面打開)
iframe的name(iframe現(xiàn)在已經(jīng)很少使用了,是指內(nèi)嵌窗口)
(三)download
下載頁面,但目前很少用,有的瀏覽器不支持,尤其是手機瀏覽器可能不支持。
1、table標簽的語法:
thead:表頭
tbody:表的內(nèi)容,用于定義
tfoot:表的腳部
tr:table row,表格里的行
th:表格的表頭部分,其中的文本內(nèi)容字體加粗居中顯示
td:table data,表格數(shù)據(jù),用于定義表格中的單元格
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<table>
<thead>
<tr>
<th></th>
<th>小紅</th>
<th>小黃</th>
<th>小藍</th>
</tr>
</thead>
<tbody>
<tr>
<th>數(shù)學</th>
<td>90</td>
<td>60</td>
<td>80</td>
</tr>
<tr>
<th>語文</th>
<td>88</td>
<td>95</td>
<td>97</td>
</tr>
<tr>
<th>英語</th>
<td>88</td>
<td>95</td>
<td>97</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>總分</th>
<td>266</td>
<td>250</td>
<td>274</td>
</tr>
</tfoot>
</table>
</body>
</html>
第一行的th標簽為空
2、table的樣式
table-layout:auto;自動計算每一行的寬高
table-layout:fixed;通過列表的寬度來決定平均寬度
border-collapse:collapse; 合并邊框(默認邊框與邊框之間不合并)
border-spacing:0;邊框為0.(邊框與邊框之間的距離)。
作用:發(fā)出get請求,展示一張圖片。
<img src="1.JPG" alt="頭像" width="400" />
當前路徑下的1.jpg,確定寬度為400,只寫寬度高度會自適應
屬性
alt:alternate的縮寫,替換的意思。替換文本,圖像不能顯示的文字。
路徑錯誤顯示alt內(nèi)容
title:提示文本。鼠標放到圖像上,顯示的文字。
響應
max-width:100% 所有的圖片在手機上都自適應寬度,寬度最大為100%。
事件
onload/onerror 監(jiān)聽圖片是否加載成功,加載成功時用onload,不成功是用onerror事件。確保在onerror事件能夠補救。
<body>
<img id="xxx" src="dog.jpg" alt="一只小狗">
<script>
xxx.onload = function () {
console.log("圖片加載成功");
};
xxx.onerror = function () {
console.log("圖片加載失敗");
xxx.src = "/404.jpg";
};
</script>
</body>
監(jiān)聽成功時,打印出成功
監(jiān)聽失敗時,先打印出監(jiān)聽失敗并且開始執(zhí)行加載失敗是的挽救圖片。404.jpg文件執(zhí)行
本文為作者本人的原創(chuàng)文章,著作權歸作者本人和饑人谷所有,轉(zhuǎn)載務必注明來源。
程序開發(fā)過程中,有時候需要對一個目錄下的文件進行批量操作。如果我們手動去一個個查找、處理,那么效率極低,還容易出錯。因此,我們可以使用node.js,來實現(xiàn)一個遍歷指定目錄下所有文件并生成json的腳本。
node.js是一種流行的后端JavaScript運行時環(huán)境,基于Chrome V8引擎構建。它使得JavaScript代碼能夠在服務器上被執(zhí)行,同時還支持網(wǎng)絡編程協(xié)議,并提供了豐富的庫和工具鏈,方便開發(fā)人員快速構建高性能、可擴展的應用程序。
我們將使用node.js,實現(xiàn)一個遞歸遍歷指定目錄下所有文件的方法。假設我們要遍歷的目錄名為dir,那么我們可以采用以下步驟:
1、使用fs.readdirSync(dir)方法讀取目錄中的所有文件和子目錄;
2、對每個文件和子目錄進行判斷:
* 如果是目錄,則遞歸調(diào)用本方法;
* 如果是文件,則記錄其路徑并添加到一個數(shù)組中。
示例代碼:
const fs = require('fs');
const path = require('path');
function traverseDir(dir) {
const result = [];
const files = fs.readdirSync(dir);
for (const file of files) {
const filePath = path.join(dir, file);
if (fs.statSync(filePath).isDirectory()) {
// 如果是目錄,則遞歸調(diào)用本方法
result.push(...traverseDir(filePath));
} else {
// 如果是文件,則記錄其路徑
result.push(filePath);
}
}
return result;
}
const files = traverseDir('./dir');
console.log(files);
有了遍歷指定目錄下所有文件的方法,我們接下來,可以將這些文件名組成的數(shù)組,轉(zhuǎn)化為一個JSON對象。假設我們要生成的json文件名為 result.json ,那么我們可以按照以下步驟進行操作:
1、初始化一個空數(shù)組;
2、遍歷處理得到的所有文件名,并使用path.parse()方法獲取每個文件的基本信息;
3、將每個文件的基本信息包裝成一個對象并添加到數(shù)組中;
4、將這個數(shù)組寫入到result.json文件中。
示例代碼:
const fs = require('fs');
const path = require('path');
function traverseDir(dir) {
const result = [];
const files = fs.readdirSync(dir);
for (const file of files) {
const filePath = path.join(dir, file);
if (fs.statSync(filePath).isDirectory()) {
result.push(...traverseDir(filePath));
} else {
result.push({
filename: path.basename(filePath),
extname: path.extname(filePath),
path: filePath,
});
}
}
return result;
}
const files = traverseDir('./dir');
fs.writeFileSync('result.json', JSON.stringify(files, null, 2));
如果您需要一個樹形結(jié)構的數(shù)據(jù)格式,我們稍加改動上面的示例代碼即可。
示例代碼:
const fs = require("fs");
const path = require("path");
// 遍歷指定目錄下的所有文件,并將信息保存到JSON對象中
function traverseDirToTree(dir) {
const result = [];
const files = fs.readdirSync(dir);
for (const file of files) {
const filePath = path.join(dir, file);
const stat = fs.statSync(filePath);
// 如果是文件夾,遞歸遍歷
if (stat.isDirectory()) {
result.push({
name: file,
type: "directory",
children: traverseDirToTree(filePath),
});
} else {
result.push({
name: file,
type: "file",
size: stat.size,
modified: stat.mtime,
});
}
}
return result;
}
const files = traverseDirToTree("./dir");
fs.writeFileSync("result.json", JSON.stringify(files, null, 2));
希望本文能夠?qū)δ兴鶐椭兄x您的閱讀!
人人為我,我為人人,謝謝您的瀏覽,我們一起加油吧。
jango并不象其他WEB語言,可以在前端頁面指定圖片,CSS等靜態(tài)資源的路徑就能直接訪問。
要使用靜態(tài)資源,還需要一些必要的設置。
1,在項目app目錄中新建一個static目錄
static目錄再創(chuàng)建一個css目錄,放一個style.css文件
在static目錄放一個 1.png 圖片
2,配置項目的settings.py文件
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static').replace('\', '/'),
)
3,配置urls.py文件
加入如下url:
url(r'^static/(?P<path>.*)', serve, {'document_root': '/myweb/web/static'}),
配置完后就可以在前端頁面使用靜態(tài)資源了,
比如引用css文件:<link rel="stylesheet" href="./static/css/style.css">
比如引用圖片:<img src="static/1.png">
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。