web前端+HTML5+CSS3学习笔记

文章目录

  • HTML认知
    • 网页的基本组成和本质
    • HTML初始概念
    • HTML标签学习
  • HTML基础
    • 列表
    • 表格
    • 表单
    • 语义化标签
    • 字符实体
  • CSS基础
    • 基础认知
    • 选择器
    • 文字字体
    • Emmet语法
  • CSS进阶
    • 复合选择器
      • 后代选择器
      • 子代选择器
      • 并集选择器
      • 交集选择器
      • 伪类选择器
    • 背景的相关属性
    • 元素的显示模式
    • CSS特性

HTML认知

网页的基本组成和本质

  1. 网页是由文字,图片,音频,视频,超链接组成的,是网站中的一页。后缀文件是.html或者.htm
  2. 网页背后的本质是前端程序员的代码
  3. 前端的代码通过浏览器的转化(解析和渲染)成用户眼中的网页
  4. 浏览器是网页显示运行的平台,是前端开发的必备工具。
  5. 浏览器是有渲染引擎的,专门对代码进行解析渲染
  6. 渲染引擎不同,导致解析相同的代码的时候的速度,性能,效果不同。所以一个页面在不同的浏览器打开可能效果也不一样。
  7. web标准:不同浏览器的渲染引擎不同,对于相同代码解析的效果存在差异。所以web标准分三个部分构成。
  8. 网站是因特网根据一定规则使用html指定的展示特定内容的网页集合。
  9. 浏览器内核(渲染引擎):负责读取网页内容,整理讯息,计算网页的显示方法和显示界面。
构成 语言 说明
结构 HTML 页面元素和内容
表现 CSS 网页元素的外观和位置的页面形式
行为 JavaScript 网页模型的定义和页面交互

HTML初始概念

  • HTML中文意思是超文本标记语言,不是编程语言而是标记语言,如果将记事本的后缀,txt改成.html,就可以在网页中打开。点击右键在记事本中打开后,可以通过下面加粗。
<strong>我爱你<\strong>
  • 网页类似于一篇文章,有固定的结构,是通过特点的HTML标签进行描述的。
  • 超文本是说可以加入图片,声音,动画和多媒体等等内容,超越文本限制。并且它还可以从一个文件跳到另外一个,和世界各地的主机相连(超级链接文本)。标签中有包含关系和兄弟关系。
<html>//根标签
  <head>
    <title>我是帅哥title>//网页标题
   head>
   <body>body>
html>
  • 按住!再按一个tab就会自动显示html的骨架。ctrl+s可以保存。Alt+B可以直接打开默认网页。注释ctrl+/。
  • 标签是由< > /,英文单词或者字母组成。并且把标签<>包括起来的英文单词或者字母称为标签名
  • 常见标签是由俩部分构成,需要开始和结束,俩部分包着内容。如果只需要一部分,仅仅使用单标签就可以。
  • HTML的标签和标签之间可以分为俩类,一类是父子关系,或者并列关系。

HTML标签学习

  • 声明标签:
DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    title>
head>
<body>
    写代码是快乐的事情
    
body>
html>
DOCTYPE html>:文档类型声明,告诉浏览器使用哪种的html版本显示网页
//不是html标签,是给整个文档做声明
lang:定义当前文档的显示语言
//en:英语 zh-CN:中文 英文和中文网站都可以互写,用来起到警示作用

字符集charset:字符的集合,以便于计算机能够识别和存储文字。

<meta charset="UTF-8">
UTF-8:万国码(不会出现乱码)
  • 标题标签:文字加粗,文字逐渐变小,独占一行,共六级
<h1>真好h1>//一级标题
<h2>h2>//二级标题
  • 段落标签:段落之间存在间隙,独占一行
<p>好呢p>
  • 换行标签:break,只会改变行距,不改变段落距离。

  • 水平线标签
<hr>
  • 文本格式化标签的介绍
    以下俩套语法,只是在语义上显示更加重要,并没有太多区别。
