前端基础知识总结(html部分)

302 阅读11分钟

前端基础知识总结

基础概念铺垫

认识网页

  1. 网页是由文字,图片,音频,视频,超链接 组成的

  2. 网页的本质是前端程序员写的代码

  3. 同浏览器的解析和渲染成用户所看到的网页

五大浏览器和渲染引擎

浏览器是网页显示,运行的平台

常见的五大浏览器

  • IE浏览器,火狐浏览器(Firefox),谷歌浏览器(Chrome),Safari浏览器,欧朋浏览器(Opera)

渲染引擎(浏览器内核):浏览器专门对代码进行解析渲染部分

浏览器不同,其内在的渲染引擎也不同:

内核浏览器备注
TridentIEIE 猎豹 360急速浏览器 百度浏览器
FireFoxGecko火狐浏览器内核
SafariWebkit苹果浏览器内核
Chrome/OperaBlintBlink其实是Webkit的分支

注意点:

  • 渲染引擎不同,导致解析相同代码的速度,性能,效果也不同
  • 谷歌浏览器的渲染引擎速度快,性能高,效果好,所以更吸引用户的喜爱

Web标准

Web标准让不同浏览器按照相同的标准显示结果,让显示效果统一,解决了不同浏览器之间的显示效果不同的问题

Wen标准中的三大构成:

构成语言说明
结构HTML页面元素和内容
表现CSS网页元素的外观和位置等页面样式
行为JavaScript网页模型的定义和页面交互

HTML标签

排版标签

标题标签

使用场景:

在新闻和文章的页面中,都里不开标题标签,用来突出显示文章主题

代码:

<h1>一级标题</h1>
<h2>二级标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>

语义:1~6级标题

特点:

  • 文字都有加粗
  • 文字都变大,并逐级减小
  • 独占一行

image.png

注意点:h1标签对网页非常重要,早开发中有特定的使用场景,如:新闻标签,网页logo部分

段落标签

场景: 在新闻和文章的页面中用于分段显示

代码:

<p>这是一个段落标签</p>

特点:

  • 独占一行
  • 段落直接有间隙

换行标签

场景: 让文字强制换行

代码:

<p>这是第一行<br>这是第二行</p>

特点

  • 单标签
  • 让文字强制换行

水平标签

场景: 分割不同主题内容的水平线(在代码中很少用,常用于新闻类网页居多)

代码:

<h1>新闻30分</h1>
<hr>
<p>震惊世界的。。。。。。</p>

特点:

  • 单标签
  • 在页面中显示一条水平线

文本格式化标签

场景: 让需要的文字显示出加粗,下划线,倾斜,删除线等效果

代码:

标签说明
b,strong加粗
u,ins下滑线
i,em倾斜
s,del删除线
<b>这是一段加粗的文字</b>  <strong>这也是一段加粗的文字</strong>
<u>这是一段有下滑线的文字</u> <ins>这是一段有下滑线的文字</ins>
<i>这是一段倾斜的文字</i> <em>这是一段倾斜的文字</em>
<s>这是一段有删除线的文字</s> <del>这是一段有删除线的文字</del>

image.png

语义: 突出重要性的强调的语境

在开发中推荐使用 strong ,ins,em,del 因为他们表示的语义更加强烈

媒体标签

图片标签

场景: 在网页中显示图片

代码:

<img src="xx.jpg" alt="图片不能显示是显示的文字">

特点:

  • 单标签
  • img标签需要借助标签的属性进行设置才能达到对应的显示效果
图片标签中的属性
属性说明
src指定需要展示的图片路径
alt替换文本,当图片加载失败时,才显示的文字
title提示文本,当鼠标悬停是,才显示的文字
width图片的宽度
height图片的高度

属性注意点:

  • 标签的属性写在开始标签内部
  • 一个标签上可以同时存在多个属性
  • 属性直接以空格隔开
  • 标签名与属性之间必须以空格隔开
  • 属性没有顺序之分

音频标签

场景: 在页面中插入音频

代码:

<audio src="xx.mp3" controls></audio>

常见属性:

属性名功能
src音频的路径
controls显示播放的控件
autoplay自动播放(部分浏览器不支持)
loop循环播放

注意点:音频标签目前支持三种格式:MP3,Wav,Ogg

视频标签

场景: 在页面中插入视频

代码:

<video src="xx.mp4" controls></video>

常见属性:

属性名功能
src视频的路径
controls显示播放控件
autoplay自动播放(在谷歌浏览器中需要配合muted实现静音播放)
loop循环播放

注意点:视频标签目前支持三种格式:MP4,WebM,Ogg

链接标签

场景: 点击之后,从一个页面跳转到另一个页面

称呼: a标签,超链接,瞄标签

