前端入门——day1(简介及推荐书籍和网站)

news/2024/4/28 2:49:15/文章来源:https://blog.csdn.net/weixin_34367845/article/details/88708147

图片描述

写给谁

这篇文章写给想要入门前端或者刚入门前端的小白~
如果是已经工作好几年的小伙伴们可以直接跳过这一系列文章啦。

为啥写这篇文章

终于决定给自己挖这个坑了,之前一直没打算写这样的系列文章。回想起自己的前端历程,走了不少弯路,希望这个系列的文章可以帮小白们少走弯路,快速入门。

不同的地方

  • 不会一天一更,因为白天要上班,晚上回去还要忙着准备一些其他的事情,会尽量做到两到三天一更,大家见谅啦~
  • 不会有很多很复杂的概念,我会用自己的语言表达出来,尽量精简,容易理解。
  • 会结合自己实际开发中用到的一切,讲自己踩过的坑,要注意的点,尽量做到把我会的都教给大家。
  • 不讲太旧的东西,像IE6兼容的问题之类的,需求已经很少很少了。
  • 会推荐合适的书,合适的网站给大家学习

开始咯

什么是前端,前端要做什么

嘿嘿嘿,简单来说,你正在浏览的这个网页,上面的按钮,文字,图片之类的,都是前端工程师展现给你看的。这样的页面又叫H5页面,通常来说,前端负责页面的展示和页面逻辑,后端负责提供数据,比如数据库的增删改查等等。

前端要学哪些东西

说实话,很多,目前实际开发中,一个前端要学以下东西(甚至更多):

  • 基础: HTML + CSS + Javascript
  • 框架: Vue或者React或者Angular (一般学一个即可,建议可学Vue, 后面的文章也只会讲Vue)
  • 打包工具: webpack或者gulp或者grunt (主流是Webpack)
  • npm: 包管理(会用就行,不必深究)
  • git: 版本控制工具(多人协作开发时)

是不是有点慌,哈哈哈不着急,一个一个来。

事实上当你学会了基础,那么就可以进行网页开发了,而且也能在很短的时间内学会框架,而一旦掌握了基础和框架,那么正式开发中所需要的技能就基本上都具备了,其他的东西都是一些工具。

所以,基础最重要。今天就讲讲基础,该怎么学,有哪些好的学习资源以及要看哪些书。

准备工作

下载并安装Vscode,Vscode是一款超赞的IDE,所谓IDE就是用来写代码的工具,提供代码高亮补全之类的功能,反正就是前端开发必备啦!

关于HTML,Javascript,CSS的关系

这三个代表三种不同的语言,也对应着三种不同的文件,分别以.html, .js, .css结尾。这三种文件组合起来就形成了我们所看到的网页。相辅相成,负责不同的功能。
拿盖房子来类比:

  • HTML就是搭建好的毛坯房,搭好了架子,样子丑丑的,里边也住不了人,因为里边啥也没有,电器啥的都没有。
  • CSS就是搞装修,把网页整的漂漂亮亮的。
  • Javascript就是控制房子里的逻辑,比如说打开门,打开空调,打开电视机等等等等。

所以:

  • HTML负责网页的基本架构,你想要在页面上有个按钮,就需要在HTML文件里写一个<button>点我</button> 标签
  • css负责网页的美化,比如设置按钮的背景色,background-color: red;
  • Javascrip负责控制点击按钮发生的事情,比如点击时出现一个警告窗。

把三种文件连接起来

  • 新建一个文件夹,用vscode打开这个文件夹,然后在该文件夹下分别新建day1.html, day1.css, day1.js三个文件。
  • day1.html里输入一个感叹号!然后按下tab键(注意该感叹号是英文的感叹号,而不是中文的),会自动生成下面的HTML代码。
<!DOCTYPE html>
<html lang="en">
<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></body>
</html>
  • 然后在<body></body>之间添加一个button标签<button class="my-button">点我</button>,这样就可以显示出一个按钮。
  • 在title的下面添加<link rel="stylesheet" href="./day1.css">,这样就引入了CSS文件。
  • </body>的上面一行添加<script src="./day1.js"></script>,这样就引入了Js文件。得到的最终代码如下:
