说明:
=====
1.1 html制作立方体。
1.2 滑动条调节长、宽、高,并自动生成体积和表面积。
1.3 熟悉和复习html的基本知识,主要是立方体的绘制和input滑动条制作等。
2 效果图:
3 第一步:
微软编辑器vscode打开,新建一个文件,保存cube.html;
英文状态下,! 加回车键(enter),新建html骨架。
4 第二步:css部分的style在head内;而body内有form和script,骨架图。
5 第三步:head内的css部分代码:(注释版)
<style>
/*网页整体设置*/
* {
/*网页背景颜色*/
background: black;
}
body {
/*overflow=网页上下和左右滑动条==隐藏=hodden*/
overflow: hidden;
}
/*表格-调节滑动条设置*/
form {
/*绝对定位,固定的*/
position: absolute;
/*绝对定位是通过下面的指标固定的*/
bottom: 0;
left: 0;
right: 0;
/*以上三个指标提示,表格-调节滑动条的位置是,底部0,左右均为0,代表在底部位置*/
/*背景颜色的方法:white=#efefef=白色*/
background: rgb(0, 225, 255);
/*内边距属性 padding复习*/
/* 应用到四条边 Apply to all four sides */
/* 顶部| 右边| 底部| 左边*/
padding: 0 0 0 1em;
/*padding: 1em复习;*/
/*“em”是一个相对的大小,1em=16px,建议采用em,不会因为改变UI控件而出现网页的崩溃*/
/*在CSS中,“em”实际上是一个垂直测量。一个em等于任何字体中的字母所需要的垂直空间,而和它所占据的水平空间没有任何的关系*/
/*1em = 16px 也就是 1px = 1 ÷ 16 = 0.0625em*/
/*居中*/
/*text-align: center;*/
}
</style>
6 第四步:body内的form部分的代码:(注释版),注意小的js代码就紧随input后面调用等等。
<!--表格-调节滑动条:立方体的长、宽、高和颜色的调节-->
<form style="width: 150px; height: 500px;">
<!--注意:x、z、y和color的顺序,就是水平由左向右的顺序-->
<!--x=长-->
<input type="text" style="width: 20px; height: 10px;color: white;" value="长">
<input type="range" max="400" min="0" value="100" id="x" onmousemove="xanxia()" /><br />
<span
id="lenghtx" style="width: 50px; height: 20px;color: white;"></span>
<br />
<script>
function xanxia() {
document.getElementById(
'lenghtx'
).innerHTML = document.getElementById('x').value
}
</script>
<!--z=宽-->
<input type="text" style="width: 20px; height: 10px;color: white;" value="宽">
<input type="range" max="400" min="0" value="100" id="z" onmousemove="zanxia()" /><br />
<span
id="lenghtz" style="width: 50px; height: 20px;color: white;"></span>
<br />
<script>
function zanxia() {
document.getElementById(
'lenghtz'
).innerHTML = document.getElementById('z').value
}
</script>
<!--y=高-->
<input type="text" style="width: 20px; height: 10px;color: white;" value="高">
<input type="range" max="400" min="0" value="100" id="y" onmousemove="yanxia()" /><br />
<span
id="lenghty" style="width: 50px; height: 20px;color: white;"></span>
<br />
<script>
function yanxia() {
document.getElementById(
'lenghty'
).innerHTML = document.getElementById('y').value
}
</script>
<!--初始化立方体的颜色:黄色==#DBFF3E-->
<input type="text" style="width: 40px; height: 10px;color: white;" value="颜色">
<input id="color" type="color" value="#DBFF3E">
<br />
<!--体积-->
<input type="text" style="width: 30px; height: 10px;color: white;" value="体积" onmousemove="ztiji()"/>
<br />
<span
id="tiji" style="width: 80px; height: 20px;color: white;"></span>
<br />
<script>
function ztiji() {
document.getElementById(
'tiji'
).innerHTML = document.getElementById('y').value*document.getElementById('x').value*document.getElementById('z').value
}
</script>
<!--表面积-->
<input type="text" style="width: 40px; height: 10px;color: white;" value="表面积" onmousemove="biaomianji()"/>
<br />
<span
id="bmianji" style="width: 80px; height: 20px;color: white;"></span>
<br />
<script>
function biaomianji() {
document.getElementById(
'bmianji'
).innerHTML = 2*((document.getElementById('y').value*document.getElementById('x').value)
+(document.getElementById('y').value*document.getElementById('z').value)+(document.getElementById('x').value*document.getElementById('z').value))
}
</script>
</form>
7 第五步:body的js=JavaScript代码部分。
<!--内置js代码块-->
<script type="text/javascript">
var canvas = document.createElement('canvas');//原生JS创建canvas
canvas.width = window.innerWidth;//画布的宽就是窗口显示区域的宽
canvas.height = window.innerHeight;//画布的宽就是窗口显示区域的高
document.body.appendChild(canvas); //画布挂在网页body上
//当前唯一的合法值是 "2d",它指定了二维绘图,并且导致这个方法返回一个环境对象,该对象导出一个二维绘图 API。
var ctx = canvas.getContext('2d');
var x = document.querySelector('#x');//找到x
var z = document.querySelector('#z');//找到z
var y = document.querySelector('#y');//找到y
var color = document.querySelector('#color');//找到color
// 定义画图draw函数
function draw() {
// 在给定范围内清空一个矩形
ctx.clearRect(0, 0, canvas.width, canvas.height);
// Wobble the cube using a sine wave
var wobble = Math.sin(Date.now() / 250) * window.innerHeight / 50;
// 画立方体
drawCube(
window.innerWidth / 2, //x坐标
window.innerHeight / 2 + wobble + y.value / 2, //y坐标
Number(x.value), //长
Number(z.value), //宽
Number(y.value), //高
color.value //cube立方体的表面颜色
);
requestAnimationFrame(draw);
}
draw();
// Colour adjustment function==调节颜色函数
function shadeColor(color, percent) {
color = color.substr(1);
var num = parseInt(color, 16),
amt = Math.round(2.55 * percent),
R = (num >> 16) + amt,
G = (num >> 8 & 0x00FF) + amt,
B = (num & 0x0000FF) + amt;
return '#' + (0x1000000 + (R < 255 ? R < 1 ? 0 : R : 255) * 0x10000 + (G < 255 ? G < 1 ? 0 : G : 255) * 0x100 + (B < 255 ? B < 1 ? 0 : B : 255)).toString(16).slice(1);
}
// 定义画立方体的函数
function drawCube(x, y, wx, wy, h, color) {
ctx.beginPath(); //开始一条路径,或重置当前的路径
ctx.moveTo(x, y); //来到这个坐标
ctx.lineTo(x - wx, y - wx * 0.5);
ctx.lineTo(x - wx, y - h - wx * 0.5);
ctx.lineTo(x, y - h * 1);
ctx.closePath();
ctx.fillStyle = shadeColor(color, -10);
ctx.strokeStyle = color;
ctx.stroke();
ctx.fill();
ctx.beginPath();
ctx.moveTo(x, y);
ctx.lineTo(x + wy, y - wy * 0.5);
ctx.lineTo(x + wy, y - h - wy * 0.5);
ctx.lineTo(x, y - h * 1);
ctx.closePath();
ctx.fillStyle = shadeColor(color, 10);
ctx.strokeStyle = shadeColor(color, 50);
ctx.stroke();
ctx.fill();
ctx.beginPath();
ctx.moveTo(x, y - h);
ctx.lineTo(x - wx, y - h - wx * 0.5);
ctx.lineTo(x - wx + wy, y - h - (wx * 0.5 + wy * 0.5));
ctx.lineTo(x + wy, y - h - wy * 0.5);
ctx.closePath();
ctx.fillStyle = shadeColor(color, 20);
ctx.strokeStyle = shadeColor(color, 60);
ctx.stroke();
ctx.fill();
}
</script>
8 完整代码:修改标题和删减注释等,稍微简洁些的代码。
<!DOCTYPE html>
<html>
<head>
<!--网页标题名-->
<title>高级可变的立方体悬浮</title>
<!--网页CSS设置-->
<style>
/*网页整体设置*/
* {
/*网页背景颜色*/
background: black;
}
body {
/*overflow=网页上下和左右滑动条==隐藏=hodden*/
overflow: hidden;
}
/*表格-调节滑动条设置*/
form {
/*绝对定位,固定的*/
position: absolute;
/*绝对定位是通过下面的指标固定的*/
bottom: 0;
left: 0;
right: 0;
/*背景颜色的方法:white=#efefef=白色*/
background: rgb(0, 225, 255);
/* 顶部| 右边| 底部| 左边*/
padding: 0 0 0 1em;
}
</style>
</head>
<body>
<!--表格-调节滑动条:立方体的长、宽、高和颜色的调节-->
<form style="width: 150px; height: 500px;">
<!--注意:x、z、y和color的顺序,就是水平由左向右的顺序-->
<!--x=长-->
<input type="text" style="width: 20px; height: 10px;color: white;" value="长">
<input type="range" max="400" min="0" value="100" id="x" onmousemove="xanxia()" /><br />
<span
id="lenghtx" style="width: 50px; height: 20px;color: white;"></span>
<br />
<script>
function xanxia() {
document.getElementById(
'lenghtx'
).innerHTML = document.getElementById('x').value
}
</script>
<!--z=宽-->
<input type="text" style="width: 20px; height: 10px;color: white;" value="宽">
<input type="range" max="400" min="0" value="100" id="z" onmousemove="zanxia()" /><br />
<span
id="lenghtz" style="width: 50px; height: 20px;color: white;"></span>
<br />
<script>
function zanxia() {
document.getElementById(
'lenghtz'
).innerHTML = document.getElementById('z').value
}
</script>
<!--y=高-->
<input type="text" style="width: 20px; height: 10px;color: white;" value="高">
<input type="range" max="400" min="0" value="100" id="y" onmousemove="yanxia()" /><br />
<span
id="lenghty" style="width: 50px; height: 20px;color: white;"></span>
<br />
<script>
function yanxia() {
document.getElementById(
'lenghty'
).innerHTML = document.getElementById('y').value
}
</script>
<!--初始化立方体的颜色:黄色==#DBFF3E-->
<input type="text" style="width: 40px; height: 10px;color: white;" value="颜色">
<input id="color" type="color" value="#DBFF3E">
<br />
<!--体积-->
<input type="text" style="width: 30px; height: 10px;color: white;" value="体积" onmousemove="ztiji()"/>
<br />
<span
id="tiji" style="width: 80px; height: 20px;color: white;"></span>
<br />
<script>
function ztiji() {
document.getElementById(
'tiji'
).innerHTML = document.getElementById('y').value*document.getElementById('x').value*document.getElementById('z').value
}
</script>
<!--表面积-->
<input type="text" style="width: 40px; height: 10px;color: white;" value="表面积" onmousemove="biaomianji()"/>
<br />
<span
id="bmianji" style="width: 80px; height: 20px;color: white;"></span>
<br />
<script>
function biaomianji() {
document.getElementById(
'bmianji'
).innerHTML = 2*((document.getElementById('y').value*document.getElementById('x').value)
+(document.getElementById('y').value*document.getElementById('z').value)+(document.getElementById('x').value*document.getElementById('z').value))
}
</script>
</form>
<!--内置js代码块-->
<script type="text/javascript">
var canvas = document.createElement('canvas');//原生JS创建canvas
canvas.width = window.innerWidth;//画布的宽就是窗口显示区域的宽
canvas.height = window.innerHeight;//画布的宽就是窗口显示区域的高
document.body.appendChild(canvas); //画布挂在网页body上
//当前唯一的合法值是 "2d",它指定了二维绘图,并且导致这个方法返回一个环境对象,该对象导出一个二维绘图 API。
var ctx = canvas.getContext('2d');
var x = document.querySelector('#x');//找到x
var z = document.querySelector('#z');//找到z
var y = document.querySelector('#y');//找到y
var color = document.querySelector('#color');//找到color
// 定义画图draw函数
function draw() {
// 在给定范围内清空一个矩形
ctx.clearRect(0, 0, canvas.width, canvas.height);
// Wobble the cube using a sine wave
var wobble = Math.sin(Date.now() / 250) * window.innerHeight / 50;
// 画立方体
drawCube(
window.innerWidth / 2, //x坐标
window.innerHeight / 2 + wobble + y.value / 2, //y坐标
Number(x.value), //长
Number(z.value), //宽
Number(y.value), //高
color.value //cube立方体的表面颜色
);
requestAnimationFrame(draw);
}
draw();
// Colour adjustment function==调节颜色函数
function shadeColor(color, percent) {
color = color.substr(1);
var num = parseInt(color, 16),
amt = Math.round(2.55 * percent),
R = (num >> 16) + amt,
G = (num >> 8 & 0x00FF) + amt,
B = (num & 0x0000FF) + amt;
return '#' + (0x1000000 + (R < 255 ? R < 1 ? 0 : R : 255) * 0x10000 + (G < 255 ? G < 1 ? 0 : G : 255) * 0x100 + (B < 255 ? B < 1 ? 0 : B : 255)).toString(16).slice(1);
}
// 定义画立方体的函数
function drawCube(x, y, wx, wy, h, color) {
ctx.beginPath(); //开始一条路径,或重置当前的路径
ctx.moveTo(x, y); //来到这个坐标
ctx.lineTo(x - wx, y - wx * 0.5);
ctx.lineTo(x - wx, y - h - wx * 0.5);
ctx.lineTo(x, y - h * 1);
ctx.closePath();
ctx.fillStyle = shadeColor(color, -10);
ctx.strokeStyle = color;
ctx.stroke();
ctx.fill();
ctx.beginPath();
ctx.moveTo(x, y);
ctx.lineTo(x + wy, y - wy * 0.5);
ctx.lineTo(x + wy, y - h - wy * 0.5);
ctx.lineTo(x, y - h * 1);
ctx.closePath();
ctx.fillStyle = shadeColor(color, 10);
ctx.strokeStyle = shadeColor(color, 50);
ctx.stroke();
ctx.fill();
ctx.beginPath();
ctx.moveTo(x, y - h);
ctx.lineTo(x - wx, y - h - wx * 0.5);
ctx.lineTo(x - wx + wy, y - h - (wx * 0.5 + wy * 0.5));
ctx.lineTo(x + wy, y - h - wy * 0.5);
ctx.closePath();
ctx.fillStyle = shadeColor(color, 20);
ctx.strokeStyle = shadeColor(color, 60);
ctx.stroke();
ctx.fill();
}
</script>
</body>
</html>
===完美===
学习python的人,有必要知道一点html、css、js=JavaScript。
喜欢的人,点赞、关注、评论、转发和收藏。
当今信息爆炸的时代,写作已经成为了一项不可或缺的技能。而在这个数字化时代,人工智能也逐渐渗透到各个领域,包括写作。ai文章自动生成代码正是其中的一项重要应用。作为一位资深的写作教练,我将与大家分享一些打造高效的ai文章自动生成代码技巧。
1.熟悉编程语言
首先,在开始使用ai文章自动生成代码之前,我们需要熟悉所使用的编程语言。掌握Python、JavaScript等常用编程语言对于理解和运用ai文章自动生成代码至关重要。
2.理解自然语言处理原理
ai文章自动生成代码的核心是自然语言处理(NLP)。理解NLP的基本原理和常见算法,比如词向量、文本分类、序列生成等,可以帮助我们更好地利用ai生成高质量的文章。
3.收集并整理大量文本数据
为了让ai文章自动生成代码更加准确和有趣,我们需要收集并整理大量的文本数据作为训练样本。这些数据可以来自于网络、书籍、论文等各种来源。同时,我们还需要对数据进行清洗和预处理,以提高训练效果。
4.设计合适的模型架构
在使用ai文章自动生成代码时,我们需要设计合适的模型架构。可以选择基于循环神经网络(RNN)、长短期记忆网络(LSTM)或者变换器(Transformer)等常见的NLP模型。根据具体需求和数据特点进行调整和优化。
5.进行模型训练和调优
完成模型架构设计后,我们需要进行模型的训练和调优。通过迭代训练和调整超参数,不断提升模型在生成文章方面的能力。同时,注意避免过拟合和欠拟合问题,以保证生成文章的质量。
6.结果评估和改进
在使用ai文章自动生成代码之后,我们需要对生成的结果进行评估和改进。可以利用人工评估、自动评估指标等方法来评判生成文章的质量,并根据反馈结果进行相应的改进。
7.注意版权和伦理问题
在使用ai文章自动生成代码时,我们要注意尊重版权和伦理问题。避免直接复制他人作品,并注意不要产生误导或有害信息。同时,也要遵守相关法律法规和道德规范。
8.结合人工编辑进行优化
9.不断学习和探索新技术
最后,作为一名写作教练,我鼓励大家不断学习和探索新技术。ai文章自动生成代码只是技术的一小部分,未来还会有更多创新的应用。保持学习的态度,与时俱进,才能在写作领域中不断进步。
通过以上九个方面的经验分享,我们可以更好地打造高效的ai文章自动生成代码技巧。希望这些经验对大家有所启发,并能在写作过程中发挥巨大的帮助作用。让我们一起迎接数字化时代的挑战,创造出更加优秀的作品!
寻找热爱表达的你#
"一键将网页截图制作成HTML网页"是指一种技术,它允许用户通过简单的操作,将网页的截图转换成HTML代码的网页。这通常涉及到自动布局、样式提取和代码生成。以下是实现这一功能的相关技术和步骤:
1. 截图捕捉:首先,需要有一个方法来捕捉网页的截图,这可以通过浏览器插件、屏幕捕获工具或专门的应用程序来完成。
2. 图像处理:捕捉到的截图可能需要进行预处理,比如裁剪、压缩或调整分辨率,以确保图像的质量。
3. 元素识别:使用图像识别技术来分析截图,识别网页中的元素,比如文本、按钮、图片等。
4. 布局分析:基于识别出的元素,分析页面的布局信息,包括元素的大小、位置和层级。
5. 样式解析:提取页面的样式信息,包括颜色、字体、间距等,并将它们转换为CSS代码。
6. HTML生成:根据布局和样式信息,生成HTML结构代码,将截图中的元素转换为HTML标签。
7. 代码优化:对生成的HTML代码进行优化,确保代码的可读性、维护性和性能。
8. 响应式设计:确保生成的网页代码能够适应不同的屏幕尺寸和设备,实现响应式布局。
9. 交互性实现:如果截图中的页面包含交互元素,需要添加相应的JavaScript代码来实现这些交互。
10. 一键操作:提供一个简单的用户界面,用户只需点击一个按钮,就可以完成截图到HTML的转换。
11. 预览功能:在转换过程中提供实时预览,让用户可以实时看到转换效果。
12. 自定义选项:允许用户对生成的HTML代码进行自定义,比如修改布局、添加额外的样式或功能。
13. 保存和导出:用户可以保存或导出生成的HTML代码,以便进一步使用或分享。
14. 错误处理:在转换过程中识别和处理潜在的错误,比如布局冲突或样式问题。
15. 兼容性测试:确保生成的网页在不同的浏览器和设备上都能正常显示和工作。
16. 安全性考虑:生成的代码应遵循安全最佳实践,避免潜在的安全风险。
17. 用户反馈:收集用户反馈,不断改进转换算法和用户体验。
18. 开源和社区支持:作为开源项目,鼓励社区参与贡献代码和改进功能。
这种一键转换技术可以大大提高网页开发的效率,尤其是对于快速原型设计和演示目的。然而,需要注意的是,自动生成的代码可能需要进一步的人工审查和调整,以确保最终产品的质量和性能。此外,一些复杂的网页效果和动态交互可能需要手动编写代码来实现。
*请认真填写需求信息,我们会在24小时内与您取得联系。