前端开发

浅谈CSS calc()函数的用法

萝らか妹 提交于 2019-12-21 01:32:44
CSS3 的 calc() 函数允许我们在属性值中执行数学操作。例如,我们可以使用 calc() 指定一个元素宽的固定像素值为多个数值的和。 .foo { width: calc(100px + 50px); } 为什么是 calc() 如果你使用过 CSS 预处理器,比如 SASS,以上示例你或许碰到过 .foo { width: 100px + 50px; } $width-one: 100px; $width-two: 50px; .bar { width: $width-one + $width-two; } 学习Q-q-u-n: 731771211,分享学习方法和需要注意的小细节,不停更新最新的教程和学习技巧 (从零基础开始到前端项目实战教程,学习工具,全栈开发学习路线以及规划) 然而,calc() 函数提供了更好的解决方案。首先,我们能够组合不同的单元。特别是,我们可以混合计算绝对单位(比如百分比与视口单元)与相对单位(比如像素)。例如,我们可以创造一个表达式,用一个百分比减掉一个像素值。 .foo { width: calc(100% - 50px); } 本例中,.foo 元素总是小于它父元素宽度 50px。 第二,使用 calc(),计算值是表达式它自己,而非表达式的结果。当使用 CSS 预处理器做数学运算时,给定值为表达式的结果。 .foo { width:

前端入门

眉间皱痕 提交于 2019-12-20 21:24:51
目录 一.前端概述 前端开发技术栈 二.前端三剑客 1.HTML 2.CSS 3.JavaScript 三.第一个页面 1.基础模板 2.模板解读 3.其他核心模板标签 四.html常用标签 1.无语义标签 2.常用语义标签 3.文本标签 4.其他标签 五.标签分类 1.单|双标签 2.行|块标签 3.单一|组合标签 一.前端概述 ​ 前端就是网站前台部分,运行在pc端,移动端等浏览器上展现给用户浏览的网页,随着互联网技术的发展,HTML5,CSS3,前端框架的应用,跨平台响应式网页设计能够适应各种屏幕分辨率,完美的动效设计,给用户带来极高的用户体验. ​ 前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括基本的HTML和CSS以及JavaScript 前端开发技术栈 HTML HTML是超文本标记语言(Hypertext Markup Language,HTML)通过 标签语言 来标记要显示的网页中的各个部分.一套浏览器认识的规则. 浏览器按顺序渲染网页文件,然后根据标记符解释和显示内容。但需要注意的是,对于不同的浏览器,对同一标签可能会有不完全相同的解释(兼容性). 文件后缀:.html或.htm. CSS CSS是级联样式表(Cascading Style Sheets). 样式定义如何显示HTML

React前端开发环境搭建

天大地大妈咪最大 提交于 2019-12-20 18:26:17
先,我们需要明确的是React和很多前端框架一样,底层都还是js以及html,即便它有着看似特殊的jsx语法。 我们要在服务端运行js,就需要依赖一个环境,和运行war包需要tomcat一类中间件一样,运行js需要node.js, 同时因为我们用了各种框架,所以相应的module依赖也需要,需要使用npm工具,这就类似于maven管理jar包依赖一样 同样maven可以修改镜像,而npm也可以改成淘宝的cnpm以及相应module库地址。 (一)安装Node.js、npm、cnpm 当我们在 官网 下载并安装Node时,npm也自动安装好了,一路next后即可。安装好后键入node -v 以及npm -v 来测试是否安装成功(不需要自己手动配置系统环境变量) 因为国内使用npm很慢,我们可以使用淘宝的cnpm,同时设置镜像地址 npm install -g cnpm --registry=https://registry.npm.taobao.org 安装成功后,可以键入cnpm -v检查是否安装成功 (二)创建我们的第一个react程序 例如我们要在D:\workSpace下创建first-react-demo这个工程,并跑通,我们依次执行如下步骤 window下进入D:\workSpace这个文件夹,在地址栏键入cmd enter, cnpm install -g create

windows下vue+webpack前端开发环境搭建及nginx部署

南楼画角 提交于 2019-12-20 18:12:29
一、开发环境搭建 1、前端框架一般都依赖nodejs,我们首先要安装node.js。请参考http://www.cnblogs.com/wuac/p/6381819.html。 2、由于许多npm的源都是在国外的地址,安装起来特别慢,所以我们这里利用淘宝的镜像服务器。 安装命令为:npm install -g cnpm --registry=https://registry.npm.taobao.org 之后回车等待命令 3、接着安装全局的vue-cli脚手架,用于帮助搭建所需的Vue的开发模板框架 命令为:cnpm install -g vue-cli,回车,等待安装 安装完后,可以输入vue -V,然后回车,如果出现vue的客户端版本信息,则说明安装成功了。 4、用 npm 安装 Webpack: cnpm install webpack -g 此时 Webpack 已经安装到了全局环境下,可以通过命令行 webpack -h 试试。 4、在一个目录下新建一个vuepro文件夹,cd到该目录下,然后输入命令:vue init webpack vue-test (项目默认的名称) 此时,观察vuepro的文件夹下又多了一个vue-test文件夹,这个就是vue的模版项目。 5、启动调试,顺序输入以下命令: cd vue-testcnpm install(这里需要等待) npm

移动前端开发技巧摘录

末鹿安然 提交于 2019-12-20 17:20:25
1、首先我们来看看webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用 <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" /> <meta content="yes" name="apple-mobile-web-app-capable" /> <meta content="black" name="apple-mobile-web-app-status-bar-style" /> <meta content="telephone=no" name="format-detection" /> 第一个meta标签表示:强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏幕放大浏览; 第二个meta标签是iphone设备中的safari私有meta标签,它表示:允许全屏模式浏览; 第三个meta标签也是iphone的私有标签,它指定的iphone中safari顶端的状态条的样式; 第四个meta标签表示:告诉设备忽略将页面中的数字识别为电话号码; 2、 HTML5 标签的使用 在开始编写webapp时,哥建议前端工程师使用HTML5

前后端分离后的前端时代,前端技术要会做哪些事?

牧云@^-^@ 提交于 2019-12-20 08:57:28
1,什么是前后端分离 1,什么是前后端分离,要区分前端和后端,需要有个明确的界限。一般,用户可以直接看到的东西,都是属于前端的范畴,除了前端之外都属于后端了。 2,在传统的像ASP,JSP和PHP等开发模式中,前端是处在一个混沌的状态中,可以说是没有独立的“人格”可言。 3,前端负责切图和编写静态页面模板,后端将数据渲染到前端提供的页面模板中,最后将页面渲染到浏览器展示。 这个过程中,前端只提供页面模板或者写一些JavaScript脚本,有的甚至JS脚本都是后端来写,前端的作用只局限于切图和样式模板文件,这种角色就是传说中的“切图仔”。 这也是为什么行业内都觉得前端是一个很简单的工作,只要花个一周,学下HTML、CSS和PS的简单技巧就可以胜任的工作。 现在看来,那时候的前端就是一个打酱油的,发展前景很有限。那时候的JavaScript脚本也比较简单,一个jQuery就可以横扫天下,所以对于精通语言类代码的后端程序员来说,可以很快的上手JavaScript,对前端来说,发展空间就更小了。 2,前后端分离,不只是简单的代码的分离。 首先是要架构上分离解耦,逐渐摆脱前后端在架构上的依赖,前后端各司其职,分开部署在不同的服务器上,通过RESTful接口传递数据。减轻后端服务器的压力,后端服务器不再负责页面渲染,只负责输入数据,吞吐量提升了好几倍。 其次是逻辑分离,不分离的时候

webpack 4 简单介绍

不问归期 提交于 2019-12-20 04:56:44
webpack 是什么? webpack是一个现代JavaScript应用程序的静态模块打包器(module bundler)。 为什么要使用webpack呢? 随着web技术的发展,前端开发不再仅仅是静态网页的开发,前端代码的逻辑和交互越来越复杂。 回想一下最初我们如何开发一个页面,切图、写样式、用JQuery写一写JS效果,页面开发完就能直接在浏览器里查看。我们手动编译(比如用koala编译less),手动压缩(比如用compress压缩css),手动对比代码(比如用compare对比代码)。 而现在前端开发早已进入工程化和自动化,前端自动化构建工具可以帮我们完成这些重复且繁琐的工作。webpack就是前端构建工具的优秀代表。通过webpack我们可以方便快捷地处理包括JS、CSS、png、webfonts在内的资源文件。 webpack 能做哪些事情呢? 代码编译:把ES6转成ES5,把less编译成css等 文件优化:压缩HTML、CSS、JavaScript代码,压缩合并图片等 模块合并:把多个文件合成一个文件,减少http请求 自动刷新:监听本地源代码的变化,自动重新构建,刷新浏览器 代码校验:在代码被提交到仓库前校验代码是否符合规范 自动发布:自动构建出线上发布代码并传输给发布系统 webpack如何实现这些功能呢? webpack 的核心概念: 入口(entry)

谈谈css伪类与伪元素

百般思念 提交于 2019-12-20 03:42:04
谈谈css伪类与伪元素 前端er们大都或多或少地接触过CSS伪类和伪元素,比如最常见的: focus 、: hover 以及 <a> 标签的: link 、: visited 等,伪元素较常见的比如: before 、: after 等。 在这里也许有不少人都见过:before,::before这样的写法,估计有些人很纳闷,这两者有什么区别吗? 有疑问,那我们就先把疑问解决了先,不要把疑问留着。其实:before,::before这两种写法都是等效,只是:befor是CSS2的写法,::before是CSS3的写法。双冒号(::)这是CSS3 规范中的要求,目的是为了区分伪类和伪元素,大多数浏览器都支持这两种表示方式。单冒号(:)用于 CSS3 伪类,双冒号(::)用于 CSS3 伪元素。对于 CSS2 中已经有的伪元素,例如 :before,单冒号和双冒号的写法 ::before 作用是一样的。一般情况下为兼容性考虑使用单冒号(:)。 解决完疑问,那我们就可以愉快的开始接下来的内容了。 伪类 - pseudo classes 伪类存在的意义是为了通过选择器找到那些不存在与DOM树中的信息(例如 <a> 标签的: link 、: visited 等,这些信息不存在与DOM树结构中,只能通过CSS选择器来获取)以及不能被常规CSS选择器获取到的信息(例如要修改第几个子元素的样式)。

再谈前端性能优化

最后都变了- 提交于 2019-12-20 00:16:04
好的设计应该简单,而且始终可以提供最佳性能。 一、优化原因 谷歌的数据表明,一个有10条数据0.4秒可以加载完的页面,在变成30条数据加载时间为0.9秒后,流量和广告收入减少了20%。当谷歌地图的首页文件大小从100kb减少到70~80kb时,流量在第一周涨了10%,接下来的三周涨了25%。 腾讯的前端工程师根据长期的数据监控也发现页面的一秒钟延迟会造成9.4%的PV的下降,8.3%跳出率的增加以及3.5%转化率的下降。 可以看出,性能优化商业上来说很重要。 但是,更重要的还是屏幕前我们的用户,让用户在使用产品时有更快更舒适的浏览体验,这算是一种前端工程师的自我修养。 二、优化目标 以让用户满意为目标呈现网页是终极的目标。当然页面速度要快,不过快只是构成满意的一个因素。 我们使用Google团队提出的RAIL模型作为优化的目标。 目前国内包括腾讯在内的团队都在使用这个评估方案。 Response:100ms内响应; Animation:10ms内生成一帧; Idle:最大程度增加空闲时间; Load:1000ms内呈现内容; 1)以用户为中心 User-centered 用户是性能优化的中心,一切性能优化皆是为了用户获得更佳的体验。 那么,我们的用户如何评价性能延迟: 0-16ms 用户可以感知每秒渲染 60 帧的平滑动画转场。也就是每帧 16 毫秒 留给应用大约 10

web前端入门到实战:布局之display属性

不打扰是莪最后的温柔 提交于 2019-12-19 22:18:24
在CSS中插何一个元素都是一个盒子,甚至是文本节点也是一个盒子(匿名盒子);都有自己的视觉格式化(不同的盒子) 。而其中CSS的 display 属性又可以显式的修改每个盒子的视觉格式化模型,比如说从 行内级盒子 变成 块级盒子 。那在这一章节中,我们就来一起探讨CSS的 display属性,该属性也是学习CSS不可或缺的属性之一。 display 的基本介绍 CSS的 display 属性在W3C规范中是一个独立的模块,即 CSS Display Module Level 3。该模块描述如何从文档树(DOM树)生成CSS树(CSSOM树),并定义了如何使用 display 属性来控制CSSOM。比如我们一个类似下面这样的一个HTML文档: 学习Q-q-u-n: 784783012 ,分享学习的方法和需要注意的小细节,不停更新最新的教程和学习技巧 (从零基础开始到前端项目实战教程,学习工具,全栈开发学习路线以及规划) <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width,initial-scale=1"> <link href="style.css" rel="stylesheet"> <title>Critical Path</title> </head> <body> <p