前端三件套学习笔记(持更)

news2024/11/18 2:37:07

目录

1、HTML,CSS,JS区别

2、HTML结构

1、HTML,CSS,JS区别

结构写到 HTML 文件中, 表现写到 CSS 文件中, 行为写到 JavaScript文件中。

2、HTML结构
<!DOCTYPE html>
<html>
    <head>
        <title>我的第一个页面</title>
    </head>
    <body>
        很高兴,开始了我的web前端之旅!
    </body>
</html>
3、<div>和<span>
  • <div> 标签用来布局,但是现在一行只能放一个<div>。 大盒子
  • <span> 标签用来布局,一行上可以多个 <span>。小盒子
4、相对路径

4d7c0d572f69430a8c603e37e0fadbdb.png

5、符号
24d5fa407e90441c81d8a37c6820f4f3.png6、表格
  • th(table header cell):标头单元格
  • tr(table row):一行
  • td(table data cell):一个单元格
7、表格合并

跨行合并:rowspan="合并单元格的个数"

跨列合并:colspan="合并单元格的个数"

8、标签
48d4bebb8ad6442481f3a6873a18d534.png9、表单域

<form action=“url地址” method=“提交方式” name=“表单域名称">
     各种表单元素控件
</form>

10、<input type="属性值">
8495949cafff4474892c6102835e4310.png11、选择器

1)基础选择器

id 选择器和类选择器最大的不同在于使用次数上。id 选择器是唯一的。

110c227acd704bab98557fb8e5060b9a.png

2)复合选择器

包括:后代选择器、子选择器、并集选择器、伪类选择器

//后代选择器
ol li a {
      color: red;
   }

//亲儿子选择器
 div>a {
       color: red;
   }

//并集选择器
div,
   p,
   .pig li {
       color: pink;
   }

