html5

HTML5抽奖转盘-CSS3超简单版本

随声附和 提交于 2020-08-14 16:19:55
核心思路 采用CSS3的transition(过渡效果),给定需要旋转的元素设置transform的rotate属性的结束角度,同时添加transition-timing-function来控制旋转的速率包括起始速率和结束速率,代码如下(浏览器前缀可自行添加): #pointer { transition: transform 6 .5s; transition -timing- function : ease- in - out; } 这样,给定结束角度后,元素就会旋转,结束角度可以自由控制旋转的圈数,例如结束角度为angelEnd,即圈数 m=angelEnd/360 并取整,前几圈转满360无需特殊处理,关键是最后一圈的角度决定了抽奖的结果,代码如下: let base = 2160; // 先转满360×6圈 let result = getRandom(-30,330); // 最后一圈角度,获取-30到330的随机数 let angelEnd = -(base+result) // 结束角度数,负数代表逆时针旋转 $("#pointer").css({"transform":"rotate("+angelEnd+"deg)"}); // 设置CSS 判断抽奖结果 通过监听旋转元素的 transitionend 获得动画结束的事件,在此回调中,可以判断抽奖结果

CSRF(跨站请求伪造攻击)漏洞详细说明

感情迁移 提交于 2020-08-14 13:45:38
Cross-Site Request Forgery(CSRF),中文一般译作跨站请求伪造。经常入选owasp漏洞列表Top10,在当前web漏洞排行中,与XSS和SQL注入并列前三。与前两者相比,CSRF相对来说受到的关注要小很多,但是危害却非常大。 通常情况下,有三种方法被广泛用来防御CSRF攻击:验证token,验证HTTP请求的Referer,还有验证XMLHttpRequests里的自定义header。鉴于种种原因,这三种方法都不是那么完美,各有利弊。 二 CSRF的分类 在跨站请求伪造(CSRF)攻击里面,攻击者通过用户的浏览器来注入额外的网络请求,来破坏一个网站会话的完整性。而浏览器的安全策略是允许当前页面发送到任何地址的请求,因此也就意味着当用户在浏览他/她无法控制的资源时,攻击者可以控制页面的内容来控制浏览器发送它精心构造的请求。 1、网络连接。例如,如果攻击者无法直接访问防火墙内的资源,他可以利用防火墙内用户的浏览器间接的对他所想访问的资源发送网络请求。甚至还有这样一种情况,攻击者为了绕过基于IP地址的验证策略,利用受害者的IP地址来发起他想发起的请求。 2、获知浏览器的状态。当浏览器发送请求时,通常情况下,网络协议里包含了浏览器的状态。这其中包括很多,比如cookie,客户端证书或基于身份验证的header。因此,当攻击者借助浏览器向需要上述这些cookie

VUE 如何覆盖element组件样式

自作多情 提交于 2020-08-14 12:17:38
最近在用element UI开发一个toB系统时,发现设计稿和UI库有不小的出入,由于不是内部系统,所以这块的还原度没办法“得过且过”。我整理了一些覆盖UI库样式的“手段” 为什么UI库(这里用的是element UI)的组件不好直接覆盖? 我们通常的vue工程都是用vue-cli自动生成出来的,不知道大家有没有发现一个细节——生成的*.vue文件上会默认带上“scoped”,如下图: UI库不好覆盖的问题也基本从这里开始了。首先看“scoped”是什么?首先“scoped”并不是vue的专利,( “scoped”属性是HTML5的新特性,如果使用该属性,则样式仅仅应用到style元素的父元素及其子元素。 )说人话就是vue用了scoped属性,导致当前*.vue文件里的style仅仅作用于当前组件的元素,而对 部分 element UI的组件无效(一些简单的组件,例如el-button这种简单替换的还是可以覆盖的)。 “scoped”在工程中是如何工作的? 我们可以用自己的工程运行起来看一下。看看生成的页面是什么样的。 可以看到,在vue中引入了scoped这个概念,scoped的设计思想就是让当前组件的样式不会修改到其它地方的样式,使用了 data-v-hash 的方式来使css有了它对应模块的标识,这样写css的时候不需要加太多额外的选择器,方便很多。  

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第5章CSS盒子模型

