一、引子

参考:https://www.cnblogs.com/Dominic-Ji/p/10864457.html

1 前端学习的历程

  • html

    • 网页的骨架,没有任何样式
  • css
    • 给骨架添加样式,让其具有多样性
  • js
    • 控制网页的动态效果
  • 前端框架:bootstrap、jquery、vue
    • 提前封装好了很多复杂的操作,只需要根据固定的语法调用即可

2 浏览器与http协议

tips:浏览器与服务端的b/s架构和客户端与服务端的c/s架构本质没什么区别

2.1 浏览器窗口输入网址回车后发生了几件事

  • 浏览器朝这个网站对应的服务端发起请求

    • 网址实际上是服务器ip+端口的映射
  • 服务端接受请求
    • 比如说百度接受我想访问百度主页的请求
  • 服务器返回相应的响应
    • 给我返回一个百度首页
  • 浏览器接受响应,通过特定的规则渲染(解析)页面给用户看

浏览器统一了与不同服务端的数据交互,因为浏览器自定义了一个标准(http协议)让所有想通过浏览器去与用户交互的服务端都遵循这个标准去写服务端代码。已一种更方便更简洁的模式出现在用户面前。

如果没有浏览器,那么我们只能用对方写好的客户端来和对方的服务端交互,不同的程序参照自己的规则,要访问很多应用就需要成千上万个客户端。这明显不合理,我们只会去下载常用的客户端,而那些可以用浏览器简化的通常都是在浏览器上访问。

2.2 http协议

http协议(超文本传输协议):用来规定服务端和浏览器之间数据交互的格式

四大特性

  • 基于请求响应
  • 基于tcp/ip作用与应用层至上的协议
  • 无状态(有好有坏)
    • 不报错用户信息,每一次访问都是一次新的请求
    • 后续出现了一些保存用户状态的技术(cookie、session、token...)
  • 短/无连接
    • 请求一次返回一次数据,两者之间没有任何链接关系

请求数据的格式

  • 请求首行(标识http协议版本,当前请求方式)
  • 请求头(k,v键值对)
  • /r/n(重要)
  • 请求体(get请求没有,post请求有,因为post请求提交的是敏感数据)

响应数据格式

  • 响应首行(标识http协议版本,响应状态码)
  • 响应头(一大堆k,v键值对)
  • /r/n(重要)
  • 响应体(返回给浏览器展示给用户看的数据)

响应状态码:用一串数字来表示一些复杂的状态或者描述信息

  • 1xx:服务端成功接收到了你的数据正在处理,你可以继续提交额外的数据
  • 2xx:服务端成功响应了你想要的数据(200 ok请求成功)
  • 3xx:重定向(你的这次访问需要先通过其他页面才能得到,会自动跳转)
  • 4xx:请求错误
    • 404:资源不存在
    • 405:当前请求不合法或者不符合访问资源的条件
  • 5xx:服务器内部错误

请求方式

  • get请求

    • 朝服务器要数据
    • 输入网址得到对应的内容
  • post请求
    • 朝服务端提交数据
    • 用户登录 输入用户名密码后,提交到服务端

二、html入门

引子

html是一种超文本标记语言

我们所看到的的所有页面内部都是html代码

html的注释:

1 标签的分类

  • 双标签
<h1></h1>
  • 单标签
<img />

2 head内常用的标签

head内的标签不是给用户看的,而是定义一些配置,主要是给浏览器看

<title>Title</title>  网页标题
<style>
h1 {
color: greenyellow;
}
</style>
内部用来书写css代码
<script>
内部用来书写js代码
alert(123)
</script>
<script src="myjs.js"></script> 还可以引入外部js文件 <link rel="stylesheet" href="mycss.css"> 引入外部css文件 当你在用浏览器搜索的时候 只要输入了keywords后面指定的关键字那么该网页都有可能被百度搜索出来展示给用户
<meta name="keywords" content="老男孩教育,老男孩,老男孩培训,Python培训,Linux培训,网络安全培训,Go语言培训,人工智能培训,云计算培训,Linux运维培训,Python自动化运维,Python全栈开发,IT培训">
<meta name="keyword" content="淘宝,掏宝,网上购物,C2C,在线交易,交易市场,网上交易,交易市场,网上买,网上卖,购物网站,团购,网上贸易,安全购物,电子商务,放心买,供应,买卖信息,网店,一口价,拍卖,网上开店,网络购物,打折,免费开店,网购,频道,店铺"> 网页的描述性信息
<meta name="description" content="淘宝网 - 亚洲较大的网上交易平台,提供各类服饰、美容、家居、数码、话费/点卡充值… 数亿优质商品,同时提供担保交易(先收货后付款)等安全交易保障服务,并由商家提供退货承诺、破损补寄等消费者保障服务,让你安心享受网上购物乐趣!">

