HTML+CSS笔记整理

程序员成长之旅 · 程序员成长之旅/HTML+css网页学习/2021~2022第一学期WEB前端课程 · 2949 字

[TOC]

HTML+CSS笔记整理

html、CSS和JS之间的关系

  1. HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。

  2. CSS样式是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。

  3. JS全称是JavaScript是用来实现网页上的特效效果。如:鼠标滑过弹出下拉菜单。或鼠标滑过表格的背景颜色改变。还有焦点新闻(新闻图片)的轮换。可以这么理解,有动画的,有交互的一般都是用JavaScript来实现的。

一个HTML网页的基本标签

一个标签一般都是有开始和结尾的

例如`html`标签 ``<html>` `是开始``</html>` `结束(加一个“/”)
通常所有网页**都是**从`!DOCTYPE>`和``<html>` `</html>` `开始的

<!DOCTYPE>的作用

1. `<!DOCTYPE>` 声明必须是 HTML 文档的第一行,位于` `<html>` ` 标签之前。
  1. <!DOCTYPE> 声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。

  2. 在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

  3. HTML5 不基于 SGML,所以不需要引用 DTD。

  4. 提示:请始终向 HTML 文档添加 <!DOCTYPE> 声明,这样浏览器才能获知文档类型。

HTML标签基础知识

1. `html`中的标签是可以嵌套的,比如``<div>` `里面嵌套``<p>` ` 则 ``</p>` `必须在``</div>` ` 前面

<div><p>测试文字</p></div>
  1. 标签是不分大小写的 ,建议小写

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

HTML标签元素的整理


<!-- 这里填写HTML的释义-->

<p></p> <!-- 文字段落 -->

<!-- hx 标题 -->

<h1></h1>

<h2></h2>

<h3></h3>

<h3></h3>

<h4></h4>

<h5></h5>

<h6></h6>

<!-- hx 标题 -->

<!-- 强调语气 -->

<em></em> <!--斜体 -->

<stron></stron> <!-- 加粗 -->

<!-- 强调语气 -->

<span></span> <!-- 没有作用,为了方便css设置方法 -->

<!-- 引用 -->

<q></q> <!-- 引用短文本(会自动添加双引号) -->

<blokquote></blokquote> <!-- 引用长文本(浏览器对其解析为缩进) -->

<!-- 引用 -->

<br /> <!-- 换行空标签 -->

&nbsp; <!-- 空格 -->

<hr /> <!-- 水平横线 -->

<address></address> <!-- 地址信息,可以包含电子邮件,签名或者文档的作者身份等 -->

<!-- 代码语言 -->

<code></code> <!-- 单行代码 -->

<pre></pre>   <!-- 多行代码 -->

<!-- 代码语言 -->

<!-- 列表信息 -->

<!--  无顺序列表-->

<ul>

<li>信息</li>

<li>信息</li>

</ul>

<!--  无顺序列表-->

<!--  有顺序列表-->

<ol>

<li>第一个</li>

<li>第二个</li>

</ol>

<!--  有顺序列表-->

<!-- 列表信息 -->

<link href="css/indexStudy.css" rel="stylesheet" type="text/css"> <!-- 导入根目录下css目录下的indexStudy.css -->

<label></label> <!-- label标签来定义表单控制间的关系,当用户选择该标签时,浏览器会自动将焦点转到和标签相关的表单控件上。 -->

<input type="[输入框类型]" [可选参数]>

<!--     输入框类型:

text 单行文本输入框

password 密码复选框

radio 单选按钮

checkbox 复选框

button 普通按钮

submit 提交按钮

reset 重置按钮

image 图像形式的提交按钮

hidden 隐藏域

file 文件域

可选参数:

placeholder 设置默认值(点击后会清除该文字)

value 设置默认值(点击后不清除该文字)

checked 定义type为radio和checkbox时, 可以默认选中该项

-->

CSS样式整理


/*这里填写CSS的释义*/

color:blue; /* 设置颜色为 : 蓝色 */

display:[    ] /* 设置元素的显示方式

nono /*不显示*/

block /* 按块显示 */

border: 10px solid #999; /* 边框大小10px 实线 颜色#999 */

(查资料)box-sizing: border-box;  /* 设置边框线朝内 */

font-size:[]; /* 设置字体大小 */

width:[] /*设置宽*/

height:[] /*设置高度*/

text-align:[] /*设置元素对齐方式*/

margin:[][] /*设置上下外边距 设置左右外边距 如果设置为auto就是垂直居中和水平居中*/

background:[] /*设置背景*/

@mediz([条件]) {[动作]} /*根据条件更改css样式,比如可以设置自适应*/

list-style:[] /*设置列表样式 可以吧一些默认样式去掉(比如可以去掉li标签前边的点*/

box-shadow:[x偏移][y偏移][扩散量][颜色]; /*外边框阴影*/

box-sizing:border-box; /*设置边框朝内(设置后border,padding等会朝内,不会占用外部空间(不会影响整体大小))*/

transition:[time];/*过度动画速度.(如未设置则本身为0).*/

border-radius:8px;/*设置边框圆角*/

transform:rotate(30deg);/*旋转30°*/

z-index:[number]; /*设置元素的堆叠顺序,改属性高的元素总是在属性低的属性上边,可以使用负值 (要和position配合使用)*/

