首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

告别预编译,CSS 直接写嵌套的日子就要来临~

2016年2月2日,微软的项目经理 Kenneth Auchenberg 说如果 CSS 支持了变量和嵌套,他将不再使用预处理器。...2016年12月8日,《CSS揭秘》的作者 Lea Verou 调研了使用 CSS 预处理器的首要原因(单选题),有 1838 个人参与了投票,最终并列第一的两个理由是嵌套和变量。...那个时候,CSS 工作组也讨论过嵌套的问题,并未通过社区的同意(见会议纪要)。 针对 Jonathan Neal 这次的提议,CSS 工作组的讨论流程如下: ? 图1....开发人员已经习惯了预处理器的嵌套,嵌套选择器不应该有特殊的优先级 局部样式是有用的,scope能否真正满足开发人员的需求还不明朗 嵌套和scope是两个维度的特性,建议先实现已经比较成熟的嵌套 3....前瞻符,诸如: # ID 选择器 . 选择器 [] 属性选择器 * 通用选择器 : 伪 :: 伪元素 ? 图2.

1.3K40

Sass速通(二):嵌套与作用域

嵌套 选择器嵌套 Sass ,可以选择器写子选择器,以嵌套的形式来表达关联的关系,这样做可以减少我们重复书写父选择器工作量。...父选择器 & CSS ,基本选择器分为以下几种: ID 选择器,如 #id 选择器,如 .class 标签选择器,如 div、p 属性选择器,如 [lang='en'] 伪选择器,如 a:hover...而其它选择器也可以复合使用,如 div#id、div.class、div[lang='en'] 等。 Sass 为了嵌套更好地表达这些复合关系,提供了父选择器 &。...要注意的是,复合选择器,& 只能放在开头使用。 群组选择器 CSS ,可以用逗号分隔多个选择器,形成一个群组。...变量作用域 Sass 变量只能在它被声明的层级和子层级访问;如果一个变量不同层级中被重复定义,使用时会从下到上寻找最近的定义。这与 JS 的函数作用域相似。

1.5K20

HTMLCSS 第三章

等等 多说一嘴: 推荐使用一些冷门字体,因为一些冷门字体很多电脑里面默认没有安装,这个时候就会显示不出来。所以实际工作,默认都是一些主流字体 如宋体 微软雅黑 等。。。...名和名之间用空格隔开 多选择器可以让我们解决更复杂的一些需求 id选择器 id选择器使用方式和选择器基本一致 声明id #自定义id名字 {属性1:值1;属性2:值2;} 调用id 给对应的元素添加属性...id="自定义id" #box { font-size:12px; } 内容 特点:id选择器一般配合后期的JS使用较多,效果和选择器一样,只不过是选择器可以被多个元素调用...,但是id选择器只能被一个元素调用 同一个页面吗,不能出现两个id值相同的元素 通配符选择器 * { 属性1: 值1; 属性2:值2; } 特点:选中任何元素,后期用于页面初始化。...a:active 鼠标按下的状态 伪选择器实际工作,不会写这么多,意义不大,推荐简写的方式完成 a {} a:hover {} 文字的对齐 缩进 下划线 水平对齐 text-align:值;

1.1K30

前端入门23-CSS预处理器(Less&Sass)声明正文-CSS预处理(less&Sass)

而 less 的 Mixins 允许你某个选择器内,直接使用其他选择器内的属性样式,所以中文翻译才有混合,或混入之说,其实也就是将其他的属性样式混合到当前选择器。...#ff22ff; } .mian { .class1; //直接使用其他选择器定义的属性样式 .class2(#f2f); //使用模板样式,传入参数 #id1; //使用模板样式,传参时...也可以基本选择器后面加上 () 括号,这样一来,这个就会被当做模板处理,作用类似于函数,可接收参数,使用时就类似于调用函数那么使用,如果传参,调用时也可以将括号省略。...另外,有的文章,对 Mixins 的解释是说, class 中使用 class,上面的例子也测试了,class 也是可以使用其他 id 选择器的属性样式的,所以应该不仅限于 class 选择器...作用域 作用域很好理解,就是类似 JavaScript 变量作用域,因为 less 中都是通过 @变量名: 来定义变量的,后定义的会覆盖掉前定义的,当在不同嵌套层次定义同一变量时,就存在局部变量和外部变量之分

1.6K30

前端性能优化总结

