首先是vscode的项目创建,选打开文件夹,今天在D盘下的www文件夹里创建了一个TEST文件
然后是写基本的images和styles和scripts
在index里两句引入
<link rel="stylesheet" href="./styles/main.css">
<script src="./scripts/main.js"></script>

只需短短几行代码就可以有初步的实现
整体样式是在css里调整
我们为了方便把他们放到<div>标签里并且给他设置class名字
我们发现body是有样式的我们把它margin清零 padding也清零

然后开始按设计来制作网页



效果如图
html元素
怎么区分块元素和内联元素,块元素是后面的文本会换行


块元素(block element)
html的块元素有:1、“<address>...</adderss>”;2、“<center>...</center>”;3、“<h1>...</h1>”;4、“<hr>”;5、“<p>...</p>”;6、“<pre>”等等。
HTML(超文本标记语言)中元素大多数都是“块级”元素或行内元素。块级元素占据其父元素(容器)的整个空间,因此创建了一个“块”。通常浏览器会在块级元素前后另起一个新行。
HTML块元素说明:
总是从新的一行开始
高度、宽度都是可控的
宽度没有设置时,默认为100%
块级元素中可以包含块级元素和行内元素
HTML块元素:
块级元素:块级大多为结构性标记
<address>...</adderss>
<center>...</center> 地址文字
<h1>...</h1> 标题一级
<h2>...</h2> 标题二级
<h3>...</h3> 标题三级
<h4>...</h4> 标题四级
<h5>...</h5> 标题五级
<h6>...</h6> 标题六级
<hr> 水平分割线
<p>...</p> 段落
<pre>...</pre> 预格式化
<blockquote>...</blockquote> 段落缩进 前后5个字符
<marquee>...</marquee> 滚动文本
<ul>...</ul> 无序列表
<ol>...</ol> 有序列表
<dl>...</dl> 定义列表
<table>...</table> 表格
<form>...</form> 表单
<div>...</div>
内联元素(inline element)
<a> 可定义锚以及超链接
<abbr> 表示一个缩写形式
<acronym> 表示只取title中首字母的缩写形式
<b> 字体加粗
<bdo> 可覆盖默认的文本方向
<big> 大号字体加粗
<br> 换行
<cite> 引用进行定义
<code> 定义计算机代码文本
<dfn> 定义一个定义项目
<em> 定义为强调的内容
<i> 斜体文本效果
<img> 向网页中嵌入一张图像
<input> 输入框
<kbd> 定义键盘文本
<label> 为input进行标记/标注
<q> 定义短的引用<s> 表示不准确不相关,却不应当给予删除的内容
<samp> 定义样本文本
<select> 定义单选或者多选菜单
<small> 呈现小号字体效果
<span> 组合文档中的行内元素
<strong> 语气更强的强调内容
<sub> 定义下标文本
<sup> 定义上标文本
<textarea> 多行文本输入控件
<tt> 打字机或者等宽的文本效果
<var> 定义变量<input>和<img>都是行内元素,但是它们是可以设置宽和高的。这里就涉及到可替换元素和不可替换元素。
html属性
比如<input type="text" disable>
disable默认是true 这样输入框就不能输入了
<a herf

没有引号他会把他当作另一个属性


也可用单引号表示

html页面
<head>里面放的都是不想被看到的 关键词页面描述声明css等
<meta>编码
<title>标签页标题
<body>页面可以看到的内容
html空格
多少个都是一个
直接换行就是空格

html实体引用
单引号双引号容易被误判
<>用< >替换


html注释

html中的文本
<p>

<ul>
<li></li>
</ul>
<ol>有序
<em>斜体
<strong>粗体

主要区别:<em>是基于内容的样式,<i>一个是基于物理的样式。
< i > 是视觉要素(presentationl elements),分别表示无意义的加粗,无意义的斜体,仅仅表示样式上是粗体或斜体,而没有强调的语义,这两个标签在HTML4.01中不推荐使用,建议用CSS样式;
< em > 是表达要素(phrase elements)。 < em > (emphasized text)表示一般的强调文本,这个标签具有语义。该标签中的内容在搜索引擎中更受重视,一些语音阅读器也会根据它在阅读时加强语气。
超链接
target:
默认_self
新标签:_black
在有frame的时候生效:_parent

title:悬浮会显示
a标签是行内标签,再增加一个会在同一行

<img>是一个块标签,a里包含的话可以把a也变成块元素

hcp协议
<a>还可以跳转文本,锚点效应
给h标签一个id
跳转新页面,写相对地址

html中的图片
![]()
alt:图片没加载的时候显示什么
width和height:宽度高度
titile:停留显示
也可用css来调整
html中vidio
![]()
autoplay:因为隐私会被禁止

muted:关声音
loop:循环播放
poster:上传封面

视频大小和高度宽度没关系:只是封面大小
html的audio

css
修改本来的样式:
1.<style>里面改,

里面是层叠的,然后就会改成最后的

2.link引入

link和style哪个优先级高呢
1.最高级别是<h1 的style属性
![]()
2.style里指定id选择器#title

3.style里指定class选择器(会变成黑色,否则按照<style>是就后原则变蓝色)

4.css里指定h1的样式又会大于style里指定h1的优先级啊

css的继承
如果我们给body设置成红色,那么h1继承了body也会变成红色

可以修改继承,color默认是inherit,改成initial就是初始值

unset是不搞还是继承body
或者我们指定一下h1的color
如果多个设置成一样的只要把选择器搞成列表,就是用逗号隔开

语法错误两个都没法生效

我们知道一共三个选择器
第一种选择器元素类型选择器标签h1
第二种.class属性类选择
第三种#id选择器

此外还有伪类选择器(根据状态)
hover

focus很多在index上

伪元素选择器(挑选某一行,或某个子类)
![]()
.main>.title只有main里面的会变色


通配选择器 *

标签属性选择器

*所有包含com的都要变色

$就是把以这个结尾的变色

~是否包含某个字(相当于class)


互带选择器
body a{}包含 在那里就可
body > a{}得是子级

h1,a{}h1和a都变色
h1+a{}连贯的只有啊、变色

h1~a{}h1后面的a全被选上

块级盒子和内联盒子
可以转换


block的margin和pading都会生效

inline状态下margin最外只有左右没有上下,padding

padding 就是内容与边框的空隙。而margin则是模块与模块的空隙
CSS盒模型


两种盒模型
标准盒模型border-box;
盒子宽度包括:内容width+padding+border

ie盒子模型 我想要weight height就阔以确认,padding border只要占位置不要增加高度宽度
w代表总宽度=content+border+padding


CSS背景


css边框


css定位
relative是对于邻居,还是属于文档流,还给他占着位置

absolute脱离文档流


对齐relative定在中心
fixed脱离

sticky:在外层来回蹦跶