b 加粗
u 下划线
i 倾斜
s 删除线
strong 加粗
ins 下划线
em 倾斜
del 删除线
  • 图片标签
    (1)单标签,img标签需要展示对应的效果,需要借助标签的属性进行设置。
    (2)src叫做属性名,‘’“叫做属性值。src”"叫做标签属性。
    (3)标签里面可以有多个属性,但是标签名和属性之间要用空格隔开。属性没有先后顺序之分。
    (4)
    alt是替换文本。只有当图片加载失败的时候,才会加载alt中的内容。
    title属性:当鼠标悬停的时候才出现的图片
    width和height属性:如果只设置一个的时候,另一个也会跟着等比例缩放。只需要写一个值就行了。
    border设置边框的粗细
<img src=""alt="">

(5)图像标签可以有多个属性,必须写在标签名的后面,属性之间不分顺序,必须用空格隔开。属性采用键值对的格式,key=“value”,属性=属性值。

  • 路径:页面要加载图片,需要先找到对应的图片。路径也就是找东西的方法。可以分为绝对路径和相对路径。
    绝对路径指的是目录下的绝对位置,可以直接到达目标的位置,通常从盘符开始的路径。包括完整的网址或者D:\等等。(可以复制网页上图片的绝对路径连入)
    相对路径(常用):从当前文件开始出发去找目标文件。相对文件分为同级目录,下级目录,上级目录。图片相对于html界面的位置
相对路径分类 符号 说明
同一级路径 图像文件相对于html在同一级
下一级路径 / 图像文件相对于html文件的下一级
上一级路径 …/ 图像文件相对于html文件的上一级
  • 目录文件夹:普通文件夹。 根目录:目录文件夹的第一层
<img src="目标文件.gif">
<img src="./目标文件.gif">
<img src="文件名/目标文件.gif">//进入下一级
<img src="../目标文件.gif">//..有几层就是向下面走几层
  • 音频标签

    音频格式目前支持三种:MP3,Wav,Ogg
src 音频的路径
controls 显示播放的控件
autoplay 自动播放(部分浏览器不支持)
loop 循环播放
  • 视频标签
    谷歌浏览器可以配合muted aupoplay静音播放
