先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
正文
HTML拖放
拖放是一种常见的特性,即抓取对象以后拖到另一个位置,在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。浏览器支持:( Internet Explorer 9(注意是IE9以后才能支持)、Firefox、Opera 12、Chrome 以及 Safari 5 支持拖放 )今天我们以图片拖动举例:
| 事件 | 描述 |
| — | — |
| ondragstart | 用户开始拖动元素时触发 |
| ondrag | 元素正在拖动时触发 |
| ondragend | 用户完成元素拖动后触发 |
| ondragenter | 当被鼠标拖动的对象进入其容器范围内时触发此事件 |
| ondragover | 当被拖动的对象在另一对象容器范围内拖动时触发此事件 |
| ondragleave | 当被鼠标拖动的对象离开其容器范围内时触发此事件 |
| ondrop | 在一个拖动过程中,释放鼠标键时触发此事件 |
其中最应该了解的是:
设置元素为可拖放:draggable=“true” (图片和链接默认是可拖动的,不需设置)
拖动什么:ondragstart 和 setData()
放到何处:ondragover
进行放置:ondrop
代码展示 (因为拖动需要借助CSS和JS,不了解的人权当提前学习一下):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#div1{
width: 400px;
height: 400px;
border: 1px solid #008c8c;
}
</style>
<script>
// 创作一个可以选中的操作
function allowDrop(ev){
// 阻止一下冒号事件
ev.preventDefault();
}
// 如何操作放置
function drag(ev){
ev.dataTransfer.setData("Text",ev.target.id);
}
// 拖动
function drop(ev){
ev.preventDefault();
var data = ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>
<p>请拖动图片</p>
<!-- 设置拖到放置的位置 -->
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)" ></div>
<!-- 为了操作图片元素给一个id,是否可以拖放,给个true -->
<img id="drag1" src="./images/img1.jpg" draggable="true" ondragstart="drag(event)" width="200px" height="200px">
</body>
</html>
HTML画布
画布(canvas标签)是一个矩形区域,您可以控制其每一个像素,拥有多种绘制路径、矩形、圆形 字符、以及添加图像的方法。因为是画布所以要求宽高才能进行操作,其基本格式如下:
<canvas id="canvas" width="500px" height="500px"></canvas>
通过JS来给画布设置样式
<script>
// 获取当前画布的id
// Vscode使用canvas无方法代码提示,需要在获取DOM前加如下代码
/** @type {HTMLCanvasElement} */
var c = document.getElementById("canvas");
// 代表的是只能绘制2D图形
var cxt = c.getContext("2d");
// 指定画笔的颜色
// cxt.fillStyle = "#ff0000";
// 绘制正方形
// cxt.fillRect(0,0,100,100);
// 绘制圆形
// cxt.beginPath();
// cxt.arc(70,18,15,0,Math.PI*2,true);
// cxt.closePath();
// cxt.fill();
// 绘制图片
var img = new Image();
img.onload = function(){
cxt.drawImage(img,0,0);
}
img.src = 'img1.jpg'
</script>
因为图片是现成的,所以是不需要画笔,注释掉,像绘制图形(正方形和圆形)是需要画笔来呈现的
HTMLSVG
什么是SVG?:
SVG指可伸缩矢量图形(Scalable Vector Graphics)
SVG用于定义用于网络的基于矢量的图形
SVG 使用XML格式定义图形
SVG图像在放大或改变尺寸的情况下其图形质量不会有损失
SVG是万维网联盟的标准
SVG的优势:
与其他图像格式相比(比如JPEG和GIF),使用SVG的优势在于:
SVG图像可通过文本编辑器来创建和修改
SVG图像可被搜索、索引、脚本化或压缩SVG是可伸缩的
SVG是可伸缩的
SVG图像可在任何的分辨率下被高质量打印
SVG可在图像质量不下降的情况下被放大
浏览器支持:
lnternet Explorer 9、Firefox、Opera、Chrome 以及 Safari支持内联 SVG。
其基本格式如下:
<!-- 自己规定盒子大小 -->
<svg viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>
举例描述一下圆形图形
<body>
<svg viewBox="0 0 120 120" version="1.1" xmlns="http://www.w3.org/2000/svg">
<circle cx="60" cy="60" r="50"></circle>
</svg>
</body>
当然也可以更加方便的将svg单独放在一个 svg.svg 文件里,想要使用图行的时候引用即可。
<body>
<iframe src="svg.svg" frameborder="0" width="1000" height="1000"></iframe>
</body>
更过内容请参考 MDN 上SVG属性,里面详细介绍了各种图形,这里就不在一一赘述。
🍃HTML的学习还是要以多练习为主,想要练习HTML的朋友,推荐可以去牛客网看一看,链接:牛客网 里面的IT题库内容很丰富,属于国内做的很好的了,最重要的是里面的资源是免费的,是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,感兴趣的可以去看看。
个人总结:
结尾
学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-C7uyFphr-1713422736949)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!