代码:

<a href="baidu.com">超链接</a>

特点:

  • 双标签,内部可以包裹内容
  • 如果需要a标签去指定页面需要设置其href属性
  • a标签默认文字有下滑线
  • a标签没有被点击过,默认文字显示为蓝色
  • a标签被点击过后,文字显示为紫色

属性:

属性名功能
href设置跳转的目标网页
target目标网页打开方式(_self:默认值,在当前窗口跳转,覆盖原网页。 _blank:在新的窗口跳转,保留原网页)

小拓展

锚点

在相同页面:

<a href="#one"></a> //点击锚点标签后跳到的位置
<h6 id=“one”></h6>//设置在点击这个标签后跳到对应id的锚点

在不同页面:

<a href="xx.html#two"></a>
<h6 id="two"></h6>

列表标签

场景: 在网页中按照一行一行的展示出关联的内容,如新闻列表,排行榜等

特点: 按照行的方式,整齐显示内容

种类: 无序列表,有序列表,自定义列表

无序列表

场景:在网页中表示一组无顺序之分的列表,如新闻列表

标签组成:

标签名说明
ul表示无序列表的整体,用于包裹li标签
li表示无序列表的每一项,用于包含每一行的内容

代码:

<ul>
    <li>第一行</li>
    <li>第二行</li>
    <li>第三行</li>
    <li>第四行</li>
    ...
</ul>

显示特点: 列表的每一项前默认显示圆点标识

image.png

注意点:

  • ul标签中只允许包含li标签
  • li标签可以包含任意标签

有序列表

场景: 在网页中表示一组有顺序之分的列表,如排行版等

标签组成:

标签名说明
ol表示有序列表的整体,用于包裹li标签
li表示有序列表的每一项,用于包含每一行的内容

代码:

<ol>
    <li>第一</li>
    <li>第二</li>
    <li>第三</li>
    <li>第三</li>
    ...
</ol>

显示特点:列表的每一项默认显示序号标识

image.png

注意点:

  • ol标签中只能包含li标签
  • li标签可以包含任意标签

自定义列表

场景: 在网页的底部导航通常会使用自定义列表实现

标签组成:

标签名说明
dl表示自定义列表的整体,用于包裹dt/dd标签
dt表示自定义列表的主题
dd表示自定义列表主题内容的每一项内容

代码:

<dl>
    <dt>帮助中心</dt>
    <dd>账户管理</dd>
    <dd>购物指南</dd>
    <dd>订单操作</dd>
</dl>

显示特点:dd标签会默认显示缩进效果

image.png

注意点:

  • dl标签中只能包含dt/dd标签
  • dt/dd标签可以包含任意内容

表格标签

场景: 在网页中可以以行+列的单元格方式展示数据,如学生成绩表

基本标签:

标签名说明
table表格整体,用于包含多个tr
tr表格的每一行,用于包裹td ,th
td表格的单元格,用于包裹内容
caption表示表格整体大标题,默认在表格整体的顶部居中位置显示
th表示一列小标题,通常用于表格第一行,默认内部文字加粗且居中显示

注意点:

  • 标签的嵌套关系:table>caption&tr>td&th
  • caption标签书写在table标签内部
  • th标签书写在tr标签内部(用于替换td标签)

代码:

<table>
    <caption>学生成绩单</caption>
    <tr>
    	<th>姓名</th>
        <th>成绩</th>
        <th>评语</th>
    </tr>
    <tr>
    	<td>阿强</td>
        <td>100</td>
        <td>阿强真强</td>
    </tr>
    <tr>
    	<td>阿花</td>
        <td>100</td>
        <td>阿花真厉害</td>
    </tr>
    <tr>
    	<td>总结</td>
        <td>郎才女貌</td>
        <td>天造地设</td>
    </tr>
</table>

表格结构标签

场景: 让表格的内容结构分组,突出表格的不同部分(头部,主题,底部),使语义更加清晰

结构标签:

标签名名称
thead表格头部
tbody表格主体
tfoot表格底部

代码:

<table>
    <caption>学生成绩单</caption>
    <thead>
    	<tr>
            <th>姓名</th>
            <th>成绩</th>
            <th>评语</th>
    	</tr>
    </thead>
    <tbody>
    	 <tr>
            <td>阿强</td>
            <td>100</td>
            <td>阿强真强</td>
        </tr>
        <tr>
            <td>阿花</td>
            <td>100</td>
            <td>阿花真厉害</td>
    	</tr>
    </tbody>
   <tfoot>
   		<tr>
            <td>总结</td>
            <td>郎才女貌</td>
            <td>天造地设</td>
    	</tr>
   </tfoot>
    
</table>

注意点:

  • 表格结构标签内部用于包裹tr标签
  • 表格结构标签可以省略