//伪类选择器
        /* 1. a:link  默认,未访问过,把没有点击过的(访问过的)链接选出来 */
        a:link {
            color: #333;
            text-decoration: none;
        }
        
        /* 2. a:visited 已访问过,选择点击过的(访问过的)链接 */
        a:visited {
            color: orange;
        }
        
        /* 3. a:hover 悬停,选择鼠标经过的那个链接 */
        a:hover {
            color: pink;
        }
        
        /* 4. a:active 点击,选择的是我们鼠标正在按下还没有弹起鼠标的那个链接 */
        a:active {
            color: green;
        }

        /* 5. :focus 选取获得焦点的表单元素
        input:focus {
            background-color: red;
            color: blue;
        }
12、字体复合属性 

font: font-style font-weight font-size/line-height font-family;

13、em

是一个相对单位,就是当前元素(font-size) 1 个文字的大小, 如果当前元素没有设置大小,则会按照父元素的 1 个文字大小

14、CSS引入方式/样式表

行内,内部,外部

15、元素显示模式

658e88467a264641a48bc1227cc1e228.png

块元素:<h1>~<h6>,<p>,<div>,<ul>,<ol>,<li>

行内元素:<a>,<strong>,<b>,<em>,<i>,<del>,<s>,<ins>,<u>,<span>

行内块元素:<img />,<input />,<td>

转换

  • 转换为块元素: display: block;
  • 转换为行内元素:display: inline;
  • 转换为行内块元素:display: inline-block;
16、单行文字垂直居中

CSS 没有给我们提供文字垂直居中的代码

解决方案: 让文字的行高=盒子的高度

17、背景复合写法

 background: pink url(logo.png) no-repeat center left;

18、CSS三大特性

1、层叠性:相同的选择器设置相同的样式,此时一个样式会被覆盖(层叠)掉另一个冲突的样式,层叠性主要解决的是冲突的问题。

2、继承性:子标签会继承父标签的某些样式,比如说文本的颜色和字号。高度、宽度、盒子模型的内外边距是【不可以】被继承的

        行高的继承:

  • 行高可以跟单位,也可以不跟单位
  • 如果子元素没有设置行高,就会继承父亲元素的行高的1.5倍
  • 此时子元素的行高是:当前子元素的文字大小的1.5倍

3、优先级

19、选择器优先级/权重

7f2dfb21fe1743268a33f34f99a1ae23.png

  •  权重不会有进位
  • !important > 行内样式 > id选择器 > 类选择器 > 标签选择器 > 继承或者通配符选择器
  • 继承的权重为0,如果该元素没有被直接选中,不管父元素权重多高,子元素得到的权重都是0
20、CSS盒子

包括:边框、外边距、内边距和实际内容

21、内边距

padding 影响盒子实际大小,如果盒子已经有了宽度和高度,此时再指定内边距,会撑大盒子;

如果盒子本身没有指定width/height属性,则此时padding不会撑开盒子大小

22、外边距合并
  • 相邻块元素垂直外边距的合并

        当上下相邻的两个块元素(兄弟元素)相遇时,如果上面的元素有下外边距 margin-bottom , 下面的元素有上外边距 margin-top , 则它们之间的垂直间距不是 margin-bottom 与 margin-top 之和。而是:【取两个值中的较大者】

解决方案:尽量只给一个盒子添加 margin 值。

  • 嵌套块元素垂直外边距的塌陷

    对于两个嵌套关系(父子关系)的块元素,父元素有上外边距,同时子元素也有上外边距,此时父元素会塌陷较大的外边距值。
解决方案:

  • 为父元素定义 上边框
  • 为父元素定义 上内边距
  • 为父元素添加 overflow: hidden
  • 其他方法:浮动,固定定位,绝对定位

以上都是标准流,下面是浮动

多个块级元素纵向排列找标准流,多个块级元素横向排列找浮动

23、浮动

1)含义:float 属性用于创建浮动框,将其移动到一边,直到左边缘或者右边缘触及包含块或另一个浮动块的边缘

2)作用:

  • 实现多个块级元素没有空白缝隙的一行展示
  • 实现两个盒子左右对齐

3)加了浮动之后的元素,会具有很多特性:

  • 浮动元素会脱离标准流(脱标,漂浮在普通流的上面,不占原有的位置)
  • 浮动的元素会一行内显示并且元素顶部对齐
  • 浮动的元素会具有行内块元素的特性
    • 如果块级盒子没有设置宽度,默认宽度和父级一样宽,但是添加浮动之后,它的大小根据内容来决定
    • 浮动的盒子中间是没有缝隙的,是紧挨着一起的
  • 浮动的盒子【不再保留原先的位置】

4)如果行内元素有了浮动,则不需要转换块级/行内块元素,可直接给高度和宽度

浮动的盒子只会影响浮动盒子后面的标准流,不会影响前面的标准流

5)网页布局一般采取的策略是:先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置,符合网页布局第一准则

6)为什么需要清除浮动?
        父级盒子很多情况下,不方便给高度,但是内部的子盒子浮动之后又不占据位置(脱标),最后父级盒子的高度就是0,那么就会影响下面的标准流盒子

  • 如果父元素本身有设置高度,则不需要清除浮动
  • 没有高度,内容需要浮动,则需要清除浮动
  • 清除浮动之后,父级就会根据浮动的子盒子自动检测高度。父级有了高度,就不会影响下面的标准文档流了
  • 清除浮动不是清楚浮动本身,而是清楚浮动对其他元素的影响

清除浮动的策略是:闭合浮动(只让浮动在父盒子内部影响,不影响父盒子外面的其他盒子。)

d0a9de51453f4fc5ac3744f071ef0b24.png

24、定位

标准流在最底层 (海底) ------- 浮动 的盒子 在 中间层 (海面) ------- 定位的盒子-空)

1)相对定位
position: relative;

特点
    1. 它是相对于自己原来的位置来移动的。(移动位置的时候参照点是原来自己的位置,和父元素、浏览器无关)
    2. 原来在标准流的位置继续占有,后面的盒子仍然以标准流的方式对待它。(不脱标,继续保留原来的位置)
    3. 相对定位,并没有脱离标准文档流,最典型的应用是给绝对定位当爹的

2)绝对定位

元素在移动位置的时候,是相对于它 祖先元素  来说的。
position: absolute;

特点
    1. 如果没有祖先元素或者祖先元素没有定位,则以浏览器为准进行定位。(Document文档)
    2. 如果祖先元素有定位(相对、绝对、固定定位),则以最近一级的有定位祖先元素为参考点移动位置
    3. 绝对定位不再占有原有的位置。(脱标

3)子绝父相

因为父级需要占据位置,因此是相对定位(不脱标),子盒子不需要占据位置,则是绝对定位(完全脱标——不会占据原有位置)

5fbacd5416514d39a068ef6217c98665.png

25、闭包,冒泡,委托

闭包(Closure):
闭包是由函数及其相关的引用环境(包括函数创建时所处的作用域)组合而成的包裹,从内部函数访问外部函数的作用域

事件冒泡(Event Bubbling):
当一个元素上发生了某个事件(例如点击事件),这个事件会按照从内向外(从目标元素向祖先元素)的顺序进行传播,直至传播到最外层的祖先元素或到达文档的根节点

事件委托(Event Delegation):
适用于处理大量相似元素上。它利用事件冒泡的机制,将事件处理程序绑定到它们的共同祖先,而不是绑定到每个单独的元素上。这样一来,只需一个事件处理程序即可管理一组元素上的事件。

26、边框算进高度里面

box-sizing: border-box; /* 让边框算进高度里面 */

