css框架

浏览器解析URL的过程

你离开我真会死。 提交于 2019-12-03 10:18:04
一、浏览器简介 浏览器是使用最广泛的软件之一,主要功能是向服务器发出请求,在浏览器窗口中展示用户需要的网络资源。资源的位置由用户的的URI(Uniform Resource Identifier统一资源标识符)来指定,通过DNS查询,将网址转换为IP地址。资源的格式通常是HTML,也包括PDF、image及其他格式。整个浏览器工作的流程,主要如下: 用户输入网址——浏览器查找IP地址——发送HTTP请求——服务器处理请求并响应——服务器发回HTML响应——浏览器开始解析HTML——浏览器发送请求获取HTML中内嵌的对象,如CSS/JS/图片等资源——浏览器展示完整页面 本次介绍的主要就是浏览器从接收到服务器响应的HTML到展示完整页面的整个过程,下面开始—— 二、 浏览器渲染流程 先来一张浏览器渲染流程图 从这张经典的图中可以看出以下几点: 1,浏览器可以解析的资源,HTML,SVG,XHTML等,解析完会生成DOM Tree。 2,CSS资源会解析成CSS Rule Tree。 3,JS通过DOM API和CSSOM API来操作DOM树和CSS树。 4,解析完成后综合DOM树和CSS树会生成Rendering Tree,计算每个元素(Frame)的位置,这个过程就是layout或者叫reflow过程。 5,调用操作系统Native GUI的API绘制。 注意

webpack4实操笔记

萝らか妹 提交于 2019-12-03 05:08:24
本文转载于: 猿2048 网站➝ https://www.mk2048.com/blog/blog.php?id=h12jccbhaa webpack webpack是模块化管理工具,使用webpack可以对模块进行压缩、预处理、按需打包、按需加载等 四个核心概念 入口entry 入口起点指webpack应该使用哪个模块,来作为构建其内部依赖图的开始。进入入口起点后,webpack会找出有哪些模块和库是入口起点(直接和间接)依赖的。 输出output 告诉 webpack 在哪里输出它所创建的 bundles,以及如何命名这些文件,默认值为 ./dist。整个应用程序结构,都会被编译到你指定的输出路径的文件夹中。 loader loader 让 webpack 能够去处理那些非 JavaScript 文件(webpack 自身只理解 JavaScript)。loader 可以将所有类型的文件转换为 webpack 能够处理的有效模块,然后你就可以利用 webpack 的打包能力,对它们进行处理。 插件plugins 插件的范围包括,从打包优化和压缩,一直到重新定义环境中的变量。插件接口功能极其强大,可以用来处理各种各样的任务。 搭建环境及配置 基本框架 全局安装 #全局安装 ( MAC 需要在 npm 前加 sodu ) npm install webpack -g

多页应用增量更新静态资源Webpack打包方案

江枫思渺然 提交于 2019-12-03 05:00:00
本文转载于: 猿2048 网站➫ https://www.mk2048.com/blog/blog.php?id=h1b2b2cibb 自从vue、react或者angular这类框架流行后,单页应用的数量也越来越多。但是限制于单页应用的一些缺点,比如:seo、首屏时间等因素,很多应用的结构还是保持了多页面结构。此篇讲述的是如何在多页面应用结构的基础上,利用webpack生成带hashcode文件名的方式实现静态资源的增量更新方案。 多页应用的结构在用户访问时往往会在当前页面加载一些公共资源和当前页面的js和css,可能有些应用还在用比较传统的: https://url/[版本号]/xxx.[js|css] 或 https://url/xxx.js?r=xxx 的方式来保证当应用更新时客户端也能及时获取到最新的资源文件。而当前流行的前端的架构中单页应用在发布时,往往可以通过编译时在生成的资源文件名中加入文件的hashcode值来保证每个资源都有自己独立的"版本号"。客户端加载带有hashcode文件名的资源文件,当某个资源文件更新时也不会影响其他资源文件的名称,可以有效利用客户端的强缓存策略,增加资源文件的缓存命中率。 下面我们将实现在多页架构中如何实现静态文件名加入hashcode,并在服务端引用文件的例子: 1.Webpack编译生成文件追加hashcode webpack