表格标签属性

表格常见属性:

属性名属性值说明
border数字边框的宽度
width数字表格的宽度
height数字表格高度
rowspan合并单元格的个数跨行合并,并将多行的单元表格垂直合并
colspan合并单元格的个数跨列合并,将多列的单元格水平合并

合并单元格的步骤思路:

  1. 明确合并哪几个单元格
  2. 通过左上原则,确定保留谁删除谁
    • 上下合并>只保留最上面的,删除其他
    • 左右合并>只保留最左的,删除其他
  3. 给保留的单元格设置:跨行合并或者跨列合并
    • rowspan: 跨行合并>垂直方向合并(上下)
    • colspan: 跨列合并>水平方向合并(左右)

注意: 只有在同一个结构标签中的单元表格才可以合并,不能跨结构标签合并(不能跨:thead,tbody,tfoot)

代码:

<table>
    <caption>学生成绩单</caption>
    <thead>
    	<tr>
            <th>姓名</th>
            <th>成绩</th>
            <th>评语</th>
    	</tr>
    </thead>
    <tbody>
    	 <tr>
            <td>阿强</td>
            <td rowspan="1">100</td>
            <td>阿强真强</td>
        </tr>
        <tr>
            <td>阿花</td>
            <td>阿花真厉害</td>
    	</tr>
    </tbody>
   <tfoot>
   		<tr>
            <td>总结</td>
            <td colspan="1">郎才女貌</td>
    	</tr>
   </tfoot>
    
</table>

表单标签

input系列标签

场景: 在网页中显示收集用户信息表单效果,如登录页,注册页等

标签名:input

  • input 标签可以通过type属性值不同,展示不同效果

type属性值(部分常见)

标签名type属性值说明
inputtext文本框,用于输入单行文本
inputpassword密码框,用于输入密码
inputradio单选框,用于多选一
inputcheckbox多选框,用于多选多
inputfile文件选择,用于上传文件
inputsubmit提交按钮,用于提交
inputreset重置按钮,用于重置
inputbutton普通按钮,配合js使用

注意: 以上都是常见的,想要了解更多可以查看[][[MDN Web Docs (mozilla.org)文档]developer.mozilla.org/zh-CN/

常用属性:

属性名说明
placeholder占位符。提示用户输入内容文本
value用户输入的内容,提交后会发送给后端服务器
name提交后告诉后端发送过来的数据是什么含义,在单选框中相同name属性值相同为一组,一组中只能选中一个
checked默认选中。作用于单选框和多选框
multiple选中多个文件

代码:

<form action="">
        用户名:<input type="text" placeholder="输入用户名"> <br><br>
        密码:<input type="password" placeholder="密码"><br><br>
        性别: <input type="radio" name="sex" checked><input type="radio" name="sex"><br><br>
        多选框: <input type="checkbox" checked><input type="checkbox" checked><input type="checkbox" checked>rap 
        		<input type="checkbox" checked>篮球<br><br>
        选择文件: <input type="file" multiple><br><br>
        提交框: <input type="submit" value="提交"><br><br>
        重置框: <input type="reset">
    </form>

image.png

注意:

  • 如要实现以上按钮功能,需要配合form标签使用
  • form使用方法:用form标签把表单标签一起包裹起来即可

button按钮标签

场景: 在网页中显示用户点击按钮

标签名:button

type属性值:

标签名type属性值说明
buttonsubmit提交按钮,点击之后提交数据给后端服务器
buttonreset重置按钮。点击之后恢复表单默认值
buttonbutton普通按钮。配合js使用

代码:

<form action="">
        <button type="submit">提交按钮</button>
        <button type="reset">重置按钮</button>
        <button>普通按钮</button>
</form>

image.png

注意点:

  • 在谷歌浏览器中默认是提交按钮
  • button标签是双标签,便于包裹其他内容:文字,图片等

select下拉菜单标签

场景: 在网页中提供多个选项的下拉菜单表单控件

标签组成

  • select标签:下拉菜单整体
  • option标签:下拉菜单的每一项

常见属性:

  • selected:下拉菜单的默认选中

代码:

<select>
        <option value="">北京</option>
        <option value="">上海</option>
        <option value="" selected>广州</option>
        <option value="">深圳</option>
        <option value="">曹县</option>
</select>

image.png

textarea文本域标签

场景: 在网页中提供可输入多行文本的表单控件

标签名:textarea

常见属性:

  • cols:规定了文本域可见宽度
  • rows:规定了文本域内可见行数

注意点:

  • 右下角可以拖动改变大小
  • 实际开发是针对样式效果推荐使用css设置

代码:

<textarea cols="30" rows="10"></textarea>

image.png