27、float,flexbox,position:relative区别
  • float实现一些简单的布局效果,如图片环绕等。
  • flexbox是一种更加现代和灵活的布局方式,适用于各种布局需求。
  • position:relative可以相对于原始位置微调元素的位置,但通常用于局部微调,而不是整个布局的设计

持续更新中...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1594678.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[尚硅谷flink] 检查点笔记

在Flink中&#xff0c;有一套完整的容错机制来保证故障后的恢复&#xff0c;其中最重要的就是检查点。 文章目录 11.1 检查点11.1.1 检查点的保存1&#xff09;周期性的触发保存2&#xff09;保存的时间点3&#xff09;保存的具体流程 11.1.2 从检查点恢复状态11.1.3 检查点算法…

计算机服务器中了rmallox勒索病毒怎么办,rmallox勒索病毒解密流程步骤

在企业的生产运营过程中网络发挥着巨大作用&#xff0c;利用网络可以拓宽市场&#xff0c;提高办公效率&#xff0c;网络为企业的生产运营提供了极大便利&#xff0c;但也为企业的数据安全带来隐患。近日&#xff0c;云天数据恢复中心接到多家企业的求助&#xff0c;企业的计算…

二维相位解包理论算法和软件【全文翻译- 菲林(Flynn)最小不连续性方法(4.5)】

4.5 菲林最小不连续性方法 在迄今为止对路径跟踪算法的讨论中,我们忽略了一种非常自然的方法,现在我们将对其进行描述。如果我们仔细观察图 4.42(a)中包裹相位数据中的条纹图案,就会发现 "条纹线 "或最亮像素和最暗像素之间的边界标志着从 0 到 2π 的过渡,它们…

Linux gcc 6

本章开始学习工具 什么是工具&#xff1f; 本质也是指令 yum 命令 小火车 sudo yum install sl&#xff08;安装sl&#xff09; sudo yum install -y sl //直接yes就不提示了 yum list //将yum源上的软件都穷举出来 yum search sl //结果不友好&#xff0c;不推荐 yum lis…

智能革命:未来人工智能创业的天地

智能革命&#xff1a;未来人工智能创业的天地 一、引言 在这个数字化迅速变革的时代&#xff0c;人工智能(AI)已经从一个边缘科学发展成为推动未来经济和社会发展的关键动力。这一技术领域的飞速进步&#xff0c;不仅影响着科技行业的每一个角落&#xff0c;更是为创业者提供了…

PTA 2813:画家问题(熄灯问题)

有一个正方形的墙&#xff0c;由NN个正方形的砖组成&#xff0c;其中一些砖是白色的&#xff0c;另外一些砖是黄色的。Bob是个画家&#xff0c;想把全部的砖都涂成黄色。但他的画笔不好使。当他用画笔涂画第(i,j)个位置的砖时&#xff0c; 位置(i−1,j)、 (i1,j)、(i,j−1)、(i…

设计模式学习笔记 - 设计模式与范式 -行为型:17.中介模式:什么时候用中介模式?什么时候用观察者模式?

概述 本章学习 23 种经典设计模式中的最后一个设计模式&#xff0c;中介模式。和之前讲过的命令模式、解释器模式类似&#xff0c;中介模式也不怎么常用&#xff0c;应用场景比较特殊、有限&#xff0c;但是&#xff0c;跟它俩不同的是&#xff0c;中介模式理解起来并不难&…

《手把手教你》系列基础篇(八十六)-java+ selenium自动化测试-框架设计基础-Log4j实现日志输出(详解教程)

1.简介 自动化测试中如何输出日志文件。任何软件&#xff0c;都会涉及到日志输出。所以&#xff0c;在测试人员报bug&#xff0c;特别是崩溃的bug&#xff0c;一般都要提供软件产品的日志文件。开发通过看日志文件&#xff0c;知道这个崩溃产生的原因&#xff0c;至少知道触发崩…