【AngularJs学习笔记五】AngularJS从构建项目开始

独自空忆成欢 提交于 2019-12-03 03:49:29
#0 系列目录# AngularJs学习笔记 【AngularJs学习笔记一】Bower解决js的依赖管理 【AngularJs学习笔记二】Yeoman自动构建js项目 【AngularJs学习笔记三】Grunt任务管理器 【AngularJs学习笔记四】Grunt + Bower + Requirejs + Angular 【AngularJs学习笔记五】AngularJS从构建项目开始 #1 AngularJS介绍# AngularJS是一个为动态WEB应用设计的结构框架。 它能让你使用HTML作为模板语言 ,通过扩展HTML的语法,让你能更清楚、简洁地构建你的应用组件。 它的创新点在于,利用 数据绑定 和 依赖注入 ,它使你不用再写大量的代码了。这些全都是通过浏览器端的Javascript实现,这也使得它能够完美地和任何服务器端技术结合。 AngularJS介绍,摘自: http://angularjs.cn/A00n #2 构建AngularJS项目(Yeoman,angular-seed)# ##2.1 基于angular-seed构建项目## 一般把这个项目称为angular的“种子项目” ,构建方法是去github下载项目源代码,基于已有项目结构再做开发。这种项目都融入了前人的经验,会以一种比较合理的结构,帮我们构建出项目的原型。适合于有一定规模项目开发

Html及CSS

不打扰是莪最后的温柔 提交于 2019-12-03 03:44:02
<!>字体效果 <h1>...</h1>标题字(最大) <h6>...</h6>标题字(最小) <b>...</b>粗体字 <strong>...</strong>粗体字(强调) (同上效果略同) <i>...</i>斜体字 <em>...</em>斜体字(强调) <dfn>...</dfn>斜体字(表示定义) <u>...</u>底线 <ins>...</ins>底线(表示插入文字) <strike>...</strike>横线 <s>...</s>删除线 <del>...</del>删除线(表示删除) <kbd>...</kbd>键盘文字 <tt>...</tt> 打字体 <xmp>...</xmp>固定宽度字体(在文件中空白、换行、定位功能有效) <plaintext>...</plaintext>固定宽度字体(不执行标记符号) <listing>...</listing> 固定宽度小字体 <font color=00ff00>...</font>字体颜色 <font size=1>...</font>最小字体 <font style =’font-size:100 px’>...</font>无限增大 区断标记 <hr>水平线 <hr size=’9’>水平线(设定大小) <hr width=’80%’>水平线(设定宽度) <hr color=’ff0000’>水平线

Bootstrap教程

纵饮孤独 提交于 2019-12-03 01:29:33
Bootstrap 教程 by. 盏茶 原创地址: https://www.cnblogs.com/zscbk/p/11769245.html 一、使用准备 首先下载 bootstrap库 下载网址官网: https://www.bootcss.com/ 官方提供三种库,分别是 基础版: 编译并压缩后的 CSS、JavaScript 和字体文件。不包含文档和源码文件 源码: Less、JavaScript 和 字体文件的源码,并且带有文档。 需要 Less 编译器和 一些设置工作 ps: less一种处理css的语言,也是css语言的扩展,也可以说是提前封装号一些css的样式数据 Sass: 这是 Bootstrap 从 Less 到 Sass 的 源码移植项目 ,用于快速地在 Rails、Compass 或 只针对 Sass 的项目中引入 ( Sass是一种层叠式语言,也是对CSS3的语法扩充(所以和css语法几乎一样),但是他不是标准的css格式 在它的语法内部可以使用动态变量等,所以它更像一种极简单的动态语言 )( rails是一种框架,compass简单来说是Sass的工具库) 下载为压缩包,包含两种版本:压缩版和未压缩版 一般开发期间使用非压缩版,方便查看注释 上线项目 使用压缩版方便减少文件体积,增加运行速度 二、使用 1、 讲解压后的版本部署在项目中,使用 link