各个库比如Boostrap、Vue.js均有 CDN 链接 (5) 使用DNS prefech 使浏览器试图在用户访问链接之前解析域名,head添加对应属性即可,如下 (6) 多域名部署,动静分离...JS 优化 (1) 局部变量 定义时若变量是一个对象,循环时需要频繁使用其一个属性,可再定义一个局部变量存储 (2) passive 事件修饰符 流水线的执行方式,后面的工作必须等待前面工作执行完成才能处理...内核线程负责的工作太多且耗时,一旦遇上内核执行耗时较长的工作,用户的输入事件将无法立即得到响应。...写法注意点: id选择器肯定是最快,但是不要在ID选择器使用的同时再使用标签或选择器了 不要使用选择器时用标签选择器 特别是for循环中js编写html代码时直接定义样式名到所需要作用的元素,之后尽量用一个选择器写样式...,可以大幅提高渲染效率 如果明确dom结构,优先使用选择器,减少后代选择器使用 使用选择器替代后代选择器和子选择器 避免使用通配符选择器(*)和属性选择器 (2) 谨慎使用 CSS3 特性 CSS3

56330

前端css常用的选择小汇

使用css对HTML页面的元素实现一对一,一对多或者多对一的控制,这就需要用到CSS选择器选择器就是选择器用来指定样式的作用范围。...选择器选择器css中比较常见,首先要在普通标签设置一个名不可为中文,然后 style 标签添加该类名的样式。选择器选择器前要加一个点”.”...ID选择器 ID选择器选择器大致相同,不同的是: ID选择起标签内部指定IDID选择器前面不用点”.”,而用井号”#” ID选择器只能起一个ID名;选择器可以起多个名。...选择器:给标签添加一个类属性,根据类属性添加样式,可以使用多个名,多次使用 ID选择器:给标签添加一个ID属性,ID必须是要唯一的,一个文档只能使用一次ID选择器。...坚持总结工作遇到的技术问题,坚持记录工作中所所思所见,欢迎大家一起探讨交流。

51220

【编码规范】Airbnb CSS u002F Sass 编码风格指南

选择器可以匹配 HTML 元素,也可以匹配一个元素的名、ID, 或者元素拥有的属性。...名建议使用破折号代替驼峰法。如果你使用 BEM,也可以使用下划线(参见下面的 OOCSS 和 BEM)。 不要使用 ID 选择器一个规则声明应用了多个选择器时,每个选择器独占一行。...ID 选择器 CSS ,虽然可以通过 ID 选择元素,大家通常都会把这种方式列为反面教材。ID 选择器给你的规则声明带来了不必要的高优先级,而且 ID 选择器是不可重用的。...JavaScript 钩子 避免 CSS 和 JavaScript 绑定相同的。否则开发者重构时通常会出现以下情况:轻则浪费时间在对照查找每个要改变的,重则因为害怕破坏功能而不敢作出更改。...对于仅用在当前文件的变量,可以变量名之前添加下划线前缀(例如 _my-variable)。

2.4K20

学习zepto.js(Hello World)

$():   与jQuery的$()几乎一样,zepto的选择器是直接使用的原生querySelectorAll(),所以,一些jQuery自定义的选择器是不支持的,但可以添加selector.js...模块来添加10个(是的,我查了)常用的伪选择器;   $()选择器有五种用法:   $(选择器,[可选的上下文环境,默认document]) $("#id");/*document.getElementById...方法接收两个参数,上下文,选择器;   $()方法如果传入上下文的话,默认是这样调用的 zepto.qsa(document,selector)   默认将document作为上下文传入;   作为一个看美剧十句话能听懂三句的人...方法,该选择器包含子选择器并且选择器开头是个#号,这说明人家要的是个ID:XXX的标签       如果满足这种情况,就调用getElementById并将返回结果放入一个数组,这也是为什么获得jQuery...直接返回空数组(任性~);       如果满足条件了,继续进行判断,选择器包含子选择器的(get√),并且不是通过ID选择的(get√),而且支持getElementsByClassName的(

3.5K80

前端成神之路-CSS基础选择器

可以选择一个或者多个标签 注意 选择器使用“.”(英文点号)进行标识,后面紧跟名(自定义,我们自己命名的) 长名称或词组可以使用横线来为选择器命名。...用法基本和选择器相同。 id选择器选择器区别 W3C标准规定,同一个页面内,不允许有相同名字的id对象出现,但是允许相同名字的class。...id选择器选择器最大的不同在于 使用次数上。 pink老师 总结他们 选择器我们修改样式,用的最多。...非常多 .nav { color: red; } id选择器 一次只能选择器1个标签 只能使用一次 推荐使用 #nav {color: red;} 通配符选择器 选择所有的标签 选择的太多,有部分不需要...2.8 团队约定 选择器 尽量少用通用选择器 * 尽量少用 ID 选择器使用无具体语义定义的标签选择器 div span /* 推荐 */ .jdc {} li {} p{} /* 推荐 */

47910