3 body内常用的标签

<h1>我是h1</h1>  标题标签 1~6级标题
<b>加粗</b>
<i>斜体</i>
<u>下划线</u>
<s>删除线</s>
<p>段落</p>
<br>换行
<hr>水平分割线

4 标签的分类

4.1 块级标签:独占一行

	h1~h6	p div
1 块儿级标签可以修改长宽 行内标签不可以 修改了也不会变化
2 块儿级标签内部可以嵌套任意的块儿级标签和行内标签
但是p标签虽然是块儿级标签 但是它只能嵌套行内标签 不能嵌套块儿级标签
如果你套了 问题也不大 因为浏览器会自动帮你解开(浏览器是直接面向用户的 不会轻易的报错 哪怕有报错用户也基本感觉不出来)

4.2 行内标签:本身文本占多大就多大

	i u s b span
行内标签不能嵌套块儿级标签 可以嵌套行内标签

5 特殊符号

&nbsp;  空格
&gt; 大于号
&lt; 小于号
&amp; &
&yen; ¥
&copy;
商标&reg;

6 img标签

图片标签
<img src = "" alt = "" title ="" height="" width=""> src
1.图片的路径 可以是本地的绝对路径,也可以是网上的(实际上也是路径)
2.url 直接朝该url发送get请求 alt = "xxx"
这是在图片加载不出来的时候 给用户的提示信息 title = "xxx"
当鼠标悬浮在图片上的时候,自动显示的信息 height = "xxxpx" width="xxxpx" 高度和宽度是两个相辅相成的数据,如果我们只改一个,另一个会根据原图片的比例等比缩放,如果都改的话容易失真

7 a标签

链接标签
<a href=""></a>
这里的链接会自动修改颜色加下划线,如果点击过后就会在该窗口一直显示另一种颜色
这里的颜色下划线等 都是可以通过样式去修改 href
1.放url,用户的点击会跳转到url页面
2.放本页面其他标签的id值,点击跳转(锚点) target
默认不写的时候a标签的点击事件是在当前页面跳转,默认值:_self
如果我们要新建页面跳转,修改为:_blank

实现a标签的锚点功能

点击一个文本  自动跳转到对应区域
在href后写#对应id号 <a href="" id="d1">顶部</a>
<h1 id="d111">hello world</h1>
<div style="height: 1000px;background-color: red"></div>
<a href="" id="d2">中间</a>
<div style="height: 1000px;background-color: greenyellow"></div>
<a href="#d1">底部</a>
<a href="#d2">回到中间</a>
<a href="#d111">回到中间</a>

8 标签的两个重要书写

1.id值
类似于标签的身份证号 在同一个html页面上id值不能重复
2.class值
该值有点类似于面向对象里面的继承 一个标签可以继承多个class值

标签既可以有默认的书写也可以有自定义的书写

标签内也可以用于存放数据

<p id="d1" class="c1" username="jason" password="123"></p>

9 列表标签

列表标签

  • 无序列表(较多)

    <ul>
    <li>第一项</li>
    <li>第二项</li>
    <li>第二项</li>
    <li>第二项</li>
    </ul>
    虽然ul标签很丑 但是在页面布局的时候 只要是排版一致的几行数据基本上用的都是ul标签
  • 有序列表(了解)

    <ol type="1" start="5">
    <li>111</li>
    <li>222</li>
    <li>333</li>
    </ol>
  • 标题列表(了解)

    <dl>
    <dt>标题1</dt>
    <dd>内容1</dd>
    <dt>标题2</dt>
    <dd>内容2</dd>
    <dt>标题3</dt>
    <dd>内容3</dd>
    </dl>