<!DOCTYPE html>
<html lang="en">
<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><link rel="stylesheet" href="./day1.css">
</head>
<body><button class="my-button">点我</button><script src="./day1.js"></script>
</body>
</html>

这样我们便把这三种不同的文件连接起来了,虽然目前CSS和JS里什么都没有,后面再具体往里边加东西。现在你可以用浏览器打开day1.html看下样子了

ps: script标签和link标签里的./代表当前目录下,如果想表示上一层目录则要用../

HTML

HTML入门真的花不了多少时间,要明白以下几点就好了。

  • HTML是一门标签语言,即由一个个标签组成,通常是一对组成一个元素,比如<button>点我</button>,注意后面的button前有个斜杠,代表是闭合。
  • 也有不需要闭合的标签,比如<link rel="stylesheet" href="./day1.css">
  • 标签是可以嵌套的,比如link标签就是嵌套在head标签里的。
  • 你如果想增加页面的内容,那就在body标签里新增标签,head里内嵌的标签是不会显示在页面上的,因此我们通常只需要在body标签里写东西。

推荐入门网站:
HTML-如果你英文还可以,能翻墙,点这里
HTML-如果你喜欢看中文,点这里

学习方法很简单,照着教程,一个一个敲,然后看效果,大概一天能看完。

推荐书籍:
不推荐,这么简单的东西看看文档就可以搞定了。

CSS

先在day1.css中写下以下代码:

.my-button {background-color: #add8e6;
}

然后在浏览器中打开day1.html,会发现我们按钮背景色变成了浅蓝色。解释一下:

  • 在HTML的button上添加的class叫,类的名字叫my-button
  • css中的.my-button中的“.”表示类选择器,意思是选中类名为my-button的元素。
  • #add8e6是16进制表示颜色的方法,也可以使用rgb的表示法,还可以使用一些内置的颜色,比如red。

推荐入门网站:
CSS-英文教程
CSS-中文教程

一些需要着重注意的点:

  • 要搞懂盒子模型,即下面这张图:

clipboard.png

  • 要搞懂选择器有很多种,但是最常用的是类选择器和id选择器,还有nth-child选择器很实用,你可以都了解一下。
  • 要搞懂display属性,尤其注意inline, inline-block, block之间的区别
  • 要搞懂定位的影响,即position属性,搞懂相对于谁定位。
  • 初期少用浮动(float),因为很多人用错地方,也不懂怎么清除浮动。
  • 教程里的的内容,可以先跳过一些,看完CSS TutorialCSS Advanced就可以了,节约时间,剩下的有空再看。另外弹性布局(flex)也可以先跳过,虽然非常非常好用!!!后面单独拿一章讲。

在过教程看到相关内容时,要带着上面这些问题去看。

Javascript

打开day1.js,添加以下代码:

document.querySelector('.my-button').addEventListener('click', function () {alert('Hello, World!!')
})

解释一下:

  • document.querySelector('.my-button')表示找到HTML中,类名为my-button的元素
  • addEventListener表示给这个元素添加事件监听器,事件名为click,即点击事件。当这个元素被点击时,调用后面的匿名函数,弹出警示窗。

相对于HTML,CSS来说,Javascript才更像一门真正的语言,就像C语言那样。
对前端来说,核心中的核心是Javascript,因为它控制整个页面的逻辑,从而与用户进行交互。

推荐网站:
Javascript-英文教程
Javascipt-中文教程

推荐书籍:

  1. 《JavaScript DOM编程艺术 (第2版)》 这本书很薄,很容易读完,入门书最佳。
  2. 《JavaScript高级程序设计(第3版)》 传说中的红宝书,比较厚,耐心阅读。

ps: 推荐新人《Javascript权威指南》这本书的人通通乱棍打死,这本书绝对绝对不适合作为入门书籍,以上两本书就足够入门到较合格的前端开发了

ps: 请先跳过闭包!!难度较大,而且初级开发中用到的地方很少,需要的时候再去深入。适当的退步是为了更快的前进

最后

安利一个在线编程学习网站,也是英文的,很适合入门。Codecademy
总结下学习方法:

  • 对于基础的东西,去我推荐的网站,一个一个看,一个一个敲,不需要强记,留个印象,后面会越用越熟练。
  • 不同的阶段看不同的书,入门前端只需要过完我推荐的网站,同时看推荐的两本书 ,就够了,越专注入门越快。
  • 进步最快的方式永远是跟着敲,不要满足于看了。
  • 遇到问题先谷歌,实在不懂了可以来提问,有时间会帮大家解答。

