文本框和图片对齐 在默认情况下,input文本框和图片无法自然对齐,总会有所偏差,文本框往往会比图片要往下边一点,只要给元素添加vertical-align:bottom即可令两者底部水平对齐,代码如下: 1 2 如何设置透明度属性 1 2 3 4 5 6 7 8 filter:alpha(opacity=50); <! 当行内出现很长的英文单词或者url的时候,会出现自动换行的问题,为了美化页面,往往会希望这些很长的英文单词或者url能够断开来,超出的部分换行到下一行。 break-word(此值用来强制换行,内容将在边界内换行,中文没有任何问题,英文语句也没问题。 主要解决了长串英文的问题。)
相关博客: Web前端学习笔记【1】 ---- 1. this在 JavaScript 中主要有以下五种使用场景 ---- 在全局函数调用中,this 绑定全局对象,浏览器环境全局对象为 window = { test: 'obj2test', getAge2: function () { console.log(this.test) } } return obj2; } }; obj.getAge().getAge2() // 'obj2test' // ============== var obj = { birth :@&=+$#")); 输出: http%3A%2F%2Fwww.w3school.com.cn http%3A%2F%2Fwww.w3school.com.cn%2Fp%201%2F %2C%2F 标签,而@import是CSS提供的; 页面被加载时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载; @import只在IE5以上才能识别,而link是HTML标签,无兼容问题
个人随笔,记录问题及思路草稿,非文章性质。 方案1: 开发人员在 ts 的 model 里,先配置好,那个属性,对应的外键对象是什么,可以用注解配置,或者代码配置 方案2:服务端返回的不是当前 detail 的纯 model “123”:{id:”123”,name:”设备1″} } child:{ 1:{}, 2: {} } } } 列表的: { } 数据缓存,已存在的无需再加载 的问题好解决 但是,对于要加载一个 不过这需要定个规则),后端自动解析处理,如果前端已缓存了这个外键 id,则无需返回,如果没有,则查询并返回。
它主要是用来防止UI redressing 补偿样式攻击) XSS攻击 攻击过程: 主要是通过html标签注入,篡改网页,插入恶意的脚本,前端可能没有经过严格的校验直接就进到数据库,数据库又通过前端程序又回显到浏览器 先看个有意思的问题: A、B两个人分别在两个岛上,并且分别有一个箱子,一把锁,和打开这把锁的钥匙(A的钥匙打不开B手上的锁,B的钥匙也打不开A的锁)。 这就是公钥和私钥的问题了,答案比较简单,也对应了公钥和私钥在https中的应用过程。 考虑到这个问题,w3c在2015年4月份出了一个 Upgrade Insecure Requests 的草案,他的作用就是让浏览器自动升级请求。 通常不正确的设置 2.X-Content-Type-Options &ems; 这个header主要用来防止在IE9、chrome和safari中的MIME类型混淆攻击。
vue-cli里的默认配置,css和js的名字都加了哈希值,所以新版本css、js和就旧版本的名字是不同的,不会有缓存问题。
如果后端接口没有设置 cors (跨域资源共享),可在前端解决跨域问题,在 vue.config.js 中配置代理: devServer: { client: { overlay
在前端vue2项目下,如果直接像普通css那样使用meidia query,是不起作用的 需要安装sass和sass-loader 在package.json中指定一下依赖,一定要注意版本,经过我的测试我现在这个版本是不报错的 chatCenter { background: #fff; max-width: 900px; margin: 0 auto; box-shadow: 2px 2px 6px rgb(0 0 0 / 30%); border-top: none; overflow: hidden; @media screen and (min-width: 900px){ max-height: 780px; box-shadow: 0 2px 8px rgb(0 0 0 /
使用path来匹配路由,然后通过query来传递参数,这种情况下 query传递的参数会显示在url路由的两种模式 hash与history 对于Vue 这类渐进式前端开发框架,为了构建SPA(单页面应用 ),需要引入前端路由系统,这也就是Vue-router存在的意义。 前端路由的核心,就在于改变视图的同时不会向后端发出请求。 比如:没有模块系统、标准库较少、没有标准接口、缺乏包管理系统、列表内容CommonJS模块规范很好地解决变量污染问题,每个模块具有独立空间,互不干扰,命名空间相比之下就不太好。 写的比较匆忙,可能有诸多问题,望各位大佬指正。
不论是什么样的前端面试,总会问到的一个问题:前端性能优化。相信如果这个问题没有答好,在面试中会很被动。于是,趁着这个天天宅的时期,好好的整理了一番。 、CSS代码可以内嵌在HTML中,比如:rem动态等5、避免使用iFrame6、使用骨架屏二、CSS优化加载优化1、避免使用css的@import2、避免使用通配符3、避免使用! 1、选择器嵌套尽量不要超过三层2、id选择器尽量不要嵌套3、使用继承体积优化1、提取公共CSS三、JS优化运行速度1、如果没有兼容问题,尽量使用原生方法2、根据兼容浏览器的最低版本,考虑是否使用polyfill3 (Webpack拆包)减少加载体积1、压缩图片2、压缩HTML、CSS、JS代码3、开启网络压缩,如:GZIP参考 前端进阶面试题详细解答减少加载次数1、制作精灵图2、将小图片转换为base64字符串3 、使用浏览器缓存4、使用前端缓存,如: LocalStorage、Cookie、SessionStorage等5、减少重定向请求,比如:nginx反向代理的重定向6、避免使用服务端字体五、React性能优化
第4章 缓存问题 4.1 缓存的产生 以上一节的案例为模板,使用IE9以下版本浏览器测试,有缓存问题; 原因: 在Ajax的get请求中,如果运行在IE内核的浏览器下, 其如果向同一个url发送多次请求时 ,就会产生所谓的缓存问题。 缓存问题最早设计初衷是为了加快应用程序的访问速度, 但是其会影响Ajax实时的获取服务器端的数据。 4.2 客户端解决缓存问题 产生缓存的问题就是 我们的客户端向同一个 url 发送了多次请求; 如果我们每次请求的url不同,那么,缓存问题就不会存在了; 我们可以在请求地址的后面加上一个无意义的参数 ,参数值使用随机数即可, 那么每次请求都会产生随机数,URL就会不同,缓存问题就被解决了; Math.random():返回 0–1 之间的随机数,包括 0 但不包括 1; 修改代码如下: var url
——高尔基《世界名言录》 遇到前端传递日期格式问题,我这边用@RequestBody接受前端传递的日期格式为:yyyy-MM-dd 我声明的变量为Date出现了Cannot deserialize value
前端常见问题分析 http://zoo.zhengcaiyun.cn/blog/article/common-question 在前端开发过程中,常常遇到各种各样的问题和坑点。 因此,本文将旨在探讨一些前端开发过程中常见的问题和坑点以及解决方法,帮助读者更加深入地了解前端开发,并解决实际工作中遇到的问题。 数据类型 数字 1. // Uncaught SyntaxError: Invalid or unexpected token 2..toFixed(1) // '2.0' js 计算有精度问题呢? 由于改方式是以 2 为底进行表示的,所以执行某些运算时容易出现误差、溢出、无限循环等问题。 它只会统计首个默认之前的参数 对象排序问题: a.b=1 a.a=1 a.c=1 a[2]=2 a[12]=2 a[1]=2 // 结果 {1: 2, 2: 2, 12: 2, b: 1, a: 1,
image.png 今天在群视频中分享了我自己写的PPT《学习前端的思路问题》,这个PPT主要讲了以下四个问题: 一,前端的核心是学什么? 什么程度算是学会JS 不知道这东西怎么用 不知道在什么情况下用什么JS功能 三,解决问题2的思路是什么? 这个问题,其实是一个理解程度的问题。对于自己的JS,或是前端的水平,要有一个时间维度上的预期。把这个问题,替换为“自己一年工作之后,要达到一个什么样的前端水平”?我觉得是比较适合的。 三,就是你面对的前端开发任务,超出了你的能力范围。 对于前端的使用场景问题,一是技术方面的,二是业务方面的。 使用场景包括但不限于,,1,约会;2,购物;3,碎片时间;4,约车啊,5,分类信息,等等。。。对于技术和业务之间的关系,就会有一个自己的体会。
作者|observernote 原文|http://www.cnblogs.com/observernotes/p/4806218.html 图片问题的一些总结 前言: 之前个人对于图片的问题,一直还是显得不是很重视 因为png32颜色的丰富性(2^24种颜色),以及对各种透明的友好支持。png32是我们许多人最常用的格式之一。其导出方法也很简单,只用在ps中选择导出为web所用格式,选中png24+透明即可。 png8png8由于仅有2^8种颜色,因此体积较小,同时,他还对透明有比较友好的支持,因此,png8也是很多人喜欢使用的图片格式。 png8+索引透明可以用来处理桌面端对于低版本浏览器的(ie6)的兼容问题,虽然采用背景杂边的方式只能解决部分锯齿问题,但总好过于无。ie6已然是很早之前的浏览器,本身对其的兼容就势必会牺牲一些东西。 还有关于体积更小,效果更好的WebP,以及对于这种图片方案与前端自动化工具的结合还没有纳入实践……嗯,搞不好哪天懒癌治好了就继续写了。 扫码下方二维码, 随时关注更多前端干货文章!
问题来了 1.为什么会出现模块化,以及各种模块化标准 移动端React开源项目,从零搭建的webpack脚手架 前端模块化出现是必定的,一个很复杂的应用不可能所有的内容都在一个文件中~ 模块化的历程: 在服务端,模块文件都存在本地磁盘,读取非常快,所以这样做不会有问题。但是在浏览器端,限于网络原因,更合理的方案是使用异步加载。 /test2'); a.a = 2; console.log(a.a,'test1'); func() test2.js const a = require('. 使用Node.js作为中间件,同构服务端渲染单页面应用,以及做转发请求等操作 为了解决单页面应用的SEO问题 传统的SSR渲染是在服务端把代码都运行好了然后通过字符串都形式传给前端渲染 现在都单页面应用是只传输一个空的 返回字符串和注水后的数据给前端 3.前端拿到字符串和注水数据后,脱水渲染,然后js文件接管,这时候又是单页面应用的逻辑了~ 经过很久考虑才觉得应该写这5个问题,接下来的5个问题会在下周更新。
在互联网时代,信息安全成为一个非常重要的问题,所以我们西部了解前端的安全问题,并且知道如何去预防、修复安全漏洞。 在前端有几种常见的攻击方式:XSS、CSRF、点击劫持、中间人攻击、SQL注入、OS命令注入。 XSS攻击 什么是XSS攻击? 2、持久型XSS(存储型XSS) 持久型是恶意代码被服务端写入到数据库中,这样当每个浏览器请求数据时都会被攻击到。 攻击过程为1、用户登陆A网站;2、A网站确认身份;3、B网站向A网站发送请求 如何防御CSRF攻击? SCRF攻击有以下几种防范措施: 禁止第三方网站带Cookies 在前端页面加入验证信息 禁止第三方网站请求 Get请求不对数据进行修改 点击劫持 什么是点击劫持? 点击劫持是一种视觉欺骗的攻击手段。
,这时候,a指向的对象发生了改变,变成了新对象{n:2};而a.x = a则是对象{n:1,x:undefined}中的属性x指向了对象{n:2},所以此时指向的对象变成了{n:1,x:{n:2}}。 var a = {n:2} ; var b = {n:1,x:{n:2}} ; 综上所述,我们可以看到最后的运行结果,显然a.x是undefined,b.x是对象{n:2},用对象的字符串形式[object function problem() { var A = {}; var B = {}; A.a = B; B.a = A; } 上面例子可以看出对象A和B存在循环音引用的问题,即两个的引用次数均为2, 为了解决循环引用的问题,还有一种方法就是可以实现垃圾回收,那就是标记清除法。 1.1.3 管理内存 使用具备垃圾收集机制的语言编写程序,开发人员一般都不必担心内存管理的问题。但JavaScript在进行内存管理以及垃圾收集时面临的问题还是有些不同。
child: Child } data = { list: [{id: 1, title: 'title1'}, {id: 2, title: 'title2'}] } } </script> data = { a: 1 } //计算属性aPlus,在脚本中可通过this.aPlus来引用,在模板中可通过 { components = {}; data = {}; methods = {}; events = { 'some-event': (p1, p2,
原型链并非十分完美, 它包含如下两个问题: 问题一: 当原型链中包含引用类型值的原型时,该引用类型值会被所有实例共享; 问题二: 在创建子类型(例如创建 Son 的实例)时,不能向父类型(例如 Father 实现步骤: Step1: 创建 callback 方法 Step2: 插入 script 标签 Step3: 后台接受到请求,解析前端传过去的 callback 方法,返回该方法的调用,并且数据作为参数传入该方法 Step4: 前端执行服务端返回的方法调用。 缺点: 参数传递太麻烦,Promise 解决了回调地狱的问题,但是如果遇到复杂的业务,代码里面会包含大量的 then 函数,使得代码依然不是太容易阅读。 四、使用闭包的注意点 1)由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在 IE 中可能导致内存泄露。
这个文件就是我们一会要写的样式文件,为了展示不带样式的页面,我先把这行注释掉了,那这段代码用chrome打开截图如下: 那接下来我们完成样式文件的编写,首先我们完成的任务如下: 1、设置背景颜色浅蓝色 2、 给h1字体加一个边框,设置h2字体颜色 3、设置div中p段落背景颜色 4、设置表单边框,指定宽度和长度 5、设置超链接颜色和一些文字装饰 基本就这些吧,我们直接上代码: /*背景色*/ body{ background-color : #a8e6ff; } /*h1的边框*/ h1{ border: 1px solid black; } /*h2颜色*/ h2{ color: purple; } /*段落背景色,注意是div下的p : 5px solid gray; width: 400px; height: 200px; } /*超链接红色*/ a{ color: red; } /*表单边框*/ input{ border: 2px