前端基础

概述:

超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。HTML是一种基础技术,常与CSS、JavaScript一起被众多网站用于设计令人赏心悦目的网页、网页应用程序以及移动应用程序的用户界面。网页浏览器可以读取HTML文件,并将其渲染成可视化网页。HTML描述了一个网站的结构语义随着线索的呈现,使之成为一种标记语言而非编程语言。

HTML元素是构建网站的基石。HTML允许嵌入图像与对象,并且可以用于创建交互式表单,它被用来结构化信息——例如标题、段落和列表等等,也可用来在一定程度上描述文档的外观和语义。HTML的语言形式为尖括号包围的HTML元素(如),浏览器使用HTML标签和脚本来诠释网页内容,但不会将它们显示在页面上。

HTML可以嵌入如JavaScript的脚本语言,它们会影响HTML网页的行为。网页浏览器也可以引用层叠样式表(CSS)来定义文本和其它元素的外观与布局。维护HTML和CSS标准的组织万维网联盟(W3C)鼓励人们使用CSS替代一些用于表现的HTML元素。

HTML和CSS的关系

HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。
CSS样式是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。
JavaScript是用来实现网页上的特效效果。如:鼠标滑过弹出下拉菜单。或鼠标滑过表格的背景颜色改变。还有焦点新闻(新闻图片)的轮换。可以这么理解,有动画的,有交互的一般都是用JavaScript来实现的。

HTML文件基本结构

<html>
    <head>...</head>
    <body>...</body>
</html>

<html></html>称为根标签,所有的网页标签都在<html></html>中。
<head>标签用于定义文档的头部,它是所有头部元素的容器。头部元素有<title>、<script>、 <style>、<link>、<meta>等标签
在<body>和</body>标签之间的内容是网页的主要内容,如<h1>、<p>、<a>、<img>等网页内容标签,在这里的标签中的内容会在浏览器中显示出来.

HTML的代码注释

代码注释的作用是帮助程序员标注代码的用途,过一段时间后再看你所编写的代码,就能很快想起这段代码的用途。代码注释不仅方便程序员自己回忆起以前代码的用途,还可以帮助其他程序员很快的读懂你的程序的功能,方便多人合作开发网页代码。

语法:

<!-- 注释文字 -->

HTML文档树

Doctype 文档类型

Doctype告诉浏览器使用什么样的html或xhtml规范来解析html文档

有和无的区别:

  1. BackCompat:标准兼容模式未开启(或叫怪异模式[Quirks mode]、混杂模式)
  2. CSS1Compat:标准兼容模式已开启(或叫严格模式[Standards mode/Strict mode])

这个属性会被浏览器识别并使用,但是如果你的页面没有DOCTYPE的声明,那么compatMode默认就是BackCompat,这也就是恶魔的开始 -- 浏览器按照自己的方式解析渲染页面,那么,在不同的浏览器就会显示不同的样式。如果你的页面添加了那么,那么就等同于开启了标准模式,那么浏览器就得老老实实的按照W3C的标准解析渲染页面,这样一来,你的页面在所有的浏览器里显示的就都是一个样子了。

Doctype告诉浏览器使用什么样的html或xhtml规范来解析html文档, dtd文件则包含了标记、attributes 、properties、约束规则。

HTML文档树之head信息

<head>

    <!-- 页面编码简写 -->
    <meta charset="UTF-8">

    <!-- 自动刷新 -->
    <meta http-equiv="Refresh" Content="5">

    <!-- 自动跳转 -->
    <meta http-equiv="Refresh" Content="5;Url=http://www.baidu.com" />

    <!-- 标题 -->
    <title>标题</title>

    <!-- 页面关键字 -->
    <meta name="keywords" content="关键字1,关键字2,关键字3,关键字4,关键字5">

    <!-- 描述 -->
    <meta name="description" content="HTML" />

    <!-- icon -->
    <link rel="icon" href="favicon.ico" type="image/x-icon">

    <!-- 调用CSS样式 -->
    <link href="css.css" rel="stylesheet" type="text/css">

    <!-- CSS样式段 -->
    <style>
        /* CSS样式 */
    </style>

    <!-- JS标签 -->
    <!-- 引用JS代码 -->
    <script type="text/javascript" src="static/js/test.js"></script>

    <!-- 写JS代码 -->
    <script type="text/javascript">
        // 代码块
    </script>

