web前端技能方法总结(css、js、jquery、html)(21)

简介: web前端技能方法总结(css、js、jquery、html)

层叠(cascade)

Cascading Styling Sheet(层叠式样式表)

首先,是你(作者)为网页写的所有样式表。

第二,有些浏览器也允许用户给XHTML元素创建他们自己的样式。如果你的样式表没有定义这些样式,就由用户的样式表来代替。(注意读者在属性声明后加上“!important”就能覆盖你的样式)

第三,如果没给一个元素定义样式,浏览器自己有一系列默认样式可以用。如果没有作者或读者提供的样式表,就用这些样式。

当浏览器需要决定给一个元素应用哪种样式时,它就采用这些样式表。优先权最高的是作者的样式,然后是读者的样式,最后是浏览器的默认样式。层叠就是浏览器决定采用哪种样式的方法。

1、层叠中浏览器的工作过程

假设网页中有一个

元素,你要扮成“浏览器”,要确定它的font-size属性,有以下几步:

第一步:把所有的样式表集中起来(包括网页作者写的样式表,读者加进去的样式表,浏览器默认的样式表)。

第二步:找到所有匹配的声明。这个例子中要找的是font-size属性,所以看看所有的有选择

元素的选择符的font-size声明。检查所有样式表,找出所有匹配

并且有font-size属性的规则。

第三步:将所有匹配结果分类。所有匹配的规则都找出来后,把它们以作者、读者、浏览器的顺序排序。作者写的比读者写的重要,同样,读者的样式比浏览器的默认样式重要。(前边提过,读者可以在CSS属性中加“!important”,这样排序的时候要把它们放到最前面)

第四步:根据声明的具体程度排序。一条规则越能准确地选择一个元素,它就越具体。(一般凭直觉即可知,对于复杂情况下边有方法介绍如何处理)注意,只在作者、读者、浏览器各个范围内排序,不是重新排整个列表。

第五步:最后,将所有冲突规则按照它们在各种样式表中出现的顺序排序。列表中的冲突规则排序的依据是,在它们各自样式表中后出现的规则更重要一些。

通过以上步骤,顺序表中的第一条规则就是获胜者,就用它的font-size属性。

2、如何决定一个选择符的具体度

要计算具体度,先以一组三个数字开始,000.然后计算选择符中的各种东西——左起第一位:如果这个选择符有id,每个加1分;中间位:这个选择符有类或伪类,每个加一分;最后一位:如果这个选择符有元素名称,每个加一分。eg:h1.greentea 011;a:link 011;#elixirs h1 101;p img 002.

(1)一个具体度比另一个大事怎么看出来的?把它们当作真正的数字来读就行:100(一百)比010(十)大,010(十)比001(一)大,一次类推。

(2)像"h1,h2"这样的规则,应怎么计算具体度?把它想成是两条单独的规则:一条h1规则,具体度是001;一条h2规则,具体度也是001.

(3)一条规则在CSS文件中越靠后,优先权越高。但是XHTML中的多个样式表链接的优先权呢?不管在不在同一个CSS文件中,顺序总是从头到尾。就当是把CSS以被链接的顺序都一起插入到文件中。

(4)注意,上述5个步骤中,每次排序都是以之前的顺序为基础的。首先,以作者、读者、浏览器的顺序排序,接着,在这些分类中按具体度排序,最后,将具体度相同的所有元素,根据在样式表中出现的顺序重新排序。

(5)关于!important 读者可以在属性声明末尾加!important忽略一种样式。比如:h1{fat-size:200%!important;}这就会忽略掉所有同属性的作者样式。

3、如果你在层叠中的规则中没有找到匹配的属性,就要用继承。但不是所有的属性都能通过继承得到,比如边框属性。对于能继承的属性(比如color、font-family、line-height等),浏览器从父亲开始检查元素的祖先,给属性找个指,如果能找到,就是我们要的属性值。如果那个属性不能通过继承得到,或者在祖先规则中也找不到值,那么唯一的办法就是求助于浏览器样式表中的默认值,所有的浏览器对每个元素都有默认样式。

相关文章
|
2月前
|
并行计算 前端开发 JavaScript
Web Worker:让前端飞起来的隐形引擎
在现代 Web 开发中,前端性能优化是一个至关重要的课题,尤其是对于计算密集型的应用,如图像处理、视频处理、大规模数据分析等任务。单线程的 JavaScript 引擎常常成为性能瓶颈,导致应用变得迟缓。Web Worker,作为一种强大的技术,使得前端能够在后台进行并行计算,从而实现高效的任务处理,不影响主线程的运行和用户的交互体验。
334 108
|
2月前
|
JavaScript 前端开发 Java
前端框架选择之争:jQuery与Vue在现代Web开发中的真实地位-优雅草卓伊凡
前端框架选择之争:jQuery与Vue在现代Web开发中的真实地位-优雅草卓伊凡
326 72
前端框架选择之争:jQuery与Vue在现代Web开发中的真实地位-优雅草卓伊凡
|
4月前
|
移动开发 前端开发 JavaScript
前端web创建命令
本项目使用 Vite 搭建 Vue + TypeScript 开发环境,并基于 HTML5 Boilerplate 提供基础模板,快速启动现代前端开发。
53 2
|
4月前
|
Web App开发 编解码 移动开发
零基础音视频入门:你所不知道的Web前端音视频知识
本文回顾了Web端音视频的发展历程,同时还介绍了视频的编码、帧率、比特率等概念,提到了Canvas作为视频播放的替代方案,以及FFmpeg在音视频处理中的重要作用等知识。
116 1
|
6月前
|
移动开发 前端开发 安全
|
6月前
|
前端开发
|
Web App开发 JavaScript 前端开发
jquery 使用方法
jQuery是目前使用最广泛的javascript函数库。据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库。微软公司甚至把jQuery作为他们的官方库。对于网页开发者来说,学会jQuery是必要的。
1074 0
|
7月前
|
JavaScript 前端开发
百叶窗效果的jQuery幻灯片插件
百叶窗效果的jQuery幻灯片插件
|
7月前
|
JavaScript
jquery无限循环内容滑块插件
jquery无限循环内容滑块插件
|
7月前
|
JavaScript
简单轻量级的jquery图表插件
简单轻量级的jquery图表插件

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    21
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    31
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    21
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    78
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    45
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    27
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    17
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    12
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    23
  • 10
    Vue 3 + TypeScript 现代前端开发最佳实践(2025版指南)
    92