day50 前端入门的更多相关文章

  1. 结合个人经历总结的前端入门方法 (转自https://github.com/qiu-deqing/FE-learning)

    结合个人经历总结的前端入门方法 (https://github.com/qiu-deqing/FE-learning),里面有很详细的介绍. 之前一直想学习前端的,都不知道怎么下手都一年了啥也没学到, ...

  2. web前端入门:一小时学会写页面

    一小时学会写页面 作为一个懒癌晚期患者,总是习惯找各种简单的解决问题的方法,也习惯性把问题简单化,所以今天想分享给大家简单的web前端入门方法.既然题目已经定了一个小时那么废话就不多说了,计时开始 1 ...

  3. 前端入门3-CSS基础

    本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 声明 本系列文章内容全部梳理自以下四个来源: <HTML5权威指南> <JavaScript权威指南> MD ...

  4. 2019年Web前端入门的自学路线

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文.本文内容不定期更新. 我前几天写过一篇文章:<裸辞两个月,海投一个月 ...

  5. Web前端入门教程之浏览器兼容问题及解决方法

    JavaScript 被称为JS,是作为浏览器的内置脚本语言,为我们提供操控浏览器的能力,可以让网页呈现出各种特殊效果,为用户提供友好的互动体验.JS是Web前端入门教程中的重点和难点,而浏览器兼容性 ...

  6. 前端入门系列之HTML

    前端入门系列之HTML 超文本标记语言 (英语:Hypertext Markup Language,简称:HTML ) 是一种用来结构化 Web 网页及其内容的标记语言.网页内容可以是:一组段落.一个 ...

  7. 前端入门nginx

    一.nginx是什么 NGINX is a free, open-source, high-performance HTTP server and reverse proxy, as well as ...

  8. web前端该怎么入门?web前端入门教程(非常详细)

    初学编程的小伙伴经常会遇到的问题,1.没资源 2.没人带 3.不知道从何开始 ,小编也是从新手期过来的,所以很能理解萌新的难处,现在整理一些以前自己学习的一些资料送给大家,希望对广大初学小伙伴有帮助! ...

  9. 新浪、腾讯、淘宝为何如此重视Web前端?前端入门容易吗?

    为什么新浪.搜狐.网易.腾讯.淘宝等在内的各种规模的IT企业,都对web前端越来越重视了呢?小编为您揭晓答案! web前端的由来 以前会Photoshop和Dreamweaver就可以制作网页.随着时 ...

随机推荐

  1. POJ - 2184 Cow Exhibition 题解

    题目大意 有 \(N(N \le 100)\) 头奶牛,没有头奶牛有两个属性 \(s_i\) 和 \(f_i\),两个范围均为 \([-1000, 1000]\). 从中挑选若干头牛,\(TS = \ ...

  2. 详解CurrentHashMap之预习篇

    CurrentHashMap的出现时为了解决HashMap的高并发导致OOM的缺陷,并且能够保证高性能读取.那么解读CurrentHashMap需要具备哪些知识的呢? HashMap 解读 Java ...

  3. FastStone+ImageReady+Kutools plus导入图片到Excel单元格

    先前打算自己做一个也附带训练下,发现有下面方法也好. 1)做帮助文档时需要一种格式(需要将图片导入到Excel中时,假如是按此法归类汇总) 2)FastStone滚动截图       粘贴到Photo ...

  4. Quartz.Net系列(二):介绍、简单使用、对比Windows计划任务

    1.介绍 Quartz是功能强大的开源作业调度库,几乎可以集成到任何Java应用程序中-从最小的独立应用程序到最大的电子商务系统.Quartz可用于创建简单或复杂的计划,以执行数以万计,数以万计的工作 ...

  5. pycharm安装破解方法

    1.pycharm专业版官方下载链接:http://www.jetbrains.com/pycharm/download/#section=windows正常下载并安装 2.从https://gith ...

  6. mybatis实现多表一对一,一对多,多对多关联查询

    原文:https://blog.csdn.net/m0_37787069/article/details/79247321 1.一对一关键字:association作用:针对pojo对象属性的映射  ...

  7. 用VC++6.0,双击主对话框中的按钮时,不能跳转到代码处

    1. 首先在项目中--[生成]build--[清除解决方案]clean 2. 关闭项目 3. 删除项目中的[Debug]下所有文件 4. 把*.aps,*.clw,*.ncb,*.opt删掉----- ...

  8. Windows 安装RabbitMQ后,启动服务就自动停止

    在做SpringCloud消息总线的时候,需要用到RabbitMQ,于是在windows上下载安装了一个,erlang的安装包不是官网下载的,而是朋友分享给我的,没注意它的版本(9.3). 安装完成后 ...

  9. 使用java类的方式配置spring 需要什么注解?

    1.@Configuration 修饰类,声明当前类是一个配置类,相当于applicationContext.xml文件 2.@ComponentScan 用于指定spring在初始化容器时要扫描的包 ...

  10. C# MVC LayUI实现下拉框二级联动

    一.layui.use 1.LayUI的官方使用文档:https://www.layui.com/doc/ 2.layui的内置模块不是默认就加载好的,必须要执行启动模块的这种方法后模块才会加载: 3 ...