</head>

内联标签(行内标签)和块级标签

块级元素—h1,h2,h3,h4,h5,h6,hr,div,fieldset,form,dl,address,ol,p,table,ul,pre等。
内联元素—a,b,br,em,i,img,input,strong,textarea,span,label等。

他们两个的区别:

  1. 块级元素一般用来搭建网站架构、布局、承载内容
  2. 内联元素一般用来在网站内容中的某些细节或者部位,用以“强调、区分样式、上标、下标、锚点”等等。
  3. 它们可以互相转换。display:inline|block
  4. 块级元素的特点:每一个块级元素都识从一个新行开始显示,其后的元素需要另起一行。
  5. 内敛标签的特点:位置多少就占用多少,不会另起一行.

他们最大区别在于块元素后面的其他东西会被换到下行,而内联元素后面的东西不会:

<div>块后面的元素会被挤到下一行</div>
<a>连接</a>

<a>我是链接,后面的链接会在一行上继续挨着我</a>
<a>我会挨着上一个链接</a>

HTML <body>段常用标签

  • 标题 <hn>

    标题标签一共有6个,h1、h2、h3、h4、h5、h6分别为一级标题、二级标题、三级标题、四级标题、五级标题、六级标题。并且依据重要性递减。<h1>是最高的等级。

    语法:

一级标题

二级标题

三级标题

四级标题

五级标题
六级标题
```
  • <p></p>

    如果想在网页上显示文章,这时就需要<p>标签了,把文章的段落放到<p>标签中。

    语法:

    <p>段落文本</p>
    
    
  • <br />

    可以使用<br />标签在需要加回车换行的地方加入<br />,<br />标签作用相当于word文档中的回车。

    语法:


```
  • <strike></strike>

    文字删除线

    语法:

```
  • <b></b>

    文字加粗加粗

    语法:

内容
```

  • <em></em> <strong></strong>

    em和strong标签是为了强调一段话中的关键字时使用,它们的语义是强调,em表示强调,strong表示更强烈的强调,浏览器中em默认用斜体表示,strong用粗体表示

    语法:

需要强调的文本
需要强调的文本
```

  • <sub></sub> <sup></sup>

    上下标 32 32

    语法:

32
32
```

  • <q>

    短文本引用

    语法:

引用文本

```
  • <blockquote>

    长文本引用

    语法:

引用文本
```
  • <hr />

    水平横线

    语法:


```
  • <address></address>

    为网页加入地址信息,一般网页中会有一些网站的联系地址信息需要在网页中展示出来,这些联系地址信息如公司的地址。也可以定义一个地址(比如电子邮件地址)、签名或
    者文档的作者身份。

    语法:

联系地址信息
```
  • 空格

    语法:

```
  • <div></div>

    在网页制作过程过中,可以把一些独立的逻辑部分划分出来,放在一个标签中,这个标签的作用就相当于一个容器。

    语法:

```
  • <span>

    <span>标签是没有语义的,它的作用就是为了设置单独的样式用的。

    语法:

文本

```
  • <code></code>

    使用标签加入一行代码

    语法:

代码语言

```
  • <pre></pre>

    使用pre标签为你的网页加入大段代码

    语法:

语言代码段
```
  • <fieldset></fieldset>

登陆

用户名:

密码:

```
  • <img>

    语法:

myimg
```

|属性|说明|
|--|--|
|src|要显示图片的路径|
|alt|图片没有加载成功时的提示|
|title|鼠标悬浮时的提示信息|
  • <a></a>

    超链接标签(锚标签)

    语法:

My

```


```

跳转到尾部

尾部
```

