前端基础之HTML

一、什么是Html

  • 超文本标记语言(Hypertext Markup Language, HTML)是一种用于创建网页的标记语言。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素,超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容
  • 本质上是浏览器可识别的规则,我们按照规则写网页,浏览器根据规则渲染我们的网页。对于不同的浏览器,对同一个标签可能会有不同的解释。(兼容性问题)
  • 网页文件的扩展名:.html或.htm

最基本的HTML文档:

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

</body>
</html>

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

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

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

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

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

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

二、标签格式及注释

  • HTML标签是由尖括号包裹的关键字,如<html>, <div>等
  • HTML标签通常是成对出现的,比如:<div>和</div>,第一个标签是开始,第二个标签是结束。结束标签会有斜线
  • 也有一部分标签是单独呈现的,比如:<br/>、<hr/>、<img src="a.jpg" />
  • 标签里面可以有若干属性,也可以不带属性(重要属性:id,定义标签的唯一ID。class:为html元素定义一个或多个类名(classname)(CSS样式类名)。style:规定元素的行内样式(CSS样式))
#注释
<!--注释代码内容-->

三、常用标签

3.1、head内常用标签

标签意义
<title></title> 定义网页标题
<style></style> 定义内部样式表
<script></script> 定义JS代码或引入外部JS文件
<link/> 引入外部样式表文件
<meta/> 定义网页原信息
<!--3秒后自动刷新-->
<meta http-equiv="Refresh" Content=3>
<!--3秒后跳转到对应的网址-->
<meta http-equiv="refresh" content="3;URL=https://www.baidu.com">
<!--指定文档的编码类型-->
<meta http-equiv="content-Type" charset=UTF8">
<!--告诉IE以最高级模式渲染文档-->
<meta http-equiv="x-ua-compatible" content="IE=edge">
<!--关键字xxxx,用于搜索-->
<meta name="keywords" content="xxxx">
<!--站点描述信息xxxx-->
<meta name="description" content="xxxx">
<!--站点图标-->
<link rel="shortcut icon" href="/image/f.ico"> 

meta标签提供有关页面的元信息(mata-information),针对搜索引擎和更新频度的描述和关键词,其位于文档的头部,不包含任何内容,提供的信息是用户不可见的。其组成包含两个属性,它们分别是http-equiv属性和name 属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能

3.2、body内常用标签

 3.2.1、基本标签及特殊字符

#基本标签
<b>加粗</b>
<i>斜体</i>
<u>下划线</u>
<s>删除</s>
<p>段落标签</p>
<!--标题标签h1-h6-->
<h1></h1>
<!--换行-->
<br>
<!--水平线-->
<hr>

 特殊字符:

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

3.2.2、div标签和span标签

div标签用来定义一个块级元素,并无实际的意义。主要通过CSS样式为其赋予不同的表现。
span标签用来定义内联(行内)元素,并无实际的意义。主要通过CSS样式为其赋予不同的表现

块级标签与行内标签的区别:
所谓块级标签,是以另起一行开始渲染的元素,行内元素则不需另起一行。如果单独在网页中插入这两个元素,不会对页面产生任何的影响。
注意:

  • 通常块级标签可以包含内联标签或某些块级标签,但内联标签不能包含块级标签,它只能包含其它内联标签
  • p标签不能包含块级标签,p标签也不能包含p标签

3.2.3、img标签和a标签

#img标签
<img src="图片的路径" alt="图片未加载成功时的提示" title="鼠标悬浮时提示信息" width="宽" height="高(宽高两个属性只用一个会自动等比缩放)">

#a标签
<a href="http://www.baidu.com" target="_blank" >百度</a>

#href属性指定目标网页地址。该地址可以有几种类型:
#绝对URL - 指向另一个站点(比如 href="http://www.jd.com)
#相对URL - 指当前站点中确切的路径(href="index.htm")
#锚URL - 指向页面中的锚(href="#top")

