700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > css选择器嵌套问题 如何在js文件中动态加载另一个js文件 – CSS – 前端 css实现圆角框

css选择器嵌套问题 如何在js文件中动态加载另一个js文件 – CSS – 前端 css实现圆角框

时间:2019-02-18 13:19:45

相关推荐

css选择器嵌套问题 如何在js文件中动态加载另一个js文件 – CSS – 前端 css实现圆角框

另外你需要补充一下浏览器加载、解析、渲染的一些知识。复制一下偶之前整理的笔记。

浏览器加载

加载过程 当浏览器获得一个html文件时,会”自上而下“加载,并在加载过程中进行解析渲染。 加载过程中遇到外部CSS文件,浏览器另外发出一个请求,来获取css文件。 遇到图片资源,浏览器也会另外发出一个请求,来获取图片资源。这是异步请求,并不会影响html文档进行加载。 但是当文档加载过程中遇到js文件,html文档会挂起渲染(加载解析渲染同步)的线程,不仅要等待文档中js文件加载完毕,还要等待解析执行完毕,才可以恢复html文档的渲染线程。加载外联js和css的阻塞情况

一个不太严谨但方便记忆的口诀:JS 全阻塞,CSS 半阻塞

JS 会阻塞后续 DOM 解析以及其它资源(如 CSS,JS 或图片资源)的加载。CSS不阻塞DOM的加载和解析(它只阻塞DOM的渲染呈现。这里谈加载),不会阻塞其它资源(如图片)的加载,但是会阻塞 后续JS 文件的执行(原因之一是,js执行代码可能会依赖到css样式。css只阻塞执行而不阻塞js的加载)。鉴于上面的特性,当css后面存在js的时候,css会间接地阻塞js后面资源的加载(css阻塞js,js阻塞其他资源 )。现代浏览器会进行 prefetch 优化,浏览器在获得 html 文档之后会对页面上引用的资源进行提前下载

外联js文件使用defer属性和asyn可以达到异步非阻塞加载的效果,由于现代浏览器都存在 prefetch,所以 defer, async 可能并没有太多的用途,可以作为了解扩展知识,仅仅将脚本文件放到 body 底部(但还是在之前)就可以起到很不错的优化效果(遵循先解析再渲染再执行script这个顺序)。当把js放在最后的时候,其实浏览器将自动忽略标签,从而自动在最后的最后补上。

浏览器解析

1、浏览器通过请求的 URL 进行域名解析,向服务器发起请求,接收文件(HTML、CSS、JS、Images等等)。2、HTML 文件加载后,开始构建 DOM Tree(DOM树)3、CSS 样式文件加载后,开始解析和构建 CSS Rule Tree4、Javascript 脚本文件加载后, 通过 DOM API 和 CSSOM API 来操作 DOM Tree 和 CSS Rule Tree

浏览器渲染

1、浏览器引擎通过 DOM Tree 和 CSS Rule Tree 构建 Rendering Tree(渲染树)2、布局阶段——在屏幕上绘制渲染树中的所有节点的几何属性,比如: 位置,宽高,大小等等,这个过程称为 Flow 或 Layout 。3、绘制元素——绘制所有节点的可视属性。4、合并渲染层——把以上绘制的所有图层(类似于PhotoShop中的“图层”)合并,最终输出一张图片

其中的阶段3、4可称之为Paint

Repaint和Reflow

当用户在浏览网页时进行交互或通过 js 脚本改变页面结构时,以上的部分操作有可能重复运行,此过程称为 Repaint 或 Reflow。

Repaint

当元素改变的时候,将不会影响元素在页面当中的位置(比如 background-color, border-color, visibility),浏览器仅仅会应用新的样式重绘此元素,此过程称为 Repaint。

Reflow

当元素改变的时候,将会影响文档内容或结构,或元素位置,此过程称为 Reflow。( HTML 使用的是 flow based layout ,也就是流式布局,所以,如果某元件的几何尺寸发生了变化,需要重新布局,也就叫 Reflow。)

Reflow 的成本比 Repaint 的成本高得多的多。大家应当尽量避免Reflow。

如何优化浏览器渲染过程

1、创建有效的 HTML 和 CSS ,不要忘记指定文档编码,比如。2、CSS 样式应该包含在 中, Javascript 脚本出现在末尾。3、减少 CSS 嵌套层级和选择适当的选择器,可参考 如何提升 CSS 选择器性能。4、不要通过 JS 逐条修改 DOM 的样式,提前定义好 CSS 的 Class 进行操作。5、尽量减少将 DOM 节点属性值放在循环当中,会导致大量读写此属性值。6、尽可能的为产生动画的 HTML 元素使用 fixed 或 absolute 的 position ,那么修改他们的 CSS 是不会 Reflow 的。

