【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/130176402
出自【进步*于辰的博客

注:本文中“子级”指子级盒子或子级标签;“逻辑位置”指根据理论推断的所在位置,“实际位置”指实际显示的所在位置。

1、其他知识点链接

  1. 细节、经验
  2. 特效实现

2、标签

2.1 video

参考笔记一,P4.2/4。

  1. <video>标签引入视频默认不会自动播放,需设置属性autoplay: muted
  2. <video>不同于<img>,比例不能随意改变,需设置属性object-fit: cover进行拉伸。

2.2 input

参考笔记一,P8.11、P9.14。

属性:

  1. autofocus:自动聚集;
  2. pattern:设置正则表达式;
  3. novaliable:取消提交表单时对整个表单的验证;
  4. autocomplete = "on/off"设置表单是否打开自动完成功能;
    注:“自动完成功能”指将表单过去输入过的信息、在选中时自动填充。

2.3 画布 Canvas

推荐一篇博文《学习HTML5 Canvas这一篇文章就够了》(转发)。
参考笔记一,P4.9/10/12。

注:下文中的“canvas1”是Canvas标签,代码是在js中执行。

2.3.1 属性设置

  1. 修改参考点:即修改坐标原点。canvas1.translate(x, y)
  2. 旋转坐标轴:canvas1。rotate(<弧度>)

修改刻度的

w

i

d

t

h

h

e

i

g

h

t

\color{green}{修改刻度的width、height:}

修改刻度的width、height:

注:刻度的width、height与Canvas标签的width、height(用css修改)不是一个概念。

方法1、内嵌式修改width、height属性。

<Canvas id="canvas1" width="500" height="500" ></Canvas>

方法2、js修改width、height属性。

canvas1.width = 500;
canvas1.height = 500;

2.3.2 示例:画动态时钟

思想:

  1. 通过旋转坐标轴的方法画出刻度和时分秒针;
  2. 定义

    定时器

    \color{blue}{定时器}

    定时器(interval),时隔1s,先画出刻度,再根据时分秒针转动联系画出时分秒针。注意:先擦除(覆盖),再画。

转动联系:

  1. 秒针转动一圈,分针转动π/30
  2. 分针转动一圈,时针转动π/6

2.4 选项列表 datalist

笔记一,P9.12/13。

需要与<input>连用,用于存放<input>的可选值。
示例:

country:<input type="text"list="list1">
<datalist id="list1">
<option value="China" />
<option value="American" />
</datalist>

2.5 折叠列表 details

<summary>是列表的标题。
示例:

<details>
<summary>country</summary>
<p>China</p>
<p>American</p>
</details>


3、关于 margin

参考笔记一,P8.1/7。

  1. 相邻同级盒子的margin会相互覆盖;
  2. 若父级设置了border,则不会受子级的margin影响,即使子级的margin大于父级的margin;
  3. 若父级未设置border,则子级和父级的margin会相互覆盖。其中,若子级的margin大于父级的margin,父级会被“挤开”,这种现象称为

    外边距塌陷

    外边距塌陷

    外边距塌陷;(解决方法:第2点)

  4. 若父级设置了定位方式,则不会受子级的margin影响。

4、关于overflow: hidden的用法

参考笔记一,P8.2。

  1. 隐藏多余部分;
  2. 动态

    h

    e

    i

    g

    h

    t

    \color{purple}{动态height}

    动态height。
    当子级个数未知时,无法确定父级的height(注意:此时子级肯定设置了浮动float),设置父级overflow: hidden可实现动态height。当然,实现动态height还有一种方法:position: aboslute/fixed,但若使用此方法,则无法使用margin: 0 auto进行盒子水平居中,而overflow: hidden可以;

  3. 解决外边距塌陷问题。

5、关于动态 height

参考笔记一,P8.9。、

实现动态height的前2种方法(看上面)。

方法3:

伪选择器

\color{red}{伪选择器}

伪选择器

伪选择器after的作用:创建一个子级,此子级的“逻辑位置”在所有子级的最后。

操作:
为父级用:after创建一个盒子,再清除此盒子的相应浮动(clear: xx)。

原理:
由于after是为父级创建盒子,故此盒子的“逻辑位置”在所有子级的最后。因为此盒子清除了浮动,则不再受其他子级影响,故此盒子的“实际位置”在最后一个子级后面。因此,父级只能扩展height来保证能“容纳”此盒子,即动态height。

为什么清除浮动?

\color{grey}{为什么清除浮动?}

为什么清除浮动?
因为其他子级都设置了浮动,而此盒子未设置浮动,故此盒子会因其他盒子浮动而向上移动。因此,需要清除浮动来消除影响使其停留在原位置。

说明示例:

说明示例:

说明示例:
1、演示。

ul:after {
content: "6";// 设置文本内容是"6"
clear: left;// 清除左浮动
display: block;// 设置为块级元素,即默认占一行
width: 20px;
height: 20px;
background-color: gray;
}


从演示效果可以看出,前5个子级都设置了左浮动,故此盒子需要清除左浮动。注意:此盒子必须设置为块级元素display: block(缘由我暂未知,需要大家自行查阅和研究了)。