#target:
#_blank表示在新标签页中打开目标网页
#_self表示在当前标签页中打开目标网页(默认)

3.2.3、列表与表格

#列表
#1、无序列表
<ul type="disc">
  <li>1</li>
  <li>2</li>
</ul>
#type属性:disc(实心圆,默认值)、circle(空心圆)、square(实心方块、none(无样式)

#2、有序数字列表
<ol type="1" start="2">
  <li>第一</li>
  <li>第二</li>
</ol>
#type属性:(1排序 ,默认值)(A 大写字母排序)(a 小写字母排序)(Ⅰ大写罗马字符排序)(ⅰ小写罗马字符排序)  start:从几开始排序

#3标题列表(分层)
<dl>
  <dt>标题1</dt>
  <dd>内容1</dd>
  <dt>标题2</dt>
  <dd>内容1</dd>
  <dd>内容2</dd>
</dl>
#表格
<table border="1">
  <thead>  
  <tr>
    <th>序号</th>
    <th>姓名</th>
    <th>爱好</th>
  </tr>
  </thead>
  <tbody>
  <tr>
    <td>1</td>
    <td>jump</td>
    <td>crazy</td>
  </tr>
  <tr>
    <td rowspan="2">2</td>
    <td>crazy</td>
    <td>jump</td>
  </tr>
  <tr>
    <td colspan="2">crazyjump</td>
  </tr>

  </tbody>
</table>
#属性:
border: 表格边框
cellpadding: 内边距
cellspacing: 外边距.
 像素 百分比.(最好通过css来设置长宽)
rowspan: 单元格竖跨多少行(向下)
colspan: 单元格横跨多少列(向左)

3.2.4、form表单

表单用于向服务器传输数据,从而实现用户与Web服务器的交互。表单能够包含input系列标签,比如文本字段、复选框、单选框、提交按钮等,表单还可以包含textarea、select、fieldset和 label标签。

表单属性:

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

input标签

type属性值表现形式对应代码
text 单行输入文本 <input type=text" />
password 密码输入框 <input type="password"  />
date/time 日期/时间输入框 <input type="date" /><input type ="time">
checkbox 复选框 <input type="checkbox" checked="checked"  />(checked默认选中)
radio 单选框 <input type="radio"  /> (name相同互斥)
submit 提交按钮 <input type="submit" value="提交" />
reset 重置按钮 <input type="reset" value="重置"  />
button 普通按钮 <input type="button" value="普通按钮"  />
hidden 隐藏输入框 <input type="hidden"  />
file 文本选择框 <input type="file"  />
补充:
id:标签的id
name:表单提交时的“键”
value:表单提交时对应项的值
checked:radio和checkbox默认被选中的项
readonly:text和password设置只读
disabled:所有input均适用
placeholder="请输入你的用户名"  :提示输入

select标签(下拉框)

<select name="xxx" size="10" multiple="multiple">
        <option value="bj" selected="selected">北京</option>
        <option>上海</option>
        <optgroup label="南京">  
            <option>玄武</option>
            <option>鼓楼</option>
        </optgroup>
 </select>

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

label标签

<label> 标签为 input 元素定义标注
说明:label 标签不会向用户呈现任何特殊效果。label 标签的 for 属性值应当与相关元素的 id 属性值相同

<label for="username">用户名</label>
<input type="text" id="username" name="username">

textarea标签(多行文本)

<textarea name="name" id="1" cols="10" rows="10">
  默认内容
</textarea>

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

3.2.5、补充上传文件

<form action="/home/index" method="PST" enctype="multipart/form-data">   
    <input type="file" name="filename">
</form>

if request.FILES:
        filename = request.FILES["filename"].name
        with open(filename, 'wb') as f:
            for chunk in request.FILES['file'].chunks():
                f.write(chunk)

  

原文地址:https://www.cnblogs.com/crazyjump/p/10310460.html