僤鯓⒐⒋嵵緔 提交于 2020-08-14 12:01:31
本教程案例在线演示 有路网PC端 有路网移动端 教程配套源码资源 教程配套源码资源 div div 可定义文档中的分区(division)。 div 标签可以把网页分割为独立的、不同的部分。 可以看成以下结构: div不像 h1,p标签,没有任何默认样式,其主要作用是标识网页上的某块区域。常见做法是通过给div元素加上id或class,然后通过css选中某个div,对其进行样式美化。 <div class="demo">我是一个div</div> <style> .demo{ color:red; font-size: 20px; } </style> 每个div可以看成一个盒子 一个盒子中主要的属性有5个:width、height、padding、border、margin。如下: width:内容的宽度。CSS中 width 指的是内容的宽度,而不是盒子的宽度。盒子的宽度=内容宽度+padding+border height:内容的高度。CSS中 height 指的是内容的高度,而不是盒子的高度。盒子的高度=内容高度+padding+border padding:内边距。 border:边框。 margin:外边距。 元素宽高 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title<

Java1.8新特性以及restful接口

我怕爱的太早我们不能终老 提交于 2020-08-14 10:56:06
Java1.8新特性 Java1.8允许我们给接口添加一个非抽象的方法实现,只需要使用default关键字即可,这个特征又叫做扩展方法 Lambda表达式,是一种简洁的语法,实际上是一个匿名函数。所有的lambda表达式都是用新的lambda运算符->。运算符将表达式分为两部分,左边指定输入参数,右边是lambda主体。Lambda表达式返回右边表达式的结果。 方法和构造函数引用:Java8允许使用 :: 关键字来传递方法或者构造函数引用 函数式接口:函数式接口是指仅仅只包含一个抽象方法的接口,一般是和lambda表达式配合使用 访问局部变量,我们可以直接在lambda表达式中访问外层的局部变量 hashmap中添加了红黑树结构,在冲突较多的情况下提高了查询时的性能 stream流的扩展以及DATE API扩展 一次网络请求的具体过程是怎么样的 https://my.oschina.net/u/4248053/blog/4299070 Stream相关操作 查找流中满足条件的第一个元素 【集合】.stream() .filter(item -> 【条件】) .findAny() .get(); 【集合】.stream() .filter(item -> 【条件】) .findFirst() .get(); 内循环 【集合】.stream() .forEach(item -> {

Web瞎捣鼓——HTML

本小妞迷上赌 提交于 2020-08-14 09:35:55
正如之前写“前端之旅”系列时所说,HTML、CSS、JavaScript其实没什么可说的。在应用层面上说,确实如此。那么,我为什么又要回过头来再写它呢?不同的阶段,不同的理解吧。这是建立在我目前认知上的一个整理,不是基础教程,不喜请绕行。 1993年,ITFE(英特网工作小组)发布HTML草案。 1994年,Tim Berners-Lee创建非营利性的W3C维护互联网的对等性。 1995年,HTML2.0作为RFC1866发布。 1996年,HTML3.2发布,W3C组织对HTML语言进行规范化,注重兼容性的提高。 1997年,HTML4.0推出,提倡将文档结构和样式分离,并实现了表格更灵活的控制。 1999年,HTML4.01在HTML4.0的基础上作微小改进。 随后,W3C发现HTML存在缺陷,前途不美丽,目标转向语言更加规范的XML,于是出现了XHTML。 2000年,XHTML1.0发布,内容与HTML4.01一样,但是XHTML使用了新的语法规则。 2001年,XHTML1.1发布之后,W3C开始致力于HTML、XHTML都不兼容的XHTML2.0。 2003年,XForms重启了HTML的演化,各大厂商向W3C组织提交相关提议被拒绝。 2004年,各大厂商相继脱离W3C组织,在WHATWG投入工作。 2006年,W3C暗示了参与HTML5开发的兴趣

VCL分析工具DevExpress VCL 6月全新发布v20.1.2

那年仲夏 提交于 2020-08-14 08:50:08
DevExtreme 拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,到ASP.NET Core或Vue,DevExtreme包含全面的高性能和响应式UI小部件集合,可在传统Web和下一代移动应用程序中使用。 该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。 DevExpress VCL v20.1.2完整版下载 具体更新内容如下: 【 DevExpress VCL v20.1.2下载 】 此列表包括v20.1.2中引入的所有重大更改。 ExpressEditors Library API T861507 - cxFileTimeToDateTime函数从cxShellCommon单元移至dxCore ExpressEntityMapping Framework API T891988 - cxGridEMFData单元已重命名为cxEMFData ExpressPDFViewer UI T867366 - TdxSpreadSheetPasswordDialogForm

