
基础-HTML/CSS/JavaScript细节知识点
HTML/CSS/JavaScript
爱吃松果的美美
前端开发
展开
-
css//css滚动条优化
https://www.cnblogs.com/xiuyun/p/13574089.html<style>::-webkit-scrollbar-track{background: rgba(0,0,0,.1);border-radius: 0;}::-webkit-scrollbar{-webkit-appearance: none;width: 10px;height: 10px;}::-webkit-scrollbar-thumb{cursor: pointe原创 2021-09-12 09:11:35 · 172 阅读 · 0 评论 -
elementui//el-card全局去阴影
src/styles/index.scss.el-card.is-always-shadow, .el-card.is-hover-shadow:focus, .el-card.is-hover-shadow:hover{ box-shadow: none;}原创 2021-09-12 09:09:49 · 3269 阅读 · 0 评论 -
css//css设置字与字之间的距离(letter-spacing/word-spacing)
https://blog.youkuaiyun.com/lovetopceo/article/details/83606827style="line-height:400%;font-weight: bold;word-spacing:4;letter-spacing:2;"letter-spacingword-spacing原创 2021-09-12 09:08:20 · 257 阅读 · 0 评论 -
css//设置两个DIV为display:inline-block出现上下错位问题
https://www.cnblogs.com/zml-mary/p/7722061.html发现AB两个div设置display:inline-block,出现上下错位问题,当AB里面内容为空时,错位问题消失看了网上资料以及通过实践分析,总结如下1.同一行的行内元素对齐方式默认是底部对齐,即vertical-align:baseline2.对于内容为空的inline-block元素而言,该元素的基线就是它的margin底边缘,否则就是元素的内部最后一行内联元素的基线解决方式:1.floa原创 2021-09-08 08:47:47 · 1006 阅读 · 0 评论 -
vue//vue 动态侧边栏菜单不更新问题(退出重登录管理员还是看到普通用户的菜单列表);注意:深拷贝会丢失函数!!!
https://blog.youkuaiyun.com/qq_16072507/article/details/102720589强刷页面 window.location.reload(true);路由数据深拷贝(注:深拷贝会丢失函数;如果有箭头函数之类的不能深拷贝)async logout() { await this.$store.dispatch('user/logout') window.location.reload(true);//强制刷新整个界面}GenerateRoutes({com原创 2021-09-05 10:41:33 · 707 阅读 · 0 评论 -
js//所有 filter / map 。。。。都要return!!!!总踩这个坑!!!
outputList = inputList.filter((item) => { return item.name == routeTag})记得 return !!!原创 2021-09-05 10:33:00 · 1670 阅读 · 4 评论 -
js vue//递归数组本身,返回合适的路由
https://www.imooc.com/wenda/detail/588902vue路由递归遍历找到所有符合条件的路由。传参里面还有 result=[],用于输出多级菜单中符合条件的内容函数调用函数本身filterList(inputList, result = []) { inputList.forEach((item) => { if (item.menuType == 1) { result.push(item) } else if (item.m原创 2021-09-05 10:30:43 · 349 阅读 · 0 评论 -
CSS//让文字居于div的底部
https://blog.youkuaiyun.com/weixin_38168728/article/details/101573357https://blog.youkuaiyun.com/sd19871122/article/details/53143035代码演示:https://codepen.io/janmie-cjm/pen/yLXapdB?editors=1100外层div 设置positon 为 relative里层p 设置position 为 absolute;且 bottom、padding、mar原创 2021-09-05 10:23:11 · 1015 阅读 · 0 评论 -
vue//vue路由带参数(模板语法 vs query)
next(`/login?redirect=${to.path}`) ///login?redirect=%2Fhome next({path:'/login', query:{redirect: to.path}}) //同上——/login?redirect=%2Fhome原创 2021-09-05 09:57:34 · 649 阅读 · 0 评论 -
js//了解export和import的使用以及export和export defalut 的区别
https://www.cnblogs.com/tu-0718/p/11125862.htmlADM——用于浏览器。异步加载js。CommonJS——用于服务器。同步加载js。用于node端。使用npm后建议使用CommonJS。问题三:为什么要使用export和import?JS在ES6以前都没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。 这使得JS对开发大型的、复杂的项目形成了巨大障碍。 为了解决该问题,ES6之前社区制定了一些模块原创 2021-09-04 14:13:15 · 171 阅读 · 0 评论 -
js//throw new Error() 抛出错误测试功能
throw new Error() 抛出错误验证后续代码是否正确原创 2021-09-04 14:09:57 · 402 阅读 · 0 评论 -
VUE 路由守卫 next() / next({ ...to, replace: true }) / next(‘/‘) 说明
https://blog.youkuaiyun.com/qq_41912398/article/details/109231418next() —— 放行next(’/’) —— 中断当前导航,执行新的导航。注意这里不是直接转跳,而是中断。beforeEach((to, from, next) => { beforeEach(('/logon', from, next) => { beforeEach(('/logon', from, next) => { beforeE原创 2021-09-04 14:05:21 · 2047 阅读 · 0 评论 -
js//Promise面试题之Promise.all和Promise.race的区别
文章目录一、Promise.all的使用二、Promise.race的使用参考:https://blog.youkuaiyun.com/xyphf/article/details/77925571https://blog.youkuaiyun.com/xyphf/article/details/88862011一、Promise.all的使用Promise.all可以将多个Promise实例包装成一个新的Promise实例。同事,成功和失败的返回值是不同的,成功的时候返回的是一个结果数组,而失败的时候返回最先被rejec原创 2021-09-04 14:00:13 · 333 阅读 · 0 评论 -
css//SASS 中的占位符%,@extend,@mixin(@include)的使用场景
文章目录占位符 % 、 @extend@extend@mixin(@include)参考:https://blog.youkuaiyun.com/chy555chy/article/details/103055822占位符 % 、 @extend%log { display: block; color: black;}.log-debug { @extend %log; border: 1px solid blue;}.log-error { @extend %log; bor原创 2021-09-04 13:49:19 · 377 阅读 · 0 评论 -
面试//统计单词数量,降序输出
// function-统计对象属性数量 function getSum(res, currentVal) { if(currentVal in res){ res[currentVal]++ }else{ res[currentVal] = 1 } return res } // function-逐个输出 function outputEach(arr){ arr.map(r=>{ ...原创 2021-08-03 19:58:42 · 116 阅读 · 0 评论 -
css//img vs background-image。图片显示 无特殊要求时,按原图宽高比显示 background-size: cover;
background-repeat: no-repeat;background-position: center;background-size: cover;将图片变成背景,通过改变背景尺寸等可以任意改变图片在容器中显示的效果,操作是最方便的:<style type="text/css">div{ width: 200px; height: 200px; border: 2px solid red; background-repeat: no-re.原创 2021-08-03 16:30:09 · 398 阅读 · 0 评论 -
css//flex-grow、flex-shrink、flex-basis的计算规则及面试题
参考:flex-grow、flex-shrink、flex-basis的计算规则及面试题第 155 题:求最终 left、right 的宽度1、当主轴空间有剩余,求最终left、right宽度<div class="container"> <div class="left"></div> <div class="right"></div></div><style> * { padding原创 2021-08-02 17:03:50 · 213 阅读 · 0 评论 -
排序//sort、二分排序、冒泡排序
二分法排序function quickSort(arr){ if(arr.length<=1) return arr; let middleIndex = Math.floor(arr.length/2); let middle = arr.splice(middleIndex,1)[0] let left = [] let right = [] for(let i=0;i<arr.length;i++){ if(arr[i]&l原创 2021-08-02 09:22:11 · 99 阅读 · 0 评论 -
axios//axios实现原理
参考:axios实现原理axios 原理还是属于 XMLHttpRequest, 因此需要实现一个ajax。还需要返回一个promise对象来对结果进行处理。以get请求为例,实现一个axios实现ajax的get请求var Ajax = { get: function(url, fn) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onreadystatechange = function()原创 2021-08-01 09:39:10 · 421 阅读 · 1 评论 -
http//TCP 三次握手和四次挥手
参考:【动画详解】TCP 三次握手和四次挥手图文详解“ TCP/IP 协议可以说是整个互联网的基石。”传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793 定义。TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从原创 2021-08-01 09:20:51 · 273 阅读 · 0 评论 -
跨域//9种常见的跨域解决方案
参考:9种跨域解决方案jsonp(只支持get请求,支持老的IE浏览器)适合加载不同域名的js、css,img等静态资源;CORS(支持所有类型的HTTP请求,但浏览器IE10以下不支持)适合做ajax各种跨域请求;Nginx代理跨域和nodejs中间件跨域原理都相似,都是搭建一个服务器,直接在服务器端请求HTTP接口,这适合前后端分离的前端项目调后端接口。document.domain+iframe适合主域名相同,子域名不同的跨域请求。postMessage、websocket都是HTML5新特原创 2021-07-27 15:18:43 · 202 阅读 · 0 评论 -
通信安全//什么是 CSP?
CSP(Content-Security-Policy)指的是内容安全策略,它的本质是建立一个白名单,告诉浏览器哪些外部资源可以加载和执行。我们只需要配置规则,如何拦截由浏览器自己来实现。通常有两种方式来开启 CSP,一种是设置 HTTP 首部中的 Content-Security-Policy,一种是设置 meta 标签的方式<meta http-equiv="Content-Security-Policy">CSP 也是解决 XSS 攻击的一个强力手段。...原创 2021-07-27 15:03:34 · 526 阅读 · 0 评论 -
通信安全//为什么 token可以防止 csrf?
参考Token被用户端放在Cookie中(不设置HttpOnly),同源页面每次发请求都在请求头或者参数中加入Cookie中读取的Token来完成验证。CSRF只能通过浏览器自己带上Cookie,不能操作Cookie来获取到Token并加到http请求的参数中。所以CSRF本质原因是“重要操作的所有参数都是可以被攻击者猜测到的”,Token加密后通过Cookie储存,只有同源页面可以读取,把Token作为重要操作的参数,CSRF无法获取Token放在参数中,也无法仿造出正确的Token,就被防止掉了。原创 2021-07-27 11:27:48 · 2462 阅读 · 0 评论 -
js//promise和async/await区别
参考:promise和async/await区别1 promise是ES6,async/await是ES72 async/await相对于promise来讲,写法更加优雅3 reject状态:promise错误可以通过catch来捕捉,建议尾部捕获错误,async/await既可以用.then又可以用try-catch捕捉async awaitasync用于申明一个function是异步的,而await可以认为是async wait的简写,等待一个异步方法执行完成。规则:1 async原创 2021-07-26 21:29:43 · 907 阅读 · 0 评论 -
js//for of和for in的区别
for of 和 for in 的区别简单说,for in是遍历键名,for of是遍历键值。for in 遍历 object + arrayfor of 遍历 array原创 2021-07-26 15:24:53 · 69 阅读 · 0 评论 -
CSS//伪类 伪元素
参考:伪类和伪元素的区别在哪,有什么作用。?伪类相当于一个状态开关,需要手动触发,触发开关时修改元素样式达到一个特殊的动态效果。用于向某些选择器添加特殊的效果:link(a:link——选择所有未访问链接):visited(a:visited——选择所有访问过的链接):active(a:active——选择活动链接):hover(a:hover——选择鼠标在链接上面时):focus(input:focus——选择具有焦点的输入元素)伪元素可以比作一个假的元素,但不存在与dom树中,通常用来原创 2021-07-26 14:45:43 · 120 阅读 · 0 评论 -
js//防抖节流
防抖——靠定时器控制节流——靠变量控制(挖财)什么是防抖和节流?有什么区别?如何实现?如何理解debounce和throttle?原创 2021-07-26 11:50:44 · 87 阅读 · 0 评论 -
es6//Promise的三种状态
参考:Promise三种状态Promise有哪几种状态,各个状态之间是如何进行转换的?1.初始化,状态:pending2.当调用resolve(成功),状态:pengding=>fulfilled3.当调用reject(失败),状态:pending=>rejected...原创 2021-07-23 14:53:35 · 581 阅读 · 0 评论 -
前端//babel有什么作用
参考:Babel 是怎么工作的Babel 是一个 JavaScript 编译器。1 做 & 不做Babel 只是转译新标准引入的语法,比如:箭头函数let / const解构哪些在 Babel 范围外?对于新标准引入的全局变量、部分原生对象新增的原型链上的方法,Babel 表示超纲了。全局变量PromiseSymbolWeakMapSetincludesgenerator函数对于上面的这些 API,Babel 是不会转译的,需要引入 polyfill 来解决。原创 2021-07-23 14:50:08 · 350 阅读 · 0 评论 -
es6//localStorage属性和sessionStorage属性
参考:localStorage属性和sessionStorage属性localStorage 和 sessionStorage首先可以使用一个变例获取localStorage。var storage = window.localStorage;保存数据storage.setItem("type", "1");或storage.type='1';读取数据storage.getItem("type")或storage.type删除指定key值的数据storage.remove原创 2021-07-23 13:04:34 · 317 阅读 · 0 评论 -
css//CSS animation 与 CSS transition 有何区别
参考:CSS animation 与 CSS transition 有何区别一、指代不同1、animation :属性是一个简写属性,用于设置六个动画属性。2、transition:属性是一个简写属性,用于设置四个过渡属性。二、特点不同1、animation :animation: name duration timing-function delay iteration-count direction;规定需要绑定到选择器的 keyframe 名称。规定完成动画所花费的时间,以秒或毫秒计。2、原创 2021-07-22 16:10:54 · 167 阅读 · 0 评论 -
css//CSS中import与link的区别是什么
参考:CSS中import与link的区别是什么示例:<styletype="text/css"media="screen"> @importurl("http://www.divcss8.com/home/css/global/v2.0.css?t=20070518.css");</style> <link rel="stylesheet" rev="stylesheet" href="default.css" type="text/css" media="al原创 2021-07-22 15:29:02 · 236 阅读 · 0 评论 -
delete 和vue.delete 删除数组、对象的区别
参考:delete 和vue.delete 删除数组的区别① delete 数组自带的方法,删除后对应值变为 empty/undefined,数组长度不变,键值不变。② vue.$delete 会删除数组的键值对,数组长度变化。原创 2021-07-21 18:33:01 · 508 阅读 · 0 评论 -
JS字符串反转
参考:https://www.cnblogs.com/hcxwd/p/9350604.html① newStr = str.split(’’).revese().join(’’)② split + for循环 + unshit拼接③ split + for循环 + charAt拼接原创 2021-07-21 18:23:19 · 89 阅读 · 0 评论 -
css//用css画一个三角形、梯形
参考:纯 CSS 实现绘制各种三角形(各种角度)掌握原理很重要!!!然后学会灵活变通。<template> <div> <div class="triangleMe" /> <div class="tixing" /> </div></template><script>export default {}</script><style scoped>.tri原创 2021-07-21 18:11:39 · 206 阅读 · 0 评论 -
javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法
javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法数组:① for 循环② slice③ concat④ ES6扩展运算符 …对象:① for 循环② JSON.parse(JSON.stringify(…))③ ES6扩展运算符 …原创 2021-07-19 17:24:20 · 131 阅读 · 1 评论 -
如何判断一个对象是否是函数
https://www.cnblogs.com/peerless1029/p/9950005.htmlhttps://www.cnblogs.com/leaf930814/p/6659996.html① ... instanceof Array② Obeject.prototype.toString.call(...) 最常用——用 call 改变 this 指向,然后相当于借用 Object原型上的toString方法。③ Array.prototype.isPrototypeOf(...)④原创 2021-07-19 17:11:46 · 257 阅读 · 0 评论 -
for(var i=0;i<=3;i++){ setTimeout(function() { console.log(i) }, 10);}
https://www.jianshu.com/p/837f599a29e6https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/43原创 2021-07-19 14:48:09 · 1776 阅读 · 0 评论 -
css3中-moz、-ms、-webkit各什么意思
-moz代表firefox浏览器私有属性;-ms代表IE浏览器私有属性;-webkit代表chrome、safari私有属性;-o代表Opera私有属性。扩展资料:常见的中私有属性拿chrome浏览器举例::如果前面为空代码全局,如果前面有某个元素的css选择器代表改元素的对于内容1、输入框::-webkit-input-placeholder {}//阻止input出现黄色背景input:-webkit-autofill { background-color: #fff原创 2021-07-18 17:20:08 · 1230 阅读 · 0 评论 -
event.target 和 event.currentTarget 的区别
event.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素,只有被点击的那个目标元素的event.target才会等于event.currentTarget。currentTarget 中的 current 记成 通用的,就好理解了。<div id="1"> <div class="2">22222</div> <div class="3">3333</div></div>点原创 2021-07-18 11:04:55 · 333 阅读 · 0 评论