自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 谷歌浏览器插件精选

谷歌浏览器插件精选0.FeHelperWeb前端助手:整合优秀的前端实用工具,功能丰富。1.Clear Cache清空浏览器缓存这一项操作在调试的时候使用频率很高,一般需要经过几个步骤才能清空,使用Clear Cache只需单击一下按钮即可清除缓存,还支持配置其他想要清除的数据,大大提高调试效率。2.GITHUBERGITHUBER 是一个每日发现优质内容的 Chrome 主页拓展,将热门 Repo 送到你嘴边。3.GitZip for github当你只想要某个文件或是文件夹时,可以快速下

2020-08-20 15:58:51 274

原创 解读Spring

解读Spring一、前言这一篇主要讲一下我们spring是怎么解决循环依赖的问题的。二、什么是循环依赖首先我们需要明确,什么是循环依赖呢?这里举一个简单的例子:@Servicepublic class A { @Autowired private B b;}@Servicepublic class B { @Autowired private A a;}复制代码以这个例子来看,我们声明了a、b两个bean,且a中需要注入一个b,b中需要注入一个a。结合我们上篇博文的bean生命周期的知识,我们

2020-08-19 18:06:42 235

原创 JVM运行时内存布局

JVM运行时内存布局1 JVM的内存区域布局java代码的执行步骤有三点java源码文件->编译器->字节码文件字节码文件->JVM->机器码机器码->系统CPU执行JVM执行的字节码需要用类加载来载入;字节码文件可以来自本地文件,可以在网络上获取,也可以实时生成。就是说你可以跳过写java代码阶段,直接生成字节码交由JVM执行其中Java虚拟机栈、程序计数器、Heap、本地方法栈、Metaspace属于JVM运行时的内存;按是否线程共享则可以分两类JAVA堆和

2020-08-19 18:03:32 239 1

原创 SpringBoot整合JSON的学习笔记

SpringBoot整合JSON的学习笔记前言JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在 JavaScript 语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、

2020-08-19 17:23:27 195

原创 java反射之获取反射源头Class

Java反射机制概念“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”,如Python,Ruby是动态语言;显然C++,Java,C#不是动态语言,但是JAVA有着一个非常突出的动态相关机制:Reflection。JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。如:/**入门级示例:通过对象获取 包名.类名@author

2020-08-19 17:20:12 111

原创 Java处理排序后的数组比没有排序的快?

