整理了一下里面對我們自己通過 LLM 生成代碼可能有用的提示詞和經驗。感興趣可以看看。
他們發現第一次生成的網頁通常質量不太行,但是第二次增強提示之后 GPT-4V 生成網頁代碼質量明顯變好,下面是對應提示詞。
第一次代碼生成提示詞:
假設你是一位精通HTML和CSS的網頁開發專家。當用戶提供一張網頁的截圖給你時,你的任務是創建一個HTML文件。這個文件需要用HTML和CSS編碼來精確還原截圖中的網站設計。重要的是,所有的CSS樣式代碼都要直接寫在HTML文件里,而不是鏈接到其他文件。
如果原網頁中有圖片,你可以用一個名為"rick.jpg"的圖片作為所有圖片的替代品。即便網頁中的某些圖片已經被藍色的矩形占位符替代了,你同樣需要使用"rick.jpg"作為這些位置的圖片。記住,你的HTML文件中不應包含任何外部文件的鏈接。
此外,這個任務不需要你使用JavaScript編寫動態交互腳本。你的重點應該放在復原網頁元素的大小、文本、位置、顏色以及整體布局上。最終,你需要提供完整的HTML文件內容,其中包含了所有必要的CSS樣式代碼。
增強提示詞:
作為一名擅長HTML和CSS的網頁開發高手,你面臨的挑戰是修改一個已有的HTML文件。這個文件是用來構建一個網頁的,但它目前有一些缺失或錯誤的部分,使得它與原網頁有所不同。我將向你展示我想要創建的網頁原型和目前HTML實現的網頁效果。同時,我也會提供你我想在網頁中包含的所有文本。
你的任務是仔細比較這兩個網頁,并根據提供的文本內容,修改原始的HTML代碼。你需要確保新的實現在外觀上與參考網頁完全一致。在編碼時,要保證HTML代碼語法正確,能夠生成一個結構完整的網頁。對于需要圖片的地方,你可以暫時用一個名為"rick.jpg"的圖片作為占位符。
在進行代碼修訂時,請特別注意網頁元素的大小、文本內容、位置布局和顏色等方面,確保最終的布局和原網頁高度相似。完成后,請直接提供新修訂的HTML文件內容,無需附加任何解釋。
LLM 通過設計生成代碼未來重點和研究方向:
◆為多模態大語言模型開發更有效的提示技巧,尤其是在處理復雜網頁設計時,例如通過分步驟生成網頁的不同部分。
◆使用真實世界的網頁內容來訓練開放源代碼的多模態大語言模型。我們的初步實驗表明,直接在真實的網頁上進行訓練存在挑戰,因為這些網頁往往內容繁雜、數據雜亂。未來的研究可能會探索數據清洗和優化的方法,以實現更穩定有效的訓練過程。
◆超越傳統的截圖輸入方式,例如,嘗試使用前端設計師的Figma框架或手繪草圖作為測試輸入。這種方法的擴展還需要我們仔細地重新設計評估體系。
◆將研究范圍從靜態網頁擴展到動態網頁。這意味著評估過程需要考慮網頁的交互功能,而不僅僅是視覺效果的相似性。
TML常用標簽有:a標簽、table標簽、img標簽、form標簽和input標簽。
作用
屬性
(一)href
href是hyper reference的縮寫,超鏈接的意思。
用于指定鏈接目標的ur地址,(必須屬性)當為標簽應用href屬性時,它就具有了超鏈接的功能;
href=“#”表示這是一個空鏈接;
如果href里面地址是—個文件或者壓縮包,會下載這個文件。
<a href="https://google.com">超鏈接到google網站的主頁</a>
<a href="https://google.com">超鏈接到google的主頁</a>
<a href="//google.com">超鏈接到google的主頁</a>
展現形式:
點擊此鏈接,即可到達google的主頁
a標簽href的取值:
1、上述代碼中的網址的取值(推薦使用第三行的代碼)
<a href="//google.com">超鏈接到google的主頁</a>
由于此方式能夠自動補齊相關的網絡地址,前面兩種寫錯就會報錯,所以推薦使用。
2、路徑
當前路徑下的a里面的b,b里面的c
在當前目錄下尋找index.html文件
3、偽協議
<a href="javascript:;">點擊后無任何點擊或刷新等動作的反應</a>
<a href="#要跳轉的元素的id"></a>
點擊鏈接的時候,會跳轉到指定元素所在的位置。
<a href="mailto:abcdefg@163.com ">發郵件給我</a>
<a href="tel:12345678901">打電話給我</a>
(二)targe
用于指定鏈接頁面的打開方式
a的target取值
1、內置名字
_blank 在空白頁打開
_self 在當前頁面打開
_parent 在父級窗口打開
_top 在最頂級的窗口打開
<a href="//google.com" target="_blank">超鏈接到google網站的主頁在空白頁打開</a>
2、程序員的命名
window:name(在xxx頁面打開)
iframe的name(iframe現在已經很少使用了,是指內嵌窗口)
(三)download
下載頁面,但目前很少用,有的瀏覽器不支持,尤其是手機瀏覽器可能不支持。
1、table標簽的語法:
thead:表頭
tbody:表的內容,用于定義
tfoot:表的腳部
tr:table row,表格里的行
th:表格的表頭部分,其中的文本內容字體加粗居中顯示
td:table data,表格數據,用于定義表格中的單元格
<!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>數學</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.(邊框與邊框之間的距離)。
作用:發出get請求,展示一張圖片。
<img src="1.JPG" alt="頭像" width="400" />
當前路徑下的1.jpg,確定寬度為400,只寫寬度高度會自適應
屬性
alt:alternate的縮寫,替換的意思。替換文本,圖像不能顯示的文字。
路徑錯誤顯示alt內容
title:提示文本。鼠標放到圖像上,顯示的文字。
響應
max-width:100% 所有的圖片在手機上都自適應寬度,寬度最大為100%。
事件
onload/onerror 監聽圖片是否加載成功,加載成功時用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>
監聽成功時,打印出成功
監聽失敗時,先打印出監聽失敗并且開始執行加載失敗是的挽救圖片。404.jpg文件執行
本文為作者本人的原創文章,著作權歸作者本人和饑人谷所有,轉載務必注明來源。
html網頁中顯示html代碼
方法1
<textarea> 這里是代碼<!DOCTYPE HTML><html lang="zh-CN"> <meta charset="UTF-8"> </textarea>
<textarea> 這里是代碼<!DOCTYPE HTML><html lang="zh-CN"> <meta charset="UTF-8"> </textarea>
效果
*請認真填寫需求信息,我們會在24小時內與您取得聯系。