|属性|说明|
|--|--|
|href|规定链接指向的页面的URL|
|target|连接打开方式|
|name|规定锚的名称|
|download|规定被下载的超链接目标|
  • 无序列表

    无序列表,ul-li是没有前后顺序的信息列表。

    语法:

  • 信息
  • 信息
  • ......
```
  • 有序列表

    <ol>在网页中显示的默认样式一般为:每项<li>前都自带一个序号,序号默认从1开始

    语法:

  1. 信息
  2. 信息
  3. ......
```
  • 定义列表

    语法:

```
  • <textarea></textarea>

    文本域,支持多行文本输入

    语法:

    1. <textarea rows="行数" cols="列数">文本</textarea>
    2. <textarea>标签是成对出现的,以<textarea>开始,以</textarea>结束。
    3. cols :多行输入域的列数。
    4. rows :多行输入域的行数。
    5. 在<textarea></textarea>标签之间可以输入默认值。

    举例:

```
  • 表格标签

    创建表格的四个元素:

    table、tbody、tr、th、td

    • <table>…</table>:整个表格以标记开始、</table>标记结束。
    • <tbody>…</tbody>:当表格内容非常多时,表格会下载一点显示一点,但如果加上<tbody>标签后,这个表格就要等表格内容全部下载完才会显示。如右侧代码编辑器中的代码。
    • <tr>…</tr>:表格的一行,所以有几对tr 表格就有几行。
    • <td>…</td>:表格的一个单元格,一行中包含几对<td>...</td>,说明一行中就有几列。
    • <th>…</th>:表格的头部的一个单元格,表格表头。
    • 表格中列的个数,取决于一行中数据单元格的个数。

    语法:

班级 学生数 平均成绩
一班 30 89
```

caption标签,用以描述表格内容,标题的显示位置:表格上方。

语法:

```
… …
标题文本
```

总结:table表格在没有添加css样式之前,在浏览器中显示是没有表格线的表头,也就是th标签中的文本默认为粗体并且居中显示
  • <from></from>

    表单是可以把浏览者输入的数据传送到服务器端,这样服务器端程序就可以处理表单传过来的数据。

    语法:

```

例子:

```

用户名:

<p>密码:<input type="password" name="password" /></p>

<p>
    部门:
        <select name="depart">
            <option value="1">值1</option>
            <option value="2">值2</option>
            <option value="3">值3</option>
        </select>
    <br />
    性别:
        <br />
        <input type="radio" name="gender" value="1" /> 男
        <input type="radio" name="gender" value="2" /> 女 <br />
</p>

<p></p>

<input type="submit" value="提交">
```


表单属性

HTML表单用于接收不同类型的用户输入,用户提交表单时向服务器传输数据,从而实现用户与Web服务器的交互。表单标签, 要提交的所有内容都应该在该标签中.

action: 浏览者输入的数据被传送到的地方,比如一个PHP页面(login.php)
method: 数据传送的方式(get/post)

注意:

所有表单控件(文本框、文本域、按钮、单选框、复选框等)都必须放在标签之间(否则用户输入的信息可提交不到服务器上哦!)。

method:post/get的区别这一部分内容属于后端程序员考虑的问题。感兴趣的小伙伴可以查看本小节的wiki,里面有详细介绍。

get:

- 提交的键值对.放在地址栏中url后面
- 安全性相对较差
- 对提交内容的长度有限制.

post:

- 提交的键值对不在地址栏.
- 安全性相对较高.
- 对提交内容的长度理论上无限制.

input标签type属性:

|属性|描述|
|----|----|
|text|文本输入框|
|password|密码输入框|
|radio|单选框|
|checkbox|多选框|
|submit|提交按钮|
|button|按钮(需要配合js使用.)|
|file|提交文件:form表单需要加上属性enctype=”multipart/form-data”|
|name|表单提交项的键.|
|value|表单提交项的值.对于不同的输入类型,value 属性的用法也不同:|
|checked|radio 和 checkbox 默认被选中|
|readonly|只读. text 和 password|
|disabled|对所用input都好使.|
原文地址:https://www.cnblogs.com/zhangxunan/p/5757749.html