opacity:[number];/*设置透明度最大值为1,最小值为0*/

clear:both;/*清除由float引起的错位问题*/

cursor:pointer;/*设置指针为小手*/

background-size: length|percentage|cover|contain;/*设置背景大小*/

cover /*把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。背景图像的某些部分也许无法显示在背景定位区域中。*/

/* vertical-align 用来指定行内元素(inline)或表格单元格(table-cell)元素的垂直对齐方式。 */

vertical-align: baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>

CSS部分属性详解

重要概念: 盒子模型

内容 < padding < border < margin

最内侧是内容, 被内边距包裹, 然后被边框包裹, 最外侧由外边距包裹, 既盒子模型

盒子模型

padding

调整内容在盒子中的显示位置, 既内容和边框之间的举例


padding: /*[可选参数]*/ /* 定义四边均为[可选参数] */;

padding: /*[可选参数1] [可选参数2]*/ /* 定义上下为[可选参数1], 定义左右为[可选参数2] */;

padding: /*[可选参数1] [可选参数2] [可选参数3] [可选参数4]*/ /* 根据上右下左的顺序使用[可选参数1-4] */;

/* 可选参数:

auto 自动

{数值}px 目标数值像素

*/

margin

盒子和盒子之间的举例, 允许为负值


padding: /*[可选参数]*/ /* 定义四边均为[可选参数] */;

padding: /*[可选参数1] [可选参数2]*/ /* 定义上下为[可选参数1], 定义左右为[可选参数2] */;

padding: /*[可选参数] auto*/ /* 定义上下为[可选参数], 定义左右为居中 */;

padding: /*[可选参数1] [可选参数2] [可选参数3] [可选参数4]*/ /* 根据上右下左的顺序使用[可选参数1-4] */;

/* 可选参数:

auto 自动

{数值}px 目标数值像素

*/

display

block

div

会重开一行并且会尽可能的盛满容器

div 是一个标准的块级元素。一个块级元素会新开始一行并且尽可能撑满容器。其他常用的块级元素包括 pform 和HTML5中的新元素: headerfootersection 等等。

inline

可以在段落中包裹一些文字而不会打乱段落的布局

span就是一个标准的行内元素.一个行内元素可以在段落中包裹一些文字而不会打乱段落的布局.a元素就是最常用的行内元素,它可以被用作连接.

nono

可以隐藏或显示元素

另一个常用的display值是nono.一些特殊的默认display值是它,例如script.display:nono通常被JavaScript用来不删除元素的情况下隐藏或显示元素.

额外加分点

可以随时随地的重写它

就像我之前讨论过的,每个元素都有一个默认的 display 类型。不过你可以随时随地的重写它!虽然“人为制造”一个行内元素可能看起来很难以理解,不过你可以把有特定语义的元素改成行内元素。常见的例子是:把 li 元素修改成 inline,制作成水平菜单。

border


border-style: /*[可选参数]*/ /* 定义四边均为[可选参数] */;

border-style: /*[可选参数1] [可选参数2]*/ /* 定义上下为[可选参数1], 定义左右为[可选参数2] */;

border-style: /*[可选参数1] [可选参数2] [可选参数3] [可选参数4]*/ /* 根据上右下左的顺序使用[可选参数1-4] */;

/* 可选参数:

nono 无边框线

solid 实线

dashed 虚线

dotted 点线

double 双实线

*/

/*注意, 必须定义了border-style不为nono(默认), 否则该属性无线*/

boder-width: /*目标像素*/;

border-color: /*[颜色属性]*/;

/*颜色属性:

颜色值: red, green等

十六进制值: #fff

rgb: rgb(r,g,b)

*/

CSS选择器

选择器简介

简单属性选择

如果希望选择有某个属性的元素,而不论属性值是什么,可以使用简单属性选择器。

例子

如果您希望把包含标题(title)的所有元素变为红色,可以写作:


*[title] {color:red;}

:before 选择器

定义和用法

CSS 子元素选择器

如果您不希望选择任意的后代元素,而是希望缩小范围,只选择某个元素的子元素,请使用子元素选择器(Child selector)。

例如,如果您希望选择只作为 h1 元素子元素的 strong 元素,可以这样写:


h1 > strong {color:red;}

如果从右向左读,选择器 h1 > strong 可以解释为“选择作为 h1 元素子元素的所有 strong 元素。

CSS 选择相邻兄弟

如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。

例如,如果要增加紧接在 h1 元素后出现的段落的上边距,可以这样写:


h1 + p {margin-top:50px;}这个选择器读作:“选择紧接在 h1 元素后出现的段落,h1 和 p 元素拥有共同的父元素”。

CSS 后代选择器

后代选择器(descendant selector)又称为包含选择器。

后代选择器可以选择作为某元素后代的元素。

根据上下文选择元素

我们可以定义后代选择器来创建一些规则,使这些规则在某些文档结构中起作用,而在另外一些结构中不起作用。

举例来说,如果您希望只对 h1 元素中的 em 元素应用样式,可以这样写:


h1 em {color:red;}

上面这个规则会把作为 h1 元素后代的 em 元素的文本变为 红色。其他 em 文本(如段落或块引用中的 em)则不会被这个规则选中: