当前位置: 首页 > news >正文

前端——HTML

HTML介绍:

web服务的本质就是

浏览器发请求 --> HTTP协议 --> 服务端接收请求 --> 服务端返回响应 --> 服务端把HTML文件内容发给浏览器 --> 浏览器渲染页面;

其实简单的来说就是

1. 浏览器 给服务端 发送了一个消息
2. 服务端拿到消息
3. 服务端返回消息
4. 浏览器展示页面

 HTTP协议:浏览器和服务器之间约定好的消息格式,便于接收; 就像 在本地上写的client和sever端是一样的,我知道client发什么,然后sever端就接收什么;同样HTTP协议正是浏览器和sever端之间的传输的一种消息的格式;是浏览器自带的;

import socket
sk= socket.socket()
sk.bind(('127.0.0.1',8080))

sk.listen(5)

while True:
	conn,addr = sk.accept()
	conn.recv(1024)
	#要按照HTTP协议的格式来发消息,这样浏览器才能接收到;
	conn.send(b'HTTP/1.1 200 OK\r\n\r\n')
	with open('data.html','rb') as f:  #浏览器传输的数据都是以字节位单位的.
		msg = f.read()
	conn.send(msg)

	conn.close()

 

HTML是一种用于创建网页的标记语言,不是编程语言,因此HTML语言是没有逻辑性的,只是 使用标签来描述网页。

本质上是浏览器可识别的规则,按照HTML的规则去写网页,则浏览器会渲染我们的网页。

 

最基本的HTML文档:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>title</title>
</head>
<body>

</body>
</html>

1 <!DOCTYPE html>声明为HTML5文档。

2 <html>、</html>是文档的开始标记和结束的标记。是HTML页面的根元素,在它们之间是文档的头部(head)和主体(body)。

3 <head>、</head>定义了HTML文档的开头部分。它们之间的内容不会在浏览器的文档窗口显示。包含了文档的元(meta)数据。

4 <title>、</title>定义了网页标题,在浏览器标题栏显示。

5 <body>、</body>之间的文本是可见的网页主体内容。

注意:对于中文网页需要使用 <meta charset="utf-8"> 声明编码,否则会出现乱码。有些浏览器会设置 GBK 为默认编码,则你需要设置为 <meta charset="gbk">。

HTML标签的格式:

标签分类:
双标签  <div>和</div>
单标签  <br/>、<hr/>;<img src="1.jpg" />

对应的标签的语法:

  • <标签名 属性1=“属性值1” 属性2=“属性值2”……>内容部分</标签名>
  • <标签名 属性1=“属性值1” 属性2=“属性值2”…… />

几个很重要的属性:

  • id:定义标签的唯一ID,HTML文档树中唯一
  • class:为html元素定义一个或多个类名(classname)(CSS样式类名)
  • style:规定元素的行内样式(CSS样式)

HTML的注释:

  <!-- 注释内容 -->

HTML常用的标签:

head 内常用标签:

标签意义
<title></title>定义网页标题
<style></style>定义内部样式表
<script></script>定义JS代码或引入外部JS文件
<link/>引入外部样式表文件
<meta/>定义网页原信息

Meta 标签

<!--2秒后跳转到对应的网址,注意引号-->
<meta http-equiv="refresh" content="2;URL=https://www.oldboyedu.com">
<!--指定文档的编码类型-->
<meta http-equiv="content-Type" charset=UTF8"> #通常http-equiv="content-Type"不写

  

name属性:主要用于描述网页,主要是为了爬虫,查找消息和分类消息用的

<meta name="keywords" content="meta总结,html meta,meta属性,meta跳转">
<meta name="description" content="老男孩教育Python学院">

 

head 内常用标签: 

<b>加粗</b>
<i>斜体</i>
<u>下划线</u>
<s>删除</s>

<p>段落标签</p>

<h1>标题1</h1>
<h2>标题2</h2>
<h3>标题3</h3>
<h4>标题4</h4>
<h5>标题5</h5>
<h6>标题6</h6>

<!--换行-->
<br>

<!--水平线--><hr>

 

特殊字符:

内容对应代码
空格&nbsp;
>&gt;
<&lt;
&&amp;
¥&yen;
版权&copy;
注册&reg;

 