Web前端培训班怎么选?注意什么?

人走茶凉 提交于 2020-08-14 07:23:33
前端的开发成为了现在盛世行业,企业对人才的大量需求,而在大学学习的知识无法满足与工作的需求,面对这种需求的逐渐增多,相对应的培训班也越来越多的出现在各大城市。但还是有很多培训学校教学观念老套,学后还是无法达到企业的需求,还是找不到自己满意的工作,这也是目前出现的问题所在,那么选择培训学校要注意哪些呢?怎么选择呢? 第一、品牌实力 品牌,是一个良好的口碑承载对象。教育是一种投资,培训机构也一样,结合良好的教育理念,选择培训机构对于学习者来说不仅是给自己买了份知识保险,更重要的是帮你理解行业工作模式,沉淀下来的是一份永远不会过期的永恒。 爱创课堂是由前百度前端架构师,张容铭老师亲自带队授课全程面授、爱创是崇尚实战化教学,通过实战经验让更多前端学员思维变通,而不是一贯的学习死知识,不懂得变换,爱创课堂目前开设小班教学,一个班20-30人左右,老师针对全班每位学生,手把手教学,确保每位学员都能学会在爱创培训的所有知识。并且爱创对学员是非常负责任的,我们爱创学员就业有保障,入学签订就业协议,就业问题不用担心。 小窍门: 1、办学时间有多长; 2、硬件设施怎么样; 不一定说广告做的大品牌实力就大,一定不能有这样的错误的引导。 第二、师资力量 现在的很多培训机构都会对其师资进行各类的包装,学历不是关键,因为你是学技能学技术的,关键是老师能不能做出来东西,是不是能讲出来东西,只能做不会讲不行

移动端初始配置,兼容不同浏览器的渲染内核

为君一笑 提交于 2020-08-14 06:31:45
这是移动端布局的初始头部样式,可以解决不同浏览器的兼容问题 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 1 <!-- 要求当前网页使用IE浏览器最高版本的内核来渲染 --> 2 < meta http-equiv ="X-UA-Compatible" content ="IE=edge" > 3 <!-- 视口的设置:视口的宽度和设备一致,默认的缩放比例和PC端一致,用户不能自行缩放 --> 4 < meta name ="viewport" content ="width=device-width, initial-scale=1, user-scalable=0" > 5 <!-- [if lt IE 9]> 6 <!--解决ie9以下浏览器对html5新增标签的不识别,并导致CSS不起作用的问题 --> 7 < script src ="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js" ></ script > 8 <!-- 解决ie9以下浏览器对 css3 Media Query 的不识别 解决ie678对css3和html5新标签不认识的情况 --> 9 < script src ="https://oss.maxcdn.com/respond

笑联 x mPaaS | 12 个模块,全面小程序化,如何打造真正的一次开发复用多端?

前提是你 提交于 2020-08-14 05:38:44
简介: 一款 App 基于 mPaaS 小程序如何进行改造? 这篇故事围绕着一款 App 基于 mPaaS 小程序进行改造娓娓展开。 作为国内校园服务场景最丰富的平台,笑联 App 已覆盖国内 130 所高校,服务近百万高校学生。 截止目前,笑联 App 内的 12 个业务模块目前已顺利实现小程序化。不仅获得媲美原生应用的用户体验,同时有效规避“发版周期长”、“无法快速在线修复 Bug”等弊端,实现真正的动态发布与更新能力。 项目背景 开篇先做个自我介绍,笑联 App 目前已是国内提供校园服务场景最丰富的平台,目前已覆盖 130 所高校,服务近百万高校学生。 因我们提供的服务类型囊括洗衣机、热水器、淋浴等多项功能,业务模块多元化,并且需满足每所学校在服务类型、标准方面的个性化设计,笑联 App 长期堆叠业务模块,缺乏规范的模块化设计,导致代码愈发臃肿,开发效率低下。 与此同时,随着业务的持续扩张,任一需求的迭代均需要重新发版审核,很显然如此繁琐的发版工期已无法满足高频更新的业务需要。 我们急需在技术侧找到对应的解决思路,一方面简化业务模块之间的耦合,加速日常的开发速度;另一方面架构上需实现模块化,找到动态发布与更新的解决方式。 我们针对市面上已开放的技术选型做了调研,Flutter 和 mPaaS 理论上都可以满足我们当时的选型要求,但 mPaaS