css的选择器的分类不包括“超文本标记选择器”。

css的选择器包括类选择器、标签选择器、ID选择器、伪类选择器等等。

类选择器,比如class类型 class = "nav"的话,那么css对应.nav{};

标签选择器,比如body input 就是直接对应 body{} input{};

ID选择器,比如,那么css对应 #name{};

伪类、伪对象:如a:link,a:hover,a:visited等。

Sass是CSS的预处理器,它提供了许多便利的写法方法

可以使用变量,常量,嵌套,函数,混合,继承等功能,让css的开发变得更加简单可维护。

直接写出来的sass文件其实就是普通的文本文件,以.sass或.scss作为文件后缀名。

里面可以直接使用css语法以及sass特有的语法特性,完成后通常需要经过编译成合法的css文件以供浏览器使用。

sass的安装

sass基于Ruby语言开发而成,因此安装sass前需要安装Ruby。

安装完成后需测试安装有没有成功,运行CMD输入以下命令:

ruby -v

如安装成功会打印

ruby 2.2.2p95 (-04-13 revision 50295) [i386-mingw32]

Ruby自带一个叫做RubyGems的系统,用来安装基于Ruby的软件。大家可以使用这个系统来 轻松地安装Sass和Compass。要安装最新版本的Sass和Compass,你需要输入下面的命令:

安装如下(如mac安装遇到权限问题需加 sudo gem install sass)

gem install sass

gem install compass

在每一个安装过程中,你都会看到如下输出:

Fetching: sass-3.x.x.gem (100%)

Successfully installed sass-3.x.x

Parsing documentation for sass-3.x.x

Installing ri documentation for sass-3.x.x

Done installing documentation for sass after 6 secon

1 gem installed

安装完成之后,你应该通过运行下面的命令来确认应用已经正确地安装到了电脑中:

sass -v

Sass 3.x.x (Selective Steve)

compass -v

Compass 1.x.x (Polaris)

Copyright (c) - Chris Eppstein

Released under the MIT License.

Compass is charityware.

Please make a tax deductable donation for a worthy cause: /compass

sass的编译

1.命令行编译;

//单文件转换命令

sass input.scss output.css

//单文件监听命令

sass –watch input.scss:output.css

//如果你有很多的sass文件的目录,你也可以告诉sass监听整个目录:

sass –watch app/sass:public/stylesheets

2.编译工具Koala

3.使用vscode中的Live Sass Compiler插件来实现scss文件的实时编译

变量

Sass 让人们受益的一个重要特性就是它为 CSS 引入了变量。你可以把反复使用的 CSS 属性值 定义成变量,然后通过变量名来引用它们,而无需重复书写这一属性值。

变量的定义是以$符号开头,加上变量名,比如:

$text-warning: red;

$border-radius: 5px;

.tip {

color: $text-warning;

border: 1px solid $border-radius;

}

变量也可以通过加减乘除等运算符号进行计算,比如:

$font-base: 10px;

.article {

font-size: $font-base * 2 – 4px;

border-width: $font-base / 10;

}

变量的注意事项

变量需要提前声明才能使用,因为编译是从上往下进行的,如果在还未声明变量的地方使用,会找不到这个变量。

变量都是全局变量,如果在大括号内部定义的变量则属于局部变量。

嵌套

通常所用到的选择器嵌套是这样的,将新的选择器放到父级选择器当中,并且可以无限多级嵌套。

继承

如果存在两个class,他们有一些不同但又有许多相似之处,以前的做法可能是把所有样式重复声明两次。但是有sass之后更好的做法是创建一个基础的class,然后在第二个class中用@extend继承它,同时还可以添加一些额外的样式,或者对某些样式进行重写。比如大家之前学过bootstrap的按钮的构建思想,是对基础样式进行附加和重写,而现在想要定义自己的样式时就可以很方便地进行这一操作了。首先声明一个标准样式的class,然后继承这个样式,然后设置不同的主题色:

混合

当出现大段大段重用样式代码时,独立的变量就难以应付,这个时候可以通过sass的混合器@mixin 和 @include 实现大段样式的重用。在定义mixin时,需要在前面添加@符号,使用时需要用@include来引用该@mixin:

导入

导入规则可以从外部文件导入mixin混合器等等。在sass中有一个命名惯例,被导入的样式文件名用下划线做前缀。导入的语法是@import “xxx”,这里的xxx不需要带文件后缀和下划线前缀。也就是说导入“_style.sass”或者“_style.scss”的时候,只需要写@import “style”就可以了:

1.为什么要使用SASS?