所有的文章和代码都会同步到github上方便大家浏览。

https://github.com/JJJustCodi...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_833209.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在微信移动端input file拍照或从相册选择照片后会自动刷新页面退回到一开始网站进入的页面...

<input type"file" accept"image/*"/> 调用打开摄像头后&#xff0c;聚焦后拍照&#xff0c;点击确认&#xff0c;这时页面会出现刷新动作&#xff0c;然后回退到网站一开始进入的首页&#xff0c;同时localstorage,session,cookie保存的内容都会被清…

基于JavaWeb的电影信息网站的设计

1.概要 本系统是一个以Mysql为数据库&#xff0c;利用Java servlet开发的基于B/S结构的电影推荐网站。服务器是Apache Tomcat&#xff0c;推荐库是Apache Mahout&#xff0c;在Eclipse环境下进行开发。采用的数据集是明尼苏达大学双子城计算机科学与工程系的研究实验室GroupLen…

【京东网站主界面仿写——使用Html5+CSS3+JavaScript等实现(附源代码和效果),挺炫的喔~~~】

阅读目录 效果预览展示部分图片效果展示动态效果展示(超级好看~)代码展示(请不要嫌长哈~~)说明效果预览展示 部分图片效果展示 这是主界面:轮播图等皆已经实现~ 这是左侧的导航栏部分预览,也已经实现了~

大型网站技术架构(四)网站的高性能架构

2019独角兽企业重金招聘Python工程师标准>>> 网站性能是客观的指标&#xff0c;可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。 1、性能测试指标 1.1 响应时间 指应用执行一个操作需要的时间&#xff0c;指从发出请求到最后收到响应数据所需要的时…

学习Java开发 -网站

Net Tuts 是学习Web开发技术最著名的网站之一&#xff0c;订阅者超过10万&#xff0c;分享各种适合不同阶段的开发人员阅读的优秀教程。 更多信息&#xff0c;请访问http://glygo.sinaapp.com CSS Tricks CSS Tricks 是学习CSS的最佳去处&#xff0c;发布关于CSS各个方面的教程…

web网站开发基于高德地图浏览器定位

准备工作&#xff1a; 首先&#xff0c;注册开发者账号&#xff0c;成为高德开放平台开发者登陆之后&#xff0c;在进入「应用管理」 页面「创建新应用」为应用添加 Key&#xff0c;「服务平台」一项请选择「 Web 端 ( JSAPI ) 」拿到key之后&#xff0c;在页面引入高德API和U…

python 爬取网站首页并获取资源文件

一、使用requests模块&#xff0c;如果没有安装请使用如下命令&#xff0c;安装requests模块 pip install requests 二、打开PyCharm&#xff0c;创建一个新的py文件 1.请求网站&#xff0c;获取网页信息 首先使用浏览器&#xff0c;获取请求头信息&#xff0c;用于python模…

c语言打字测验的系统功能分析,C语言自我测试网站的设计开题报告.doc

您所在位置&#xff1a;网站首页 > 海量文档&nbsp>&nbsp学术论文&nbsp>&nbsp开题报告C语言自我测试网站的设计开题报告.doc6页本文档一共被下载&#xff1a;次,您可全文免费在线阅读后下载本文档。下载提示1.本站不保证该用户上传的文档完整性&…

pandas 如何删掉第一行_第16篇:Pandas快速爬取网站上的表格数据

pandas的read_html()函数是将HTML表转换为pandas内部的DataFrame类型的快速便捷的方法。更直白地说&#xff0c;对于专门写爬取表格的Python从业者来说&#xff0c; 此函数简直就是懒人一大利器&#xff0c;你无需重做轮子如何使用Cython去写一个table表格的解释器。因为Pandas…

手机端网站服务器软件,手机端远程连接服务器的软件

手机端远程连接服务器的软件 内容精选换一换由于在安全软件中设置了安全登录限制&#xff0c;导致远程桌面连接Windows云服务器报错&#xff1a;无法验证此远程计算机的身份。需要再次登录输入密码。云服务器安装了安全软件&#xff0c;防止有未知IP登录云服务器。卸载安全软件…