图文教程 | 2024Typora最新版免费激活使用教程(新旧版可用)

一、打开官网下载最新版Typora Typora 官网下载 安装&#xff1a; Typora中文官网&#xff1a;https://typoraio.cn/ Typora官网&#xff1a;https://typora.io/releases/all 官网长这个样子 下面这个不是官网&#xff01;&#xff01;&#xff01;&#xff01;注意&#x…

《一》Qt的概述

1.1 什么是Qt Qt是一个跨平台的C图形用户界面应用程序框架。它为应用程序开发者提供建立图形界面所需的所有功能。它是完全面向对象的&#xff0c;很容易扩展&#xff0c;并且允许真正的组件编程。 1.2 Qt的发展史 1991年 Qt最早由芬兰奇趣科技开发 1996年 进入商业领域&#x…

【Django开发】0到1美多商城项目md教程第7篇:登录,1. 互联开发者申请步骤【附代码文档】

美多商城完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;欢迎来到美多商城&#xff01;&#xff0c;项目准备。展示用户注册页面&#xff0c;创建用户模块子应用。用户注册业务实现&#xff0c;用户注册前端逻辑。图形验证码&#xff0c;图形验证码接口设…

结合 react-webcam、three.js 与 electron 实现桌面人脸动捕应用

系列文章目录 React 使用 three.js 加载 gltf 3D模型 | three.js 入门React three.js 3D模型骨骼绑定React three.js 3D模型面部表情控制React three.js 实现人脸动捕与3D模型表情同步结合 react-webcam、three.js 与 electron 实现桌面人脸动捕应用 示例项目(github)&…

Jackson 2.x 系列【19】模块 Module

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Jackson 版本 2.17.0 源码地址&#xff1a;https://gitee.com/pearl-organization/study-jaskson-demo 文章目录 1. 前言2. 核心类2.1 Module2.2 SimpleModule 3. 案例演示3.1 自定义模块3.2 注册…

ES查询和监控

es安装 参考https://blog.csdn.net/okiwilldoit/article/details/137107087 再安装kibana&#xff0c;在它的控制台里写es查询语句。 es指南 es权威指南-中文版&#xff1a; kibana用户手册-中文版&#xff1a; es中文社区 es参考手册API es客户端API es查询语句 # 查询e…

杰发科技AC7840——CAN通信简介(3)_时间戳

0. 时间戳简介 时间戳表示的是收到该CAN消息的时刻&#xff0c;通过连续多帧的时间戳&#xff0c;可以计算出CAN消息的发送周期&#xff0c;也可以用于判断CAN消息是否被持续收到。 1. 使用步骤 注意分别是发送和接收的功能&#xff1a; 2. 现象分析_接收时间戳 看下寄存器的…

鸿蒙端云一体化开发--开发云函数--适合小白体制

开发云函数 那什么是云函数&#xff1f;我们将来又怎么去使用这个云函数呢&#xff1f; 答&#xff1a;我们之前要编写一些服务端的业务逻辑代码&#xff0c;那现在&#xff0c;在这种端云一体化的开发模式下&#xff0c;我们是把服务端的业务逻辑代码&#xff0c;通过云函数来…

HackTheBox-Machines--MonitorsTwo

文章目录 0x01 信息收集0x02 CVE-2022-46169 漏洞利用0x03 权限提升0x04 提升到root权限 MonitorsTwo 测试过程 0x01 信息收集 a.端口扫描: 发现22、80端口    b.信息收集: 1.2.22 Cacti信息收集 nmap -sC -sV 10.129.186.1321.访问 10.129.186.132&#xff0c;为 1.2.22 Ca…

Java 面试宝典:你知道多少种解决 hash 冲突的方法?

大家好&#xff0c;我是大明哥&#xff0c;一个专注「死磕 Java」系列创作的硬核程序员。 本文已收录到我的技术网站&#xff1a;https://www.skjava.com。有全网最优质的系列文章、Java 全栈技术文档以及大厂完整面经 回答 在使用 hash 表时&#xff0c; hash 冲突是一个非常…

01-Three.js

引入three.js 1.script标签引入 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>Three.js中文网&#xff1a;http://www.webgl3d.cn/</title><!-- 引入three.js --><script src"…

恢复MySQL!是我的条件反射,PXB开源的力量...

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…