<!DOCTYPE html>
<!--zh-CN中文-->
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>第一个html</title>
</head>
<body>
<!--   h1标签就是字体变大和加粗,数字越小越大-->
<!--img标签里面的src= 为图片的地址; alt=  是当图片加载不出来后给用户的一个反馈 , 
title= 是当移动到图片的时候出现的文字--> <h1>©为小米  而生</h1> <p>小米是谁,是你你你</p> <p>小米是谁,是你你你</p> <!--无序的列表--> <div> <ul type="none"> <li>a</li> <li>b</li> <li>c</li> </ul> </div> <!--有序的列表--> <ol type="I" start="1"> <li> <a href="">1</a> </li> <li>2</li> </ol> <!--表格--> <table border> <thead> <tr> <th> name </th> <th> age </th> <th> sex </th> </tr> </thead> <tbody> <tr> <td> zh </td> <td> 23 </td> <td> men </td> </tr> </tbody> </table> <!--<img src="https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3737863257,3043102048&fm=26&gp=0.jpg" alt="德莱文"--> <!--title="德莱文">--> <!--a标签里面的 href=是相当于链接,后面起名字来表示此链接,target="_blank",表示 链接 在新的窗口来弹出, target="_self"表示 本网页 跳转到 链接 --> <a href="https://www.baidu.com" target="_self">百度</a> </body> </html> <!--h1*5>a>i{a$}--> <!--<h1><a href=""><i>a1</i></a></h1>--> <!--<h1><a href=""><i>a2</i></a></h1>--> <!--<h1><a href=""><i>a3</i></a></h1>--> <!--<h1><a href=""><i>a4</i></a></h1>--> <!--<h1><a href=""><i>a5</i></a></h1>--> <!--h1*4>a.c1[id=a$]{a标签$}--> <!--<h1><a href="" class="c1" id="a1">a标签1</a></h1>--> <!--<h1><a href="" class="c1" id="a2">a标签2</a></h1>--> <!--<h1><a href="" class="c1" id="a3">a标签3</a></h1>--> <!--<h1><a href="" class="c1" id="a4">a标签4</a></h1>-->

  

列表:

1.无序列表中的type属性:

  • disc(实心圆点,默认值)
  • circle(空心圆圈)
  • square(实心方块)
  • none(无样式)

2.有序列表中的type属性:

  • 1 数字列表,默认值
  • A 大写字母
  • a 小写字母
  • Ⅰ大写罗马
  • ⅰ小写罗马

3.标题列表

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

表格的属性:

  • border: 表格边框.
  • cellpadding: 内边距
  • cellspacing: 外边距.
  • width: 像素 百分比.(最好通过css来设置长宽)
  • rowspan: 单元格竖跨多少行
  • colspan: 单元格横跨多少列(即合并单元格)

 

 

标签分类:
1.块儿级标签  h1~h6 div p hr  li ;默认占浏览器宽度,能设置长和宽
2.内联标签(行内标签)  a img u s i b span;根据内容决定长度,不能设置长和宽


标签的嵌套规则
1. 行内标签不能嵌套块级标签
2. p标签不能嵌套块级标签

 

Form 表单

功能:

表单 用于向服务器传输数据(method = POST),从而实现用户与Web服务器的交互

表单如下几个标签:

input系列;textarea(大端文本); select(下拉框); label 标签 等;

表单的属性

属性描述
accept-charset规定在被提交表单中使用的字符集(默认:页面字符集)。
action规定向何处提交表单的地址(URL)(提交页面)。
autocomplete规定浏览器应该自动完成表单(默认:开启)。
enctype规定被提交数据的编码(默认:url-encoded)。
method规定在提交表单时所用的 HTTP 方法(默认:GET)。
name规定识别表单的名称(对于 DOM 使用:document.forms.name)。
novalidate规定浏览器不验证表单。
target规定 action 属性中地址的目标(默认:_self)。

 

input标签系列

text单行输入文本<input type=text" />
password密码输入框<input type="password"  />
date日期输入框<input type="date" />
checkbox复选框<input type="checkbox" checked="checked"  />
radio单选框<input type="radio"  />
submit提交按钮<input type="submit" value="提交" />
reset重置按钮<input type="reset" value="重置"  />
button普通按钮<input type="button" value="普通按钮"  />
hidden隐藏输入框<input type="hidden"  />
file文本选择框<input type="file

 属性说明:

  • name:表单提交给后端时的“键”;
  • value:表单提交时对应项的值
    • type="button", "reset", "submit"时,为按钮上显示的文本年内容
    • type="text","password","hidden"时,为输入框的初始值
    • type="checkbox", "radio", "file",为输入相关联的值
  • checked:radio和checkbox默认被选中的项
  • readonly:text和password设置只读
  • disabled:所有input均适用;不可以修改

select标签

  <p>
        <!--select只是下滑的菜单;option 具体的下拉选项;optgroup 分组的下拉框; 
     selected为默认的选择; multiple,布尔属性,设置后为多选,否则默认为单选--> <label for="palce">地点</label> <select name="home" id="palce" multiple="multiple"> <optgroup label="北京"> <option value="cp">昌平</option> <option value="hd">海淀</option> <option value="cy">朝阳</option> </optgroup> <option selected value="sh">上海</option> <option value="sc">四川</option> </select> </p>  

属性说明:

  • multiple:布尔属性,设置后为多选,否则默认单选
  • disabled:禁用
  • selected:默认选中该项
  • value:定义提交时的选项值

 

label标签

  <p>
        性别
          <label for="li">男</label>
        <input id="li" name="sex" type="radio" value="0">
          <label for="lr">女</label>
        <input id="lr" name="sex" type="radio" value="1">
          <label for="la">保密</label>
        <input checked id="la" name="sex" type="radio" value="2">
      </p>
  1. label 元素不会向用户呈现任何特殊效果。
  2. <label> 标签的 for 属性值应当与相关元素的 id 属性值相同。
  3. <label> 标签为 input 元素定义标注(标记)。