<video src="" controls>video>
  • 链接标签(a标签,超链接,锚链接)
    1.当我们不知道文件跳转到哪里的时候,可以写一个空链接href的值书写#空链接。href的作用是跳转的地址,是一个必须属性。
    2.链接的target是指按照什么方式打开网页。target属性默认为_self,在当前页面中跳转,覆盖原网页。_blank在新窗口跳转,保留原网页。
    3.外部链接:”http://www.qq.com"
    内部链接:网站内部界面之间的相互链接(直接写网页的名称)
    下载链接:如果href里面的地址是一个文件(.exe)或者压缩包(.zip),会下载这个文件。
    锚点链接:当我们点击链接的时候,可以快速定位到页面的某个位置。
    (设置属性值为好啊
<a href="jieshao.html">a>
<a href="www.zip">a>
<a href="./目标文件">目标文件a>
<a href="跳转目标" target="目标窗口的弹出方式">文本或者图像a>

HTML基础

列表

  • 使用:场景(在网页中按照行显示相关联的内容,比如”新闻列表,排行榜,账单")。
    特点:按照换行的方式,整齐显示内容。其目的是用来布局的,不是显示数据。
    种类:无序列表,有序列表,自定义列表。
  • 无序列表:比如写新闻列表
    ul标签里面只允许包含li标签,直接在里面输入内容是不被允许的。li里面可以包含任意内容。
<ul>
<li>苹果li>
<li>香蕉li>
<li>葡萄li>
ul>

有序列表:比如放手机性能的排序,排名类的列表

<ol>
<li>苹果li>
<li>香蕉li>
<li>葡萄li>
ol>

自定义列表:一个主标题下有好多小标题。用于对术语和名词进行解释和描述,定义列表的列表项前面没有项目符号。

dl 表示自定义列表的整体,用于包裹dt/dd标签
dt 表示自定义列表的主题
dd 表示自定义列表的针对主题的每一项内容
<dl>
  <dt>账户管理dt>
  <dt>购物指南dt>
dl>

表格

用于展示显示数据,因为它可以使得数据显示的非常规整,可读性很好,不是布局的。

  • table:表格整体,用于包裹多个tr
  • tr:表示每行,用于包裹td
  • td:表格单元格,用于包裹内容,指的是表格数据,也就是数据单元格的内容。
  • 嵌套关系:table>tr>td

表格相关属性:

  1. th表示表头单元格,位于表格的第一行或者第一列,表头单元格中的文本内容加粗居中显示。
  2. 表格属性:
属性名 属性值 描述
align left,right,center 规定表格相对周围元素的对齐方式
border 1或者“” 规定表格单元是否有边框,默认为“”没有边框
cellpadding 像素值 规定单元格与内容之间的空白,默认2像素
cellspacing 像素值 规定单元格之间的空白,默认2像素
width 像素值或者百分比 规定表格的宽度
  1. 合并单元格
  • 合并单元格:
    分类:跨行合并(竖直合并)跨列合并(水平合并)
  • 合并单元格的步骤:
    (1)左上原则:如果是上下合并,只保留最上面的。如果是左右合并,只保留最左边的。
    (2)跨行合并rowspan=“合并的个数”
    跨列合并colspan="合并的个数“
    (3)删除多余的单元格
<td rowspan="2">100td>
border 数字 边框宽度
width 数字 表格宽度
height 数字 表格高度
  1. 为了让表格的内容结构分组,突出表格的头部(不是表头单元格),主体,底部。
thead 表格头部
tbody 表格主题
tfoot 表格底部
<table border="1" width="500">
<caption><strong>学生成绩单strong>caption>
<thead>
 <tr>
    <td>姓名td>
    <td>成绩td>
    <td>评语td>
tr>
thead>
<tbody>
 <tr>
    <td>小哥哥td>
    <td>100td>
    <td>好看td>
tr>
tbody>
table>

表单

  • 能够使用表单相关标签和属性,实现网页中表单类网页结构搭建,比如注册页面和搜索页面。表单可以做到收集用户的信息,和用户进行交互。
  • 一个完整的表单包含表单域,表单控件(表单元素),提示信息三部分
  • 表单域是一个包含表单元素的区域,
    会把它范围内的表单元素信息提交给服务器
<form action="url地址" method="提交方式" name="表单域名称">
各种表单元素控件
form>

表单元素:
1.input输入表单元素,单标签,根据取值的不同,展示出不同的效果。

属性 属性值 描述
name 用户自定义 定义input元素的名称
type
value(placeholder) 用户自定义 规定input元素的值
checked checked 规定此input元素首次加载时应当被选中
maxlength 正整数 规定输入字段中的字符最大长度
<input type="text">

type的取值:

标签名 type属性值 说明
input text 文本框,用于输入文本
input password 密码框,用于输入密码
input radio 单选框,用于多选一
input checkbox 用于多选多
input file 文件选择,用于之后上传文件。定义输入字段和”浏览“按钮,供文件上传
input submit 提交按钮,用于提交,把表单域的内容送给服务器
input reset 重置按钮,用于重置
input placeholder 占位符,用于提示用户加入提示文字
input button 定义可点击按钮(多数情况下,通过javaScript启动脚本)
<input type="file" multplay> //上传多个文件
<input type="text" placeholder="请输入用户名">
//name是表单元素名字,这里性别单选按钮必须有相同的名字name才能实现多选一
性别:<input type="radio" name="sex"><input type="radio" name="sex">

name和value是每个表单元素都有的属性值,主要给后台人员使用。
name是表单元素的名字,要求单选按钮和复选框要有相同的name值。

submit 提交按钮,提交之后给了服务器
reset 重置按钮,点击之后恢复表单默认值
button 普通按钮,默认无功能,之后配合js添加功能

2.textarea文本域标签 双标签
场景:提供可输入多行文本的表单控件,常见于留言板评论等等。常见的cols规定了文本域的可见宽度,rows规定了文本域的可见行数。

<textarea cols="50" rows="5">
  文本内容
texyarea>

3.label标签:
标签为input元素定义标注,绑定内容与表单标签的关系。当点击这个标签的时候,浏览器会自动转到对应的表单元素上。
(法一)使用label标签包裹内容,在label标签的for属性设置对应的id属性值,然后在input里面设置相应的id.for里面的值和id里面的值要一模一样。
(法二)直接把lable绑定

<input type="radio" name="sex" id="nan"> <lable for="nan">lable>
<lable><input type="radio" name="sex">lable>

4.select下拉表单元素
场景:页面中有多个选项让用户选择,但是想要去节约控件,可以使用