实验五MySQL存储过程_「mysql 存储过程」MySQL | 存储过程 - seo实验室

mysql 存储过程一、概念存储过程简称过程&#xff0c;procedure&#xff0c;是一种用来处理数据(增删改)的方式。简单点&#xff0c;我们也可以将其理解为没有返回值的函数。一般存储过程并不显示结果&#xff0c;而是把结果返回给你指定的变量二、创建过程基本语法create proc…

服务器怎么不用绑定域名搭建网站,一个空间放两个网站,且不用子目录绑定域名的方法...

一个空间绑定两个域名的办法操作很多空间支持多域名绑定&#xff0c;但是不支持子目录绑定&#xff0c;这时我们就可以考虑如下几种方法来实现一个空间放多个域名站点的方法&#xff0c;只是其他站点都需要在一个目录下大开&#xff0c;但这毫不影响搜索引擎的收录。方法一&…

宝藏网站IPOL:Image Processing On Line 经典图像处理论文+源码+在线仿真

读研已有大半年的时间&#xff0c;在这段时间里&#xff0c;我一直进行图像处理相关内容的学习&#xff0c;平时除了完成作业、准备项目之外&#xff0c;我的日常工作就是找经典论文、翻译、阅读、分析源代码、尝试自己写代码、与其它经典算法进行比较、尝试提出自己idea&#…

网站开发之数据表开发库——Datatables

我们在做网站开发时&#xff0c;很常见的一个需求是做数据展示表&#xff0c;并且可能需要数据表能够实现一些数据筛选、排序等能够定制展现方式功能&#xff0c;也包括对表的样式美观会有一些需求。而这些全部都已经由Javascript的一个库——Datatables做到了&#xff0c;我们…

vs2013开发64位网站和项目设置

最近用mvc写网站玩&#xff0c;需要连接oracle数据库&#xff0c;我电脑是64位系统&#xff0c;就安装了64位的oracle客户端&#xff0c;然而在连接数据库时总报错&#xff0c;折腾了半天&#xff0c; 按照网上的说法&#xff0c;修改这里&#xff0c;根本不起作用&#xff0c…

基于bootstrap(H+)的MVC网站开发之一登录页面

1、bootstrap form 表单自带前端验证功能。不是特殊无需自写前端验证js。 2、表单提交有两种方式&#xff0c;一是form表单中submit提交。二是ajax异步提交。 3、form表单action属性 action 属性规定当提交表单时&#xff0c;向何处发送表单数据。 默认&#xff1a;为当前地…

FTP发布VS2015网站项目

1、前提条件 已经部署了FTP服务。在windows下通过iis创建Ftp服务方法可参考&#xff1a;Windows通过 iis创建FTP服务VS2015 asp.net 项目 2、操作步骤 1、vs菜单中 生成——发布 2、 配置发布文件及发布 创建配置文件 后面的用默认配置即可&#xff0c;点击发布 3、查看…

Spring学习笔记(二十三)——实现网站微信扫码登录获取微信用户信息Demo

目录微信扫码登录介绍开发步骤微信扫码登录示例微信开放文档遇到的问题使用第三方工具实现网站微信扫码登录开发前介绍开发步骤微信扫码登录获取微信用户信息Demo实现流程实现效果实现过程实现源码源码下载微信扫码登录介绍 微信扫码登录是指微信OAuth2.0授权登录让微信用户使…

ffmpeg+nginx+rtmp+web实现视频直播网站

项目简介&#xff1a;视频直播网站由三个部分构成&#xff1a;1.推流端 2.服务器 3.拉流端。在该项目中&#xff0c;推流端用ffmpeg完成&#xff0c;服务器由NGINXRTMP模块完成&#xff0c;拉流端使用VLC完成。 一、开发环境简介&#xff1a; 推流端&#xff1a;系统&#xff1…

网站安装打包 修改app.config[六]

在winform的安装工具中&#xff0c;少不免有一些配置文件要放到app.config去&#xff0c;于是修改也是成了一种需求&#xff01; 无论是修改web.config还是app.config&#xff0c;普遍方式都有两种&#xff0c;用net自带封装的类&#xff0c;或是自定义xml操作。 可参考之前的一…