前端jsp用layer弹框层

匿名 (未验证) 提交于 2019-12-03 00:27:02
简单介绍下啊: layer是layui经典化的前端ui框架中的一个弹出层,可以在layui中用layer,也可以单独使用,单独使用是依赖于jquery,jquery版本至少在1.8之上 下载layui.js,layui.css,layer.js文件,下面提供下载地址 http://www.layui.com/ 好,步入正题 在项目中用的layer弹窗: 贴出项目中如何使用layer jsp页面引入js,css 然后页面加载layer layui.use('layer', function(){ var layer = layui.layer; }); 弹框代码: layer.open({ type:2, title:false,//不显示标题 closeBtn:0, shadeClose:true,//点击遮罩层关闭 content:'<%=request.getContextPath()%>/'+url,//要弹框页面的地址 maxmin:false, area:['410px','260px'],//弹框页面宽和高 moveOut: true, zIndex : layer.zIndex, success: function(layero,index){ layer.setTop(layero); if (layero && layero.length > 0) { var

Sass与Less的区别

匿名 (未验证) 提交于 2019-12-03 00:26:01
Less Less (Leaner Style Sheets 的缩写) 是一门向后兼容的 CSS 扩展语言。因为 Less 和 CSS 非常像,Less 仅对 CSS 语言增加了少许方便的扩展,学习很容易。 使用方法: // Node.js 环境中使用 Less npm install - g less // 编译: lessc styles . less styles . css // 在浏览器环境中使用 Less: < link rel = "stylesheet/less" type = "text/css" href = "styles.less" / > < script src = "//cdnjs.cloudflare.com/ajax/libs/less.js/3.0.2/less.min.js" >< / script > 主要亮点语法: . bordered { border - top : dotted 1 px black ; border - bottom : solid 2 px black ; } #menu a { color : #111 ; . bordered ; } //等价于 #menu a { color : #111 ; border - top : dotted 1 px black ; border - bottom : solid

(2)layui的导入与使用

匿名 (未验证) 提交于 2019-12-03 00:22:01
在管理系统的前端,我采用了layui框架,首先在官网上下载完整开发包,在需要使用的网页上导入js,css,如下所示 <script type = "text/javascript" src = "${pageContext.request.contextPath}/resource/layui/layui.js" ></script> <link rel = "stylesheet" href = "${pageContext.request.contextPath}/resource/layui/css/layui.css" type = "text/css" /> 根据所使用的模块进行初始化 <script> layui.use([ 'element', 'table', 'layer', 'form' ,'laydate'],function() { var element = layui.element; var layer = layui.layer; var table = layui.table; var form = layui.form; var laydate = layui.laydate; 详细的使用会在后续博客中给出. 转载请标明出处: (2)layui的导入与使用 文章来源: (2)layui的导入与使用

50个好用的前端框架

匿名 (未验证) 提交于 2019-12-03 00:13:02
  一、构建工具   1、Parcel   地址:https://parceljs.org/   Parcel是一款极速零配置WEB应用打包工具,快速、几乎零配置是它最大的特点,开箱即用。相比webpack,Parcel对于新手来说未尝不是一个很好的选择。   2、Critters   地址:github.com   一款webpack的插件,它可以很方便的配置内联关键css(critical CSS),其余的css部分则会异步加载,由于它不使用无头浏览器(headless browser)呈现内容,因此快速轻巧。   3、sucrase   地址:sucrase.io   如果你用typscript构建React项目,sucrase将是一个不错的选着,它的编译速度将是Babel的20倍。sucrase――一款ES6+编译器,重点关注非标准语言,例如Typescript,JSX和Flow。   4、Webpack Config Tool   地址:webpack.jakoblind.no   一款可视化的在线工具网站,你只需要选择前端项目运用到技术和相关配置,就能一键帮你生成webpack.config.js,省去你不少的麻烦。   5、JSUI   地址:github.com/kitze/JSUI   JSUI是一个可视化分类、构建和管理JavaScript项目的工具