• 前端基础之HTML


    前端

    • 什么是前端
      • 一句话概括就是:任何与用户直接打交道的操作界面都可以称之为是一个前端。比如:电脑显示界面、手机界面等
    • web服务的本质
      • 浏览器窗口输入一个网址敲回车发生了哪些事
        • 朝着在指定的服务端发送请求
        • 服务端接收相应的请求
        • 服务端返回相应的响应
        • 浏览器接收响应,按照特定的规则渲染页面展示给用户看

    HTTP协议

    • 超文本传输协议
    • 规定了浏览器与服务端之间数据传输的格式
    • HTTP四大特性
      1. 基于请求响应 (一次请求对应一次响应)
      2. 基于TCP/IP 作用于应用层之上的协议
      3. 无状态 (不保留客户端的状态)
      4. 无连接
    • 数据格式
      • 请求格式
        • 请求首行(请求方式,协议版本)
        • 请求头(一大堆k,v键值对)
        • 请求体(携带的数据,并不是一直都有,有时候可能是空的,取决于请求方式)
      • 响应格式
        • 响应首行(响应状态码)
        • 响应头(一大堆k,v键值对)
        • 响应体(浏览器展示给用户看的数据)
      • 响应状态码
        • 用数字来表示一大堆提示信息
          • 1XX:服务端已经成功接收到客户端的数据正在处理,可以继续提交
          • 2XX:200请求成功,服务端已经返回了你想要的数据
          • 3XX:重定向(原本想访问A但是内部自动给你转到了B上面)
          • 4XX:404请求资源不存在,403你当前不具备请求该资源的条件
          • 5XX:500服务端内部错误(机房着火了、宕机、爆炸)
    • 请求方式
      • get请求
        • 朝服务端获取资源(类似于浏览器访问百度获取百度首页)
      • post请求
        • 朝服务端提交数据(类似于登录注册功能)

    HTML

    • 超文本标记语言
    • 浏览器能够识别的语言非常少:(HTML/XML、CSS、JS)

    XML也可以书写前端页面,主要用于odoo框架中,书写企业内部管理软件

    HTML注释

    <!--单行注释-->
    <!--
    多行注释1
    多行注释2
    -->
    由于HTML页面结构比较复杂,内容比较多,不便于后期的维护,修改,通常在写页面的时候,习惯用下面的方式来人为的划分代码区域
    <!--顶部导航条样式开始-->
    ······
    <!--顶部导航条样式结束-->
    <!--左侧菜单栏样式结束-->
    ······
    <!--左侧菜单栏样式结束-->
    

    HTML文档结构

    <html>
        <head></head>:head内存放的内容不是给用户看的,是给浏览器去识别做相应的操作
        <body></body>:body内存放的内容就是浏览器展示给用户看到的花里胡哨的页面
    </html>
    

    HTML文档打开方式

    1. pycharm自动调用浏览器打开(推荐)
    2. 手动查找路径之后选择浏览器打开

    标签的分类

    标签的分类1
    	1. 双标签
    	2. 自闭和标签
    标签的分类2
    	1.块儿级标签
    		独占一行(h1-h6、p、br、hr、div)
    		1.块儿级标签内部可以嵌套任意的块儿级标签和行内标签
    		2.特例:p虽然是块儿级标签,但是它的内部只能嵌套行内标签,不能嵌套块儿级标				签,如果嵌套了,没问题,但是不符合HTML语法规范
    	2.行内标签
    		(u、s、i、b、span)
    		自身文本多大,就占多大
    		行内标签内部不能嵌套块儿级标签和行内标签
    书写标签的时候,只需要写标签名字,之后tab键可以自动补全
    此功能来源于---> emmet插件
    

    head内常用标签

    title:定义网页标题
    style:内部支持直接写CSS代码
    link:引入外部的CSS文件
    script:
    	1.内部可以直接编写js代码
    	2.可以通过src属性引用外部js代码
    meta:
    	name属性
    		keywords
    		description
    URL:统一资源定位符
    

    body内常用标签

    基本标签
    	h1—h6:标题标签
    	s:删除线
    	b:加粗
    	u:下划线
    	i:斜体
    	p:独占一行
    	br:换行
    	hr:分割线
    

    特殊符号

    &nbsp;				空格
    <p>a大于b     	a &gt; b</p>
    <p>a小于b			a &lt; b</p>
    <p>a和b			a &amp; b</p>
    <p>人民币   		&yen;10000</p>
    <p>版权标识   		&copy;</p>
    <p>注册商标   		&reg;</p>
    

    常用标签

    div		块儿级标签
    span	行内标签
    本身没有任何特殊意义,但是这两个使用最多,这两个标签是用来做前期的页面布局的
    
    img	图片标签
    	src
    		1.可以写一个网站图片地址
    		2.还可以写本地的图片地址
    		3.url(自动朝该url发送get请求获取数据)
    	alt
    		当图片加载不出来的时候,默认展示的提示信息
    	title
    		当鼠标悬浮在图片上的时候,展示的提示信息
    	width,height
    		修改图片的宽高篇幅
    		修改一个,另外一个会自动等比例缩放
    		如果两个都修改,图片就会丢帧
    a 链接标签
    	href
    		放一个url
    			点击就会跳转到该url所对应的资源
    	target
    		控制是否在当前页跳转
    			默认是在当前页跳转 _self
    			新建页面跳转	_blank
    	锚点功能
    		href不单单可以写url,也可以写另外一个a标签的id值
    		点击就会跳转到该id值所对应的a标签所在的位置
        <a href="" id="d1">页首</a>
        <div style="height: 1000px;background-color: red"></div>
        <a href="" id="d2">中间</a>
        <div style="height: 1000px;background-color: green"></div>
        <a href="#d1">回到顶部</a>
        <a href="#d2">回到中间</a>
    

    标签应该具备的属性

    1. id属性:类似于身份证号,用来唯一标识当前HTML页面中的某一个标签(同一个HTML页面中,id值不能重复)
    2. class属性:类似于面向对象的继承,直接引用别的类的样式

    列表标签

    无序列表(较多)
    	ul
    		li
    		只要页面上出现了比较有规则排列的文本,基本上都可以用无序列来实现
                <p>无序列表</p>
                <ul>
                    <li>111</li>
                    <li>111</li>
                    <li>111</li>
                </ul>
    有序列表
    	ol
                <p>有序列表</p>
                <ol type="1">
                    <li>哈哈哈</li>
                    <li>嘿嘿嘿</li>
                    <li>呵呵呵</li>
                </ol>
    标题列表
    	dl
    		dt标题
    		dd内容
                <p>标题列表</p>
                <dl>
                    <dt>标题</dt>
                    <dd>内容</dd>
                </dl>
    

    表格标签

    展示网站数据的时候,一般情况下可以使用表格标签
    <table>		border="1" 加表格线
        <thead>
            <tr>
                <th></th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td></td>
            </tr>
        </tbody>
    </table>
    写表格标签,先写结构,然后写数据
    一个tr就是一行
    th和td之分:一个加粗,一个不加粗
    通常情况下表头用th,表单内容用td
    	rowspan="2" /colspan="2" 合并单元格
    

    表单标签

    form标签
    获取用户输入(输入,选择,上传文件...)并且将数据打包发送给后端
    action参数
    	用来控制数据提交的路径(到底朝哪个后端服务器提交数据)
    	三种写法:
    		1.不写,默认就是朝当前页面所在的地址提交数据
    		2.全路径(https://www.baidu.com)
    		3.只写路径后缀(/index/)
    
    获取用户输入input标签 该标签是一个行内标签
    input类似于前端的变形金刚
    	<input type="radio" name="gender" checked>
    	type属性
    		text		普通文本
    		password	密文
    		date		日期
    		radio		多选一
    		checkbox	多选多
    			默认选中	checked="checked"
    			当标签与属性名和属性值相同的时候,可以只写属性名
    		reset		重置
    		button		普通按钮
    		submit		触发form表单提交动作
    		file		获取文件
    
    select标签	下拉框
    	一个个选项就是一个个option标签
    	默认是单选的
    	可以加一个multiple改成多选
    	<select name="" id="" multiple>
        加selected 可以让option标签默认选中
    </select>
    
    textarea标签	获取大段文本
    
    label通常是配置input一起使用的
    	for用来填写对应的input标签的id值
    	点击label标签内的内容,会自动让对应的input标签聚焦
    
    能够触发form表单提交数据的按钮
    	<input type="submit">
    	可以通过value属性来指定按钮文本内容
    	<input type="submit" value="注册">
    <button>登录</button>
    
    input获取到的用户输入就类似于是字典的value
    input中name属性就类似于是字典的key
    
  • 相关阅读:
    区块链python演示
    网页H5图片预览滑动模仿新浪微博插件
    AngularJS
    实现A Painless Q-learning Tutorial (深度学习笔记二)
    python线性拟合数据(深度学习笔记一)
    雪花特效登录页面
    ASP.NET Core中使用NLog记录日志
    EFCore中代码优先锲约和数据类型与数据库的对应关系
    所有数据库连接字符串示例
    看到12_234_678差点怀疑人生的事儿
  • 原文地址:https://www.cnblogs.com/YGZICO/p/12198625.html
Copyright © 2020-2023  润新知