【如果你要学JS】——数据类型及其内存分配

值类型 :简单数据类型/基本数据类型,存储时变量存储的是值本身,因此叫做值类型 string , number,boolean,undefined , null引用类型:复杂数据类型,存储时变量存储的仅仅是地址...,并未决定放什么,这时候就用null先给这个变量) 2.堆和栈堆栈空间分配区别: 1、栈(操作系统) :由操作系统自动分配释放存放函数的参数值、局部变量的值等。...其操作方式类似于数据结构的栈; 简单数据类型存放到栈里面 2、堆(操作系统) : 存储复杂类型(对象) , - 般由程序员分配释放,若程序员释放,由垃圾回收机制回收。...文档: 一个页面就是一个文档 , DOM中使用document表示 元素:页面的所有标签都是元素, DOM中使用element表示 节点:网页的所有内容都是节点(标签、属性、文本、注释等) , DOM...('box'); console.log(boxs); // querySelector返回指定选择器的第一个(选择器id选择器都可以用哦) 选择器(.名)和id

17100

【CSS】381- 提升你的CSS选择器技巧

我已经使用CSS多年了,直到最近我才深入研究了一下CSS选择器。 我为什么要这样做呢?...我们都知道选择器麻烦的是随着时间的推移,很容易习惯于每个项目中使用相同的可信任选择器来实现你需要做的事情。...以上所有属性选择器实例都区分大小写。 但是我们有一个技巧, 如果我们结束方括号之前插入一个i,我们可以区分大小写进行匹配。 ?...(codepen链接:https://codepen.io/dgwyer/embed/qYvpMP) 工作电子邮件地址是必填项,并且要求填写正确有效;个人工作电子邮件地址不是必需的,如若填写,需正确有效...结构选择器 结构选择器非常强大,它是基于元素DOM的位置进行匹配。 这类型选择器特殊的地方在于它允许通过传入参数的方式来操作。

1K40

前端入门3-CSS基础声明正文-CSS基础

一共有三种方式: 内嵌样式 使用 HTML 元素的全局属性 style 声明,仅影响一个元素,除非工作环境受限,比如只允许编辑 HTML 的 body,否则强烈推荐这种方式。...基本选择器 基本选择器其实是一些比较常用、简单的选择器,包括:元素选择器id 选择器、class 选择器、属性选择器、组合选择器。这些第一篇前端入门1-基础概念已经介绍过了,这里不就详细说了。...基本选择器规则很简单,选择器基本就是一两个条件,满足了即可匹配上,如 a.class,p#id 等,即使有稍微经过组合,仍旧不复杂,但有些应用场景下需要通过复杂的规则,即需要满足多个条件下才能匹配上。... CSS 也是可以使用一些内置的方法功能。 伪选择器 当不是通过 HTML 文档中元素的一些基本性质,比如 id,class,标签名,属性这些基本特征来匹配这些元素时,就可以称作伪选择器。...id 选择器 class 选择器,属性选择器,伪选择器 元素选择器,伪元素选择器 以上优先级从高到低,同层级之间,如果存在冲突的样式属性的话,以文档中最后出现的属性为准,采用覆盖规则。

71220

前端入门系列之CSS

因为比起class而言id专用性更高(一个页面上id是唯一的, 很多元素可以拥有相同的class — ID 选择器它们的目标是非常优先的),红色背景色和1pixel的黑色边框都应应用于第二元素,...important 我们建议你千万不要使用它,除非你绝对必须使用它。由于 !important 改变了层叠正常工作的方式,因此调试CSS问题,尤其是大型样式表,会变得非常困难。...如上面所示的示例所示,元素选择器具有很低的专用性。选择器具有更高的专用性,所以将战胜元素选择器ID选择器有甚至更高的专用性, 所以将战胜选择器. 战胜ID选择器的唯一方法是使用 !...百位:整个选择器每包含一个ID选择器就在该列中加1分。 十位:整个选择器每包含一个选择器、属性选择器、或者伪就在该列中加1分。...然而选择器七同时击败了五和六——它有与五相同数量的子选择器一个元素已被换为了一个选择器。所以获胜的专用性值是33比23和24。

2.6K10

别忘了前端是靠什么起家的

我提醒他:“你有没有试过使用选择器?” “伪?我通常只用选择器。”他回答。 我解释道:“我们可以使用:focus伪来实现这个效果。你可以先回去继续你的工作。”...3、增强样式的可维护性 使用属性选择器,开发者可以避免HTML过度使用ID,从而简化HTML结构并提高样式的可维护性。...当需要基于相同属性的元素应用统一的样式时,只需CSS定义一次相应的属性选择器规则,而不是HTML为每个元素重复添加ID。...组合选择器的存在和使用主要基于以下几个原因: 1. 提高选择器的精确性 复杂的网页布局,仅使用简单选择器(如元素选择器选择器ID选择器)往往难以精确地定位到特定的元素。...优化CSS的结构 使用组合选择器,可以避免HTML过度使用ID来达到样式目的,从而使得CSS的结构更加清晰和简洁。

6010

css3 选择器

) 选择器是以一独立于文档元素的方式来指定样式,使用选择器之前需要在html元素上定义名,换句话说需要保证html标记存在,这样才能选择 2  其中“active,important, items”就是我们以给li加上一个名,以便选择器能正常工作,从而更好的将选择器的样式与元素相关联。...4、id选择器(#ID) ID选择器选择器相似,使用ID选择器之前也需要先在html文档中加注ID名称,这样样式选择器才能找到相对应的元素,不同的是ID选择器是一个页面唯一的值,我们使用时是相对应的名前加上一个...这个逗号告诉浏览器,规则包含多个不同的选择器,如果有这个逗号,那么所表达的意就完全不同了,省去逗号就成了我们前面所说的后代选择器,这一点大家使用千万要小心加小心。.../css3/attribute-selectors IE6不支持属性选择器 CSS3的属性选择器主要包括以下几种: 1、E[attr]:只使用属性名,没有确定任何属性值; .demo a[id] {background

51110

【融职培训】Web前端学习 第2章 网页重构5 css选择器进阶

css3版本之前,伪选择器和伪元素选择器都是一个冒号,css3的语法,为了让伪选择器和伪元素选择器有所区分,伪元素选择器前又增加了一个冒号,编程了两个冒号。...当时css3是完全兼容此前的css版本的,所以大家开发的过程,可能会遇到只有一个冒号的伪元素选择器,虽然可以正常使用,但是这是过时的语法,大家开发的过程尽量使用css3的新语法,使用两个冒号。...虽然css还有很多很多选择器我们并没有讲解,但是目前学习的选择器基本可以应付95%以上的开发工作了,在学习的过程,建议大家先熟悉这些选择器并灵活运用,日后的工作如果遇到需要其他选择器才能应付的需求,...我们使用两个class选择器定义一个div,最终div的样式被第二个选择器设置,这是因为两个选择器权重如果相同,最后面的选择器设置的内容会覆盖前面的内容; 选择器权重计算方法 cssid选择器的权重是...嵌入样式写在html文件,随着网页内容的增加,会显得html文件过于臃肿,所以也推荐使用这种方式。 从现在开始,我们编写的所有样式,都要使用外部样式。

25310

Web前端学习 第2章 网页重构5 css选择器进阶

css3版本之前,伪选择器和伪元素选择器都是一个冒号,css3的语法,为了让伪选择器和伪元素选择器有所区分,伪元素选择器前又增加了一个冒号,编程了两个冒号。...当时css3是完全兼容此前的css版本的,所以大家开发的过程,可能会遇到只有一个冒号的伪元素选择器,虽然可以正常使用,但是这是过时的语法,大家开发的过程尽量使用css3的新语法,使用两个冒号。...虽然css还有很多很多选择器我们并没有讲解,但是目前学习的选择器基本可以应付95%以上的开发工作了,在学习的过程,建议大家先熟悉这些选择器并灵活运用,日后的工作如果遇到需要其他选择器才能应付的需求,...我们使用两个class选择器定义一个div,最终div的样式被第二个选择器设置,这是因为两个选择器权重如果相同,最后面的选择器设置的内容会覆盖前面的内容; 选择器权重计算方法 cssid选择器的权重是...嵌入样式写在html文件,随着网页内容的增加,会显得html文件过于臃肿,所以也推荐使用这种方式。 从现在开始,我们编写的所有样式,都要使用外部样式。

32800

作用域 CSS 回来了

你可以使用.title选择器,它只Card组件内工作,并使用另一个.title选择器,它只 Accordion 工作。...你可以阻止一个组件的选择器针对子组件的元素,或者如果需要,也可以允许它们到达。 你不再需要BEM风格的名。 此外,近度级联变成了一等公民。...是的,特异性仍然很重要,这是好事™️。稍后再说。 此时,你可以使用普通的后代选择器来实现这一点。当你范围内应用内部边界或在页面上重叠多个范围时,新的、以前不可能的选项开始出现。...--> 范围的影响受到了限制,使其针对.slot内的任何东西。这样,你可以嵌套两个范围,每个范围都可以使用相同的通用标题名,而不会发生冲突。...如果你使用了复杂的BEM名系统,并努力使所有的选择器特异性保持一致,想想这可以带来的自由。

7710
领券