它是预处理语言,它为CSS提供缩进语法(它自己的语法)。

它允许更有效地编写代码和易于维护。

它是包含CSS的所有功能的CSS的超集,是一个开源的预处理器,以 Ruby 编码。

它提供了比平面CSS好的结构格式的文档样式。

它使用可重复使用的方法,逻辑语句和一些内置函数,如颜色操作,数学和参数列表。

2.列出SASS的一些功能?

它是更稳定,强大,与CSS的版本兼容。

它是超集的CSS和基于JavaScript。

它被称为CSS的语法糖,这意味着它使用户更容易阅读或表达的东西更清楚。

它使用自己的语法并编译为可读的CSS。

你可以在更少的时间内轻松地编写CSS代码。

它是一个开源的预处理器,被解释为CSS。

3.SASS的优点是什么?

它允许在编程结构中编写干净的CSS。

它有助于编写CSS更快。

它是CSS的超集,帮助设计师和开发人员更有效率和快速地工作。

由于Sass兼容所有版本的CSS,大家可以使用任何可用的CSS库。

可以使用嵌套语法和有用的函数,如颜色操作,数学和其他值。

给大家推荐一款人人可上手的可视化工具,那就是Excel,好评度五星!

全文7688字,阅读需要10分钟,赶时间的朋友先点赞收藏,方便下次学习!

为什么要推荐Excel呢?

兼容性,Excel与PPT可以实现数据同步,数据修改后能直接呈现在PPT,一劳永逸。内在:Excel有5大类常规的数据可视化表达,图表类多达13种,还可以通过自定义制作多变的数据可视化表达,满足95%的日常办公需求。

跟其他数据可视化工具对比,

①对比可视化网站工具,Excel拥有强大的数据分析(Excel函数,数据透视表等),而大多数在线工具只能输入结果,而无法运算。 ②对比R、Python等,Excel对于初学者的友好高,基本2周就能大概掌握,而这些语言太难了! ③普及率高:哪台电脑没有装Excel,你要表达你的观点也容易。

想快速掌握Excel可视化表达,先了解一下可视化的全面架构:

以下就是课件内容的例子,先给同学看一下效果:

基础图表:《王者之星★》

三维地图:《广州武汉之❤》

Excel控件:《520❤你的名字》

《进阶の图表》

《智联之薪》

接下来,大家从第一个开始撩:

E01.认识数据可视化

数据可视化就是通过图形,呈现出数据大小,占比,分布等特点,从而传递信息给大家。

下面偶就用地图简单举栗子吧

腾讯位置大数据/

地图越亮的地方代表定位次数越多的地方,这个定位跟大家人口分布一致的。

通过流量折线图比较,大家就能直观看出欢乐谷的应该是9点开门,19点闭门。

关于数据可视化,大家可以多去一些可视化网站看看,其实大家大多数人接触数据可视化应该是小学、初中、高中的地理课本。

E02.Excel的数据可视化表达

在Excel中常见可视化表达有五类,分别是REPT函数、条件格式、迷你图、Excel图表,三维地图。

点击获取Excel图表视频教程和源文件模板★★★★★N0.1 REPT函数

表达式:=REPT(text,number_times) =REPT(重复文本,重复次数)

注意重复文本要用英文状态下引用,通过具体的实例去实战吧~

01.给课程做数据条

表达式子:=REPT(“|”,C5)&C5

选择适合的字体很重要,一般适合展示20至100的数据

02.网站流量漏斗图

03.电影评分表

04.相亲心动指数

05.人口金字塔图

NO.2 条件格式

01.突出显示单元格规则

点击【开始】→【条件格式】即可选择相关的规则,突出显示相关的单元格。

1.查找重复值,查找班里不及格的人等等

02.最前最后的规则

利用前N项或者后N项,通过突出显示快速找到对应的数据。

例如大家可以显示数学成绩高于平均分的同学、显示各位同学最低的一门科目成绩、班里成绩最好的3位同学

03.图标集

许多小伙伴不知道这些小图标是来自条件格式,导致了误以为是图表上的。

优点:其实这些精致的小图标设置很简单,通过默认的设置就能得出来。 缺点:就是精度不高,只能表示大概。图标集分为方向、形状、标记、等级四个归类,根据归类大家日常主要分别应用在

方向:表示涨↑跌↓,一般用于数据对比

形状:一般用于分类划分的信号

标记:用于标记状态,某件事做了与否,达成目标与否

等级:表示占比划分

04.色阶

色剂可以设置双色色阶或者三色色阶。

05.半自定义规则

如果还不过瘾可以通过自定义格式来设置,整体设置也不难,所有的框和图标均可以自定义设置。

06.公式自定义条件格式

