整理了一下里面对我们自己通过 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小时内与您取得联系。