【HTML】炼虚篇,2024年最新面试官打断

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

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性能相关的书籍,以及设计者模式,在实践中都会用的到。

html5

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

html5

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-C7uyFphr-1713422736949)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值