公式自定义条件格式,相对与上面的会难点,但通过简单标志有更高的灵活度。

自定义格式百分比图

2.动态考勤记录表

3.项目计划甘特图

03.迷你图

迷你图有三种形式,柱形、折线和盈亏图,它的优点是能大概表示数据状态,确定就是精准度低,图形无法表示数据真实差距。

无排版可视化的表格

经过可视化后↓

点击获取Excel图表视频教程和源文件模板★★★★★04.三维地图

武广之恋❤

本题版本要求:及以上,版本可以安装power map插件还能拯救。

点击获取Excel图表视频教程和源文件模板★★★★★

本道题可以简单拆分为:心形图形表达式+三维地图

01.第一步构建数据源

大家在百度或者一些论坛上找到心形的函数Excel表达式,然后在Excel上列出具体的数据源,这是最关键的又是最麻烦的一部分工作。就能直接下载该偶精心为大家准备源文件啦!

02.打开三维地图

1.大家把标准的心形函数表达式放到三维地图上,其表达效果这样紫滴,地理曾经满分的偶一下子恍然大悟,这不就是本初子午线(经度=0)与赤道(纬度=0)交界的地方嘛。

2.当大家把坐标的中心定位到广州,不就是将原来的表达式加上广州的经纬度,偶马上百度了一下广州的经纬度。广州(东经113.23,北纬23.16)大小老可爱们直接在偶的城市填上经纬度就OK啦↓

以广州为例↓

延伸:西经与南纬,需要把坐标写成负数。如西经113.23,南纬23.16(-113.23,-23.16)这样表达。

于是大家在茫茫的太平洋找到这个东西↓

03.添加异地坐标

在对应偶的城市,和你的城市填上对应的坐标轴,可得到:

广州与武汉❤

广州与珠海❤

05.特别提醒

更改过数据源后一定要刷新数据啊!

E03.了解Excel图表的规范与应用

E03-1.参考优秀的图表借鉴样式、布局、配色等

a.echart网站

b.设计网站

c.可视化平台等:如网易数读

d.商业杂志

E03-2.一份专业商务图表具备哪些特

图表原有元素:2.主标题;5.图例;6绘图区(1.纵坐标、2.网格线、3.横坐标、4.图形)

添加元素:1.logo;3.副标题,4.单位,7.备注

E03-3.快速了解图表基础设置

E03-4.配置表格主题颜色

E03-5.系统设置整个表格主题

了解整个表格和图表的基础和规范设置后,大家马上去了解各种基础图表。

E04.玩王者荣耀,学习基础图表

学习基础图表,大家只需要吧这个《王者荣耀看板》做一遍,基本就你能掌握90%日常工作的应用,更重要你做完后会有一股成就感。

王者荣耀数据看板

王者荣耀动态看板

那大家分解一下,都是由哪些图表构成的,从这个图表就能从主标题看出是哪些图表,大家还可以通过点击图表左上方蓝色■形状,进行跳转到对应的图表联系区域。

教学部分主要采用了《经济学人》的配色风格演示,大家可以通过设置页面布局的主题,变换主题颜色。

E04-1.柱形图

01.表格开始页引导:

02.图表练习区域展示:

02.图表小结区域:

每个图表做了实践之后,大家会给大家总结主要的知识点,方便大家快速上手图表。

E04-2.条形图

条形图在王者荣耀中很常见,例如对战战绩图,血量、蓝量还有回城图都是由条形图来展示的。

03.知识点小结:

接下来的图表,就简单跟介绍一下需要注意的事项,或者一些与其他图表的不同点或共同点:

E04-3.折线图E04-4.环形/饼状图:占比分析E04-5.面积图:占比趋势分析

这个在王者中的经济占比运用的就是面积图。

03.知识点小结:

E04-6.散点图:双变量分析

03.知识点小结:

E04-7.气泡图:三变量分析

03.知识点小结:

E04-8.雷达图:多维度分析

最常见在大家的综合战力分析上,几乎每个游戏都会常常用到这种的对比。

03.知识点小结:

以前的案例示范:

E04-9.树状图:分级占比分析E04-10.旭日图:分级占比分析E04-10.直方图:区间分布分析

直方图更像简化版的正态分布图,它经常用于统计数值区间的分布,例如年龄段的人数、收入水平、工资收入分布等。

E04-12.瀑布图E04-13.组合图

E04.最后一招,数字放大法!

最后,大家把上面的所有图表拼合在一起,可得:

把大家所学的图表,一一放进去,可得到:

暂时补充到这里,如果想看动态图表的,请留言,偶抽空补充一下这方面的知识。

私信回复:基础图表,即可获得一份基础图表的源文件❤

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。