2、实现动态height。

ul:after {
content: "";
clear: left;
display: block;
}

最后

这些笔记是当年学习前端原生技术时做的,是基于容易忘记、需要注意或新知识点考虑所记录的。做笔记肯定不是原版原抄,而是经个人理解后的精简,故如一些基础知识便不在此列,如:$("#xx").css({}),这是jq设置盒子样式的一个基础函数。
我的发展方向是后端,平日(包括工作)涉及前端都是框架,很少再使用这些前端原生技术。此文章于今年撰写,过去再熟悉平日少接触都会生疏,所以可能有些阐述会略有问题(多担待。。。)。
知识点所涉及的内容,我会斟酌适当地做一些注释,如果大家不理解,只能请大家另寻高见。

本文持续更新中。。。

[HTML、CSS]知识点的更多相关文章

  1. 这些HTML、CSS知识点,面试和平时开发都需要 No1-No4

    系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...

  2. 这些HTML、CSS知识点,面试和平时开发都需要 No5-No7

    系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...

  3. 这些HTML、CSS知识点,面试和平时开发都需要 No8-No9

    系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...

  4. 这些HTML、CSS知识点,面试和平时开发都需要 No10-No11

    系列知识点汇总 1.基础篇 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5- ...

  5. css知识点

    css知识点 一.盒模型知识 border: 边框 border-width:边框的宽度 border-color:边框的颜色 border-style:边框的线型 border-top:上边框 bo ...

  6. CSS知识点集锦

      CSS知识点集锦 CreateTime--2016年9月29日09:43:10Author:Marydon UpdateTime--2017年3月21日08:03:13 2.CSS样式优先级问题 ...

  7. 这些HTML、CSS知识点,面试和平时开发都需要 No8-No9(知识点:媒体操作、构建表单)

    系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...

  8. 这些HTML、CSS知识点,面试和平时开发都需要 No10-No11(知识点:表格操作、代码编写规则)

    系列知识点汇总 1.基础篇 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5- ...

  9. 这些HTML、CSS知识点,面试和平时开发都需要 No5-No7(知识点:文字设置、设置背景、数据列表)

    系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...

  10. 这些HTML、CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML、CSS、盒子模型、内容布局)

    这些HTML.CSS知识点,面试和平时开发都需要 No1-No4   系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) ...

随机推荐

  1. CF131D Subway 题解

    题目传送门 前置知识 强连通分量 | 最短路 解法 考虑用 Tarjan 进行缩点,然后跑最短路. 缩点:本题的缩点有些特殊,基于有向图缩点修改而得,因为是无向图,所以在 Tarjan 过程中要额外记 ...

  2. NC50500 凸多边形的划分

    题目链接 题目 题目描述 给定一个具有N个顶点的凸多边形,将顶点从1至N标号,每个顶点的权值都是一个正整数.将这个凸多边形划分成N-2个互不相交的三角形,试求这些三角形顶点的权值乘积和至少为多少. 输 ...

  3. java 从零开始手写 redis(六)redis AOF 持久化原理详解及实现

    前言 java从零手写实现redis(一)如何实现固定大小的缓存? java从零手写实现redis(三)redis expire 过期原理 java从零手写实现redis(三)内存数据如何重启不丢失? ...

  4. 【Unity3D】使用GL绘制线段

    1 前言 ​ 线段渲染器LineRenderer.拖尾TrailRenderer.绘制物体表面三角形网格从不同角度介绍了绘制线段的方法,本文再介绍一种新的绘制线段的方法:使用 GL 绘制线段. ​ G ...

  5. 【framework】WindowContainer简介

    1 前言 ​ WindowContainer 继承自 ConfigurationContainer,是 WMS 家族的重要基类.ConfigurationContainer简介 中,已介绍 Confi ...

  6. js数组类型

    js数组类型: 数组检测 1.判断变量是否为数组类型: arr1 instanceof Array Array.isArray(arr1); true 转换方法 toString()方法,以便返回数组 ...

  7. 从零开始写 Docker(二)---优化:使用匿名管道传递参数

    本文为从零开始写 Docker 系列第二篇,主要在 mydocker run 命令基础上优化参数传递方式,改为使用 runC 同款的匿名管道传递参数. 如果你对云原生技术充满好奇,想要深入了解更多相关 ...

  8. js之以面向对象的形式书写贪吃蛇

    此代码存在一定的小bug,当蛇出边界之后存在一定的小问题 分析贪吃蛇功能需求: 1.食物 (1)每次生成一个,位置随意但不可超出规定范围 (2)每次蛇吃到食物之后,前一个食物消失同时新的食物又生成 ( ...

  9. logstash部署及项目日志输出到ES

    目录 logstash简介 安装logstash logstash的基本语法 测试标准输入输出 测试输出到文件 测试输出到ES 指定配置文件启动 配置文件内容 后台运行脚本 参考 logstash简介 ...

  10. Emqx高可用架构

    目录 优化前架构 主要问题 haproxy问题 优化后架构 优化功能点 emq版本升级 linux系统调优 haproxy调优 测试工具 依赖安装 配置erl环境变量 安装压测软件 测试指令与结果展示 ...