textarea多行文本

    <p>
        <!--textarea 多行文本,为双标签-->
        <label for="info">个人介绍</label>
        <textarea name="user_info" id="info" cols="30" rows="10"></textarea>
    </p> 

属性说明:

  • name:名称
  • rows:行数
  • cols:列数
  • disabled:禁用

 

下面是常用标签的一个合集:

<!--所有获取用户输入的标签都必须放在form表单里面,action 是 向哪个 地址提交表单的信息-->
<!--GET - 从指定的资源 请求  数据。
POST - 向指定的资源 提交 要被处理的数据-->
<form action="http://127.0.0.1:8000/upload/" method="post">
    <p>
        <label for="user">用户名</label>
<!--加name是为了让服务器来到键值对的数据;value为默认值;disabled不可修改;placeholder 设置占位内容;readonly 为只读不能修改-->
        <input id="user" name="username" type="text" value="aaa" readonly>

        <!--hidden隐藏输入框,就类似为了把数据放入数据库的里面的ID值(主键)不能被用户随便的去修改-->
        <input type="hidden" value="01">
    </p>

    <p>
        <label for="password">密码</label>
        <input id="password" name="password" type="password">
    </p>

      <p>
        性别
          <label for="li">男</label>
        <input id="li" name="sex" type="radio" value="0">
          <label for="lr">女</label>
        <input id="lr" name="sex" type="radio" value="1">
          <label for="la">保密</label>
        <input checked id="la" name="sex" type="radio" value="2">
      </p>

      <p>
        爱好
          <label for="aa">篮球</label>
        <input  id="aa" name="hobby" type="checkbox" value="basketball">
          <label for="ab">排球</label>
        <input checked id="ab" name="hobby" type="checkbox" value="football">
      </p>


    <p>
        <label for="time">生日</label>
        <input id="time" type="date" name="brithday">
    </p>


    <p>
        <!--textarea 多行文本,为双标签-->
        <label for="info">个人介绍</label>
        <textarea name="user_info" id="info" cols="30" rows="10"></textarea>
    </p>

    
    <p>
        <!--select只是下滑的菜单;option 具体的下拉选项;optgroup 分组的下拉框; selected为默认的选择
        multiple,布尔属性,设置后为多选,否则默认为单选-->
        <label for="palce">地点</label>
        <select name="home" id="palce" multiple="multiple">
            <optgroup label="北京">
                <option value="cp">昌平</option>
                <option value="hd">海淀</option>
                <option value="cy">朝阳</option>

            </optgroup>
            <option selected value="sh">上海</option>
            <option value="sc">四川</option>

        </select>
    </p>

    <p>
        <!--file为文本选择框,可以选择图片-->
        <input type="file" value="photo">
    </p>
    
    <p>
        <!--button为普通的按钮;reset为重置按钮-->
        <input type="submit" value="GO">
        <input type="button" value="...">
        <input type="reset" value="delet">
    </p>




</form>

  

转载于:https://www.cnblogs.com/zenghui-python/p/10604019.html

相关文章:

  • Kali Linux Metasploit Framework
  • 位运算的初了解(二)
  • AtCoder Beginner Contest 120 题解
  • 第三章小结
  • 微信小程序_(组件)icon、text、rich-text、progress四大基础组件
  • 处理机调度算法
  • 上周热点回顾(3.25-3.31)
  • 软工第三次团队作业 - 功能规格说明书
  • [北航软工]技术规格说明书
  • PAT甲级1068 Find More Coins【01背包】
  • 【BZOJ2125】—最短路(圆方树+树链剖分)
  • Java学习笔记-正则表达式
  • centos7.5搭建zabbix3.4.x以及mysql定制化监控
  • java ReentrantLock
  • C学习笔记-makefile
  • 时间复杂度分析经典问题——最大子序列和
  • Codepen 每日精选(2018-3-25)
  • ES6简单总结(搭配简单的讲解和小案例)
  • github从入门到放弃(1)
  • httpie使用详解
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Java程序员幽默爆笑锦集
  • Java面向对象及其三大特征
  • k个最大的数及变种小结
  • Vue 重置组件到初始状态
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 动态魔术使用DBMS_SQL
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 那些被忽略的 JavaScript 数组方法细节
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 前端攻城师
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 一道面试题引发的“血案”
  • 一些关于Rust在2019年的思考
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ###C语言程序设计-----C语言学习(3)#
  • (day 12)JavaScript学习笔记(数组3)
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .net反编译工具
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • .Net语言中的StringBuilder:入门到精通
  • [22]. 括号生成
  • [ai笔记4] 将AI工具场景化,应用于生活和工作
  • [Android]How to use FFmpeg to decode Android f...
  • [APUE]进程关系(下)
  • [AR]Vumark(下一代条形码)
  • [C++] 多线程编程-thread::yield()-sleep_for()
  • [C++数据结构](31)哈夫曼树,哈夫曼编码与解码
  • [leetcode] 3Sum
  • [NBIoT]NBIoT相关知识