Java处理排序后的数组比没有排序的快?牛课网 是我最喜欢逛的一个网站,它是我 Chrome 浏览器的第一个书签。里面有很多很多经典的问题,其中一些回答,剖析得深入我心。就比如说这个:“为什么处理排序后的数组比没有排序的快?”毫无疑问,直观印象里,排序后的数组处理起来就是要比没有排序的快,甚至不需要理由,就好像我们知道“夏天吃冰激凌就是爽,冬天穿羽绒服就是暖和”一样。但本着“知其然知其所以然”的态度,我们确实需要去搞清楚到底是为什么?来看一段 Java 代码:/** * @author 沉默王二,

2020-08-19 17:14:37 122

原创 使用 localStorage 的实践

使用 localStorage 的实践function isLocalStorageUsable() { const localStorageTestKey = ‘__localStorage_support_test’; const localStorageTestValue = ‘test’; let isSupport = false; try { localStorage.setItem(localStorageTestKey, localStorageTestValue); if (localS

2020-08-19 17:08:16 181

原创 详解js中的this以及call、apply、bind

详解js中的this以及call、apply、bind关于this指向的五种情况全局上下文中的this全局上下文中this指向window,这种情况较为简单this === window复制代码事件绑定方法中的this给元素的某个事件行为绑定方法,当事件行为触发,方法执行,方法中的this指向当前元素本身。let body = document.body;body.οnclick=function(){ console.log(this) // body}复制代码再看一个例子:let body

2020-08-19 17:05:09 128

转载 Webpack配置全解析

缩小文件搜索范围  Webpack会从Entry入口出发,解析文件中的导入模块语句,再递归解析;每次遇到导入语法时会做两件事情:查找导入模块的位置,比如require(‘vue’)就去引入/node_modules/vue/dist/vue.runtime.common.js文件通过相应的loader来解析导入的模块,比如引入的js就调用babel-loader来转换代码当项目只有几个文件时,解析文件流程只有几百毫秒,然而随着项目规模的增大,解析文件会越来越耗时,因此我们通过webpack的配置来缩

2020-08-19 10:53:18 764

原创 封装element-ui表格

封装element-ui表格项目安装安装插件在使用element-ui的项目中,可以通过以下命令进行安装npm install vue-elementui-table -S复制代码在项目中使用在main.js中添加以下代码import ZjTable from 'vue-elementui-table’Vue.use(ZjTable)然后即可像下文中的使用方式进行使用表格配置为了满足团队快速开发的需要,小编对上面提出来的需求进行了封装,然后使用的时候,开发人员只需要配置一些JSON便可以完成

2020-08-19 10:27:07 206

原创 前端知识体系构建

1.Vue 知识体系1.1 基础原理1.1.1 VnodeVnode也称虚拟node节点,是对真实元素的抽象。诞生的背景是因为前端在很长一段时间通过直接操作Dom来达到修改视图,随着项目庞大,维护就变成一个问题。那换个角度想如果把真实Dom树抽象成为一棵以JS语法构建的抽象,然后通过修改抽象树的结构来转换成真实的Dom来重新渲染到视图。如何生成虚拟节点?Vnode如何检测变化并更新视图呢? diff算法VNode节点及Vuejs中VNode类的定义Vue实现的diff原理1.1.2 nextT

2020-08-19 10:25:27 219

原创 系统学习JavaScript

要说学习JavaScript,首先要说到JavaScript这门语言本身的特质,简直就是一门神奇的语言,他正在朝着万能钥匙的方向发展,只要会JavaScript,有一种走遍WEB开发无敌手的赶脚,且仿佛"非常简单"。先来看看JavaScript这些年都干了什么?1、生产出一大堆库:jQuery、MooTools、Prototype、Dojo、YUI、ExtJS、ZeptoJS…2、生产出一大堆框架:AngularJS、VueJS、ReactJS、EmberJS、NuxtJS、ThreeJS…3、生产出一大堆

2020-08-14 10:21:35 277

原创 JavaScript、jQuery、AJAX、JSON 之间的关系

JavaScript、jQuery、AJAX、JSON 之间的关系JavaScriptJavaScript(简称js)是一种主要运行于浏览器中的弱类型的动态脚本语言,可以用来实现网页上的一些高级功能,如数据验证处理、页面动态效果、定时任务、与用户交互、发送/接收服务器端数据等等。动态语言指的是程序运行时可以改变结构,主要体现在:① js中的变量在声明的时候不需要指定类型,其实际类型由程序运行中的赋值决定,在运行过程中变量的类型也可以改变。注:这一点是动态语言的特征,并不是弱类型语言的特征,之前的回答有误

2020-08-14 10:14:59 154

转载 使用 Buffer 共享Node.js 和 C++数据

使用 Node.js 开发的一个好处是简直能够在 JavaScript 和 原生 C++ 代码之间无缝切换 - 这要得益于 V8 的扩展 API。从 JavaScript 进入 C++ 的能力有时由处理速度驱动,但更多的情况是我们已经有 C++ 代码,而我们想要直接用 JavaScript 调用。我们可以用(至少)两轴对不同用例的扩展进行分类 - (1)C++ 代码的运行时间,(2)C++ 和 JavaScript 之间数据流量。大多数文档讨论的 Node.js 的 C++ 扩展关注于左右象限的不同。如

2020-08-13 10:39:01 272

原创 Java 8 实用技巧

Java 8 实用技巧在过去的几年中,我一直使用Java 8 进行了很多的编码工作,用于开发新应用和迁移遗留应用,我觉得是时候写一些有用的”最佳实践”。我个人不喜欢”最佳实践”这个术语,因为它意味着“一刀切”的解决方案,当然编码工作是不会这样的–这是因为我们开发人员会想出适合我们的方案。但我发现我对Java8特别的喜欢,它让我的生活更轻松一点,所以我想就此话题展开讨论。OptionalOptional 是一个被严重低估的功能, 它消除了很多困扰着我们的 NullPointerExceptions。它在

2020-08-13 10:22:04 100

原创 Java的接口和抽象类

扩展组件是否必要扩展往往通过继承基础组件来达到功能复用的目的。要知道,所有的组件扩展方法都会增加复杂性和额外代码,有时候还会增加性能消耗。经验告诉我们,组合模式优于继承。因此,在决定扩展组件之前,最好先看看有没有其他更简单的设计模式能完成目标。下面几种模式通常足够替代扩展组件了:props 配合模板逻辑slot 插槽JavaScript 工具函数props 配合模板逻辑最简单的方法是通过props结合模板条件渲染,来实现组件的多功能。比如通过 type 属性:MyVersatileCom

2020-08-13 10:08:53 94

转载 Vue.js 组件复用和扩展

Vue.js 组件复用和扩展查看更多扩展组件是否必要扩展往往通过继承基础组件来达到功能复用的目的。要知道,所有的组件扩展方法都会增加复杂性和额外代码,有时候还会增加性能消耗。经验告诉我们,组合模式优于继承。因此,在决定扩展组件之前,最好先看看有没有其他更简单的设计模式能完成目标。下面几种模式通常足够替代扩展组件了:props 配合模板逻辑slot 插槽JavaScript 工具函数props 配合模板逻辑最简单的方法是通过props结合模板条件渲染,来实现组件的多功能。比如通过 typ

2020-08-13 10:02:50 182

转载 优秀的WEB前端工程师所需职业技能

优秀的WEB前端工程师所需职业技能随着近几年来RIA(Rich Internet Applications的缩写,中文含义为:丰富的因特网应用程序)的流行和普及,前端开发这个行业也开始备受关注。前端开发的入门门槛其实很低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢。Web前端开发核心技术主要包括HTML、CSS、JavaScript等。HTML仅仅是简单的标记语言!CSS 只是无类型的样式修饰语言。当然可以勉强算作弱类型语言。Javascript 的基础部分相对来说不难,入手还算

2020-08-12 14:51:31 769

原创 大公司和小公司的前端岗位内容有哪些不同?

web前端岗位可以做哪些工作?泛泛来说,会有这么些岗位:网页制作、网页制作工程师、前端制作工程师、网站重构工程师、前端开发工程师、资深前端开发工程师、前端架构师。当然,对于不同规模的公司,web前端岗位的设定也是有区别的,下面就来给大家介绍一下,企业是如何根据规模大小设定web前端的岗位的。▼企业规模:10人以下我们先从几个人的小作坊说起,这种小作坊里面,基本上有一个人负责页面的设计,然后把页面“切”出来,然后有一个专门的人负责套程序。在这样的公司里面,Web前端其实是由网页设计人员来兼作的

2020-08-12 10:45:13 444

原创 Web前端发展前景&技术揭秘

Web前端发展前景&技术揭秘随着互联网时代的发展, Web前端开发已经成为时下较火的技术之一,针对Web前端开发工程师这一新兴职业,虽然受重视的时间还比较短,但是随着时间的发展,Web前端开发技术一直在不断的创新与完善。1、Web开发分类与区别人们通常将Web分为前端和后端,前端相关的职位有前端设计师(UI/UE),前端开发工程师,后端相关的有后端开发工程师。2、技术栈区别看各大招聘网站上,公司对前端开发工程师的要求莫过于精通HTML,CSS,JS,有良好的交互设计能力等。再看公司对后端开

2020-08-12 10:31:49 176

转载 学习Python八大理由

学习Python八大理由学习Python的人不在少数,你是否问过自己:“我为什么选择学习Python?”编程语言有很多,如果打算选择学习Python,你的理由是什么呢?Python是世界上公认的编程语言中需求最大和最流行的编程语言之一。在最新的StackOverflow调查中,Python已经取代了C语言、C++和Java,登上榜首。这就是为什么许多程序员和新手开发人员更愿意学习Python,并且认为Python认证是最受欢迎的编程认证之一。为什么应该学习Python?当你从基础知识开始学习,一切碎

2020-08-11 16:29:22 148

原创 JavaScript是初学者的好选择

JavaScript是初学者的好选择有充分的理由,JavaScript是Web开发中使用的事实上的语言。它是一种通用语言,易于入门,并且很流行有充分的理由,JavaScript是Web开发中使用的事实上的语言。它是一种通用语言,易于入门,并且很流行。因此,你可以:构建所有类型的应用程序。例如,移动,智能手表和Web应用程序。仅使用浏览器开始使用JavaScript进行编码。快速轻松地找到任何类型的教程。多功能性JavaScrip比较强大的功能之一就是它的多功能性。利用JavaScript,你可

2020-08-11 16:27:02 134

转载 学C语言好还是Python好?

学C语言好还是Python好?编程语言 发展进程 学哪一门编程语言,我们不妨先梳理一下语言的发展过程… 我们甚至可以再用 C 语言写一个 C 语言的编译器,再用之前写好的 C 语言学会了C和C++,那么其他的命令式语言基本上,最多一个月你就能自学会。而学会了python,你啥也不是。 必选C!如果C学学C, 对你没用,C的难点在于要对计算机基础了解才能用起来。C语言本身很简单。Python学习如何使用常用库应该在实际项目中… 你自己不精通C,学Python可以上 Python3入门 看一下那个Pyth

2020-08-11 16:23:31 829

原创 Java中的Final关键字解析

Java中的Final关键字解析这篇文章主要讲解Java中final关键字的使用,对于final大家从字面意思就能看出来,主要是“最终的不可改变的意思”。可以修饰类、方法和变量。先给出这篇文章的大致脉络。首先,先给出final关键字的三种使用场景,也就是修饰类,方法和变量然后,深入分析final关键字主要注意的几个问题最后,总结一下final关键字OK,开始今天的文章一、final关键字的基本使用1、认识final关键字final可以修饰类、方法、变量。那么分别是什么作用呢?(1)修饰类:

2020-08-11 16:21:06 124

原创 Volatile全方位解析

Volatile全方位解析volatile是Java程序员必备的基础,也是面试官非常喜欢问的一个话题,本文跟大家一起开启vlatile学习之旅,如果有不正确的地方,也麻烦大家指出哈,一起相互学习~1.volatile的用法2.vlatile变量的作用3.现代计算机的内存模型(计算机模型,总线,MESI协议,嗅探技术)4.Java内存模型(JMM)5.并发编程的3个特性(原子性、可见性、有序性、happen-before、as-if-serial、指令重排)6.volatile的底层原理(如何保

2020-08-11 16:18:13 210

原创 传统码农真的要失业了?

2020年低代码发展规模将比5年前增长10倍,传统码农真的要失业了?码农,而不是开发者程序员、开发者和码农,虽然看上去是同一群人,但是描述了这群人不同的心态和生存状况。码农是一个依靠写代码为生的群体,表现在:低收入,工作时间长,这种职位只能强化职业者在单方面的技能。如果按照从业者们将自己自嘲为码农的表现,那么码农在分级中理应只属于初级,是属于依靠复制粘贴将各类代码链接的IT从业者。这个群体的数量有多少呢?大学计算机相关专业的同学们、大中专软件专业学习者、毕业不久的程序员、广大编程初学者。这一群体庞大

2020-08-11 16:17:08 243

原创 JS中探索闭包

JS中探索闭包闭包是令人困惑的,因为它是一个“无形的”概念。当使用对象、变量或函数时,你会想:“在这里我需要一个变量”,然后将其添加到你的代码中。闭包有各种不同的形式。很多人在注意到闭包时,实际上他们已经在不知不觉中多次使用过了——可能你也是如此。所以学习闭包不是要去了解什么「新」概念,而是要了解你「已经」接触过的东西。太长不看版当「函数访问在其外部定义的变量时」,你需要闭包。例如,这段代码包含一个闭包:let users = [‘Alice’, ‘Dan’, ‘Jessica’];let

2020-08-11 16:13:38 91

原创 一键生成数据库文档

一键生成数据库文档最近部门订单业务调整,收拢其他业务线的下单入口,做个统一大订单平台。需要梳理各业务线的数据表,但每个业务线库都有近百张和订单相关的表,挨个表一个一个字段的弄脑瓜子嗡嗡的。为了不重复 CV 操作,抱着一丝希望开始在GitHub里找,看看有没有什么工具可以用,结果就真的发现了宝藏,screw(螺丝钉),居然可以生成数据库文档,优秀啊~。数据库文档图一、数据库支持[x] MySQL[x] MariaDB[x] TIDB[x] Oracle[x] SqlServer[x] Po

2020-08-11 16:11:34 143

原创 Java8之Stream实战

流的概念Java Se中对于流的操作有输入输出IO流,而Java8中引入的Stream 属于Java API中的一个新成员,它允许你以声明性方式处理数据集合,Stream 使用一种类似 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。 注意这里的流操作可以看做是对集合数据的处理。简单来说,流是一种数据渠道,用于操作数据源(集合、数组、文件等)所生产的元素序列。源-流会使用一个提供数据的源,如集合、数组或输入|输出资源。从有序集生成流时会保留原有的顺序。由列表生

2020-08-11 16:03:46 103

原创 Java的四种引入

Java的四种引入四种引用的区别其实四种引用的区别在于GC的时候,对它们的处理不同。用一句话来概括,就是:如果一个对象GC Root可达,强引用不会被回收,软引用在内存不足时会被回收,弱引用在这个对象第一次GC会被回收。如果GC Root不可达,那不论什么引用,都会被回收虚引用比较特殊,等于没有引用,不会影响对象的生命周期,但可以在对象被收集器回收时收到一个系统通知。下面结合案例分别来讲一下四种引用在面对GC时的表现以及它们的常见用途。先设置一下JVM的参数:-Xms20M-Xmx20M-Xmn

2020-08-11 15:10:04 138

原创 2020年不容错过的JavaScript库

2020年不容错过的JavaScript库查看更多相关内容如今,JavaScript 几乎可以完成任何任务,甚至能够在包括物联网在内的众多平台及设备之上运行。而随着近期 SpaceX 龙飞船项目的推进,JavaScript 也正式开启了自己的太空探索之旅。之所以如此流行,JavaScript 所依靠的一大优势正是丰富的框架与库选项。与传统的仅 JavaScript 开发环境相比,框架与库生态的建立与壮大已经让开发工作变得愈发轻松。更重要的是,几乎每一天都有新的库方案出现。但过分丰富的选项也带来新的负

2020-08-10 14:51:13 236

原创 Web前端初学者应该学习哪些技能

Web前端初学者应该学习哪些技能http://www.oxke.net/作为web前端初学者,学习前端都是很茫然,无从下手不知道改从哪学起,其实总统的概况成为几大内容,要有规划的去学习前端,思路清晰才能更好领会前端的知识才能理解的学习前端。牛课网培训规划比较合理,零基础的学员都可以快速学习前端,老师规划合理课程,让更多学前端的学员找到学习方向。牛课网无论是口碑还是品牌都是过硬的,很多学员都慕名而来,牛课带给大家的更多的是责信任感与责任感。牛课网是由前阿里前端架构师,赵强老师亲自带队授课全程面授、牛课是

2020-08-10 14:48:48 237

原创 Web前端初学者需具备的技能

牛课网作为web前端初学者,学习前端都是很茫然,无从下手不知道改从哪学起,其实总统的概况成为几大内容,要有规划的去学习前端,思路清晰才能更好领会前端的知识才能理解的学习前端。牛课网培训规划比较合理,零基础的学员都可以快速学习前端,老师规划合理课程,让更多学前端的学员找到学习方向。牛课网无论是口碑还是品牌都是过硬的,很多学员都慕名而来,牛课带给大家的更多的是责信任感与责任感。牛课网是由前阿里前端架构师,赵强老师亲自带队授课全程面授、牛课是崇尚实战化教学,通过实战经验让更多前端学员思维变通,而不是一贯的学习

2020-08-10 12:06:08 232

转载 JavaScript面试知识点

JavaScript面试知识点HTML&CSS:浏览器内核盒模型、flex布局、两/三栏布局、水平/垂直居中;BFC、清除浮动;css3动画、H5新特性。JavaScript:继承、原型链、this指向、设计模式、call, apply, bind,;new实现、防抖节流、let, var, const 区别、暂时性死区、event、loop;promise使用及实现、promise并行执行和顺序执行;async/await的优缺点;闭包、垃圾回收和内存泄漏、数组方法、数组乱序

2020-08-06 15:26:45 253

转载 2020年开发工具及开发文档汇总

2020年开发工具汇总及开发文档汇总(点击查看)Sublime下载Webstorm下载Bootstrap文档git文档node.js文档Vue.js文档…查看更多

2020-08-06 15:01:13 88

转载 go面试题2020版

go面试题2020版1、go的调度2、go struct能不能比较因为是强类型语言,所以不同类型的结构不能作比较,但是同一类型的实例值是可以比较的,实例不可以比较,因为是指针类型3、go defer(for defer),先进后出,后进先出func b() {for i := 0; i < 4; i++ {defer fmt.Print(i)}}4、select可以用于什么,常用语gorotine的完美退出golang 的 select 就是监听 IO 操作,当 IO 操作发生时

2020-08-06 10:34:23 844

转载 C++ 面试题及答案2020版

C++ 面试题及答案2020版1 多态的实现存在虚函数的类至少有一个(多继承会有多个)一维的虚函数表叫做虚表(virtual table),属于类成员,虚表的元素值是虚函数的入口地址,在编译时就已经为其在数据端分配了空间。编译器另外还为每个类的对象提供一个虚表指针(vptr),指向虚表入口地址,属于对象成员。在实例化派生类对象时,先实例化基类,将基类的虚表入口地址赋值给基类的虚表指针,当基类构造函数执行完时,再将派生类的虚表入口地址赋值给基类的虚表指针(派生类和基类此时共享一个虚表指针,并没有各自都生成

2020-08-06 10:26:22 968 1

转载 python面试题及答案2020版

牛课网(www.oxke.net)专注互联网教育牛课网基础html 教程html5 教程css 教程css3 教程javascript 教程html dom 教程jquery 教程进阶Font Awesome 教程Foundation5 教程Bootstrap 教程JQuery EasyUI 教程AJAX 教程JSON 教程Highcharts 教程Google 地图API高级ionic 教程AngularJS 教程TypeScript 教程Node.js

2020-08-06 10:21:09 2986 1

转载 java面试题及答案2020最新版

java面试题及答案2020最新版java基础以及多个“比较”1.Collections.sort排序内部原理在Java 6中Arrays.sort()和Collections.sort()使用的是MergeSort,而在Java 7中,内部实现换成了TimSort,其对对象间比较的实现要求更加严格2.hashMap原理,java8做的改变从结构实现来讲,HashMap是数组+链表+红黑树(JDK1.8增加了红黑树部分)实现的。HashMap最多只允许一条记录的键为null,允许多条记录的值为nu

2020-08-06 10:06:57 1073

转载 前端面试题整理2020

前端面试题整理2020(www.oxke.net)1.一些开放性题目1.自我介绍:除了基本个人信息以外,面试官更想听的是你与众不同的地方和你的优势。2.项目介绍3.如何看待前端开发?4.平时是如何学习前端开发的?5.未来三到五年的规划是怎样的?position的值, relative和absolute分别是相对于谁进行定位的?§ absolute :生成绝对定位的元素, 相对于最近一级的 定位不是 static 的父元素来进行定位。§ fixed (老IE不支持)生成绝对定位的元素,通常相

2020-08-05 17:12:32 712

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除