首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【面试题】CSS知识点整理(附答案)

E元素 相邻选择器(h1 + p) 子选择器(ul > li) 后代选择器(li a) 伪类选择器 E:first-child:匹配元素的第一个子元素 E:link 匹配所有未被点击的链接 E:focus...匹配获得当前焦点的E元素 E:not(s) 反选伪类,匹配不符合当前选择器任何元素 详细查看CSS选择器笔记[3] 选择器的优先级(就近原则):!...两种匹配规则的性能差别很大,是因为从右向左的匹配在第一步就筛选掉了大量的不符合条件的最右节点(叶子节点),而从左向右的匹配规则的性能都浪费在了失败的查找上面。...很明显,两种匹配规则的性能差别很大。之所以会差别很大,是因为从右向左的匹配在第一步就筛选掉了大量的不符合条件的最右节点(叶子节点);而从左向右的匹配规则的性能都浪费在了失败的查找上面。...答案来源于 CSS选择器从右向左的匹配规则[4] 5. flex: 1 完整写法 Flex 布局概念: 采用 Flex 布局元素,称为 Flex 容器(flex container),简称"容器"。

1.5K40

让我们来构建一个浏览器引擎吧

创建一个无效的HTML文件,导致你的(或我的)解析器失败。修改解析器以从错误中恢复,并为测试文件生成DOM树。...扩展robinson的CSS解析器,以支持更多的值,或一个或多个选择器组合符。 扩展CSS解析器,丢弃任何包含解析错误的声明,并遵循错误处理规则,在声明结束后继续解析。...例如,样式树可以排除显示属性设置为'none'的元素。(相反,我将在布局阶段删除这些内容,因为这样我的代码会变得更简单一些。) 选择器匹配 构建样式树的第一步是选择器匹配。...这将非常容易,因为我的CSS解析器只支持简单的选择器。您可以通过查看元素本身来判断一个简单的选择器是否匹配一个元素匹配复合选择器需要遍历DOM树以查看元素的兄弟元素、父元素等。...对于树中的每个元素,我们将在样式表中搜索匹配规则。 当比较两个匹配相同元素的规则时,我们需要使用来自每个匹配的最高优先级选择器

1.2K40
您找到你想要的搜索结果了吗?
是的
没有找到

CSS 实用手册

选择器(重点),规范页面中哪些元素能够使用声明好的样式,起始选择器也是为了匹配页面中的元素 (1). 通用选择器匹配页面中所有的元素,效率低 语法:*{样式声明;} (2)....固定表格布局 A. 尺寸取决于设定的值,单元格内容无关 B. 任何情况下,都会加速显示表格(优点) C. 不够灵活(缺点) ③....通用兄弟选择器,用于匹配元素后面所有的兄弟元素 语法:选择器 1~选择器 2 A. #d1~div:匹配 id 为 d1 元素后面所有的 div 元素 B....弹性布局的潜在问题 ①. input另一个元素作为子元素弹性布局时,另一元素的宽度如果是按份等分,那么input的宽度将不准确,解决方案是将另一元素的宽度设为固定宽度,如百度移动端 ②....转换 改变元素在页面中的形状、角度、大小,位置的一种效果,允许进行 2D 和3D 方向的转换、 (1). transform 转换属性,为元素应用 2D 或 3D 转换效果 ①. none:没有任何转换效果

2.7K10

响应式web设计 转

将网页从固定布局转换成百分比布局   需要牢记的公式:  目标元素宽度÷上下文元素宽度=百分比元素宽度  将文字大小从像素尺寸修改为相对单位em,实现文字缩放。   ...   img[alt="atwi_oscar"] {···}  子字符串匹配属性选择器:   匹配开头选择器 Element[attribute^="value"]   匹配包含内容选择器... Element[attribute*="value"]   匹配结尾选择器  Element[attribute$="value"]  CSS3结构伪类   first-child选择器  ...   nth-of-type(n)   nth-last-of-type(n)   odd   even  否定选择器:not  对伪元素的修正:css3   要求对伪元素使用两个冒号以便伪类进行区别...range,color,button,hidden类型的输入元素都不能使用required,因为它们几乎都有默认值。

3.6K10

前端面试01-HTML+CSS

Safari webkit 现在很多人错误地把 webkit 叫做 chrome内核(即使 chrome内核已经是 blink 了)。苹果感觉像被别人抢了媳妇,都哭晕再厕所里面了。...important > 内联样式 > ID选择器 > 类选择器(属性选择器、伪类选择器)> 元素选择器(伪元素选择器)> 通配符选择器 关于CSS的执行效率 样式系统从右向左匹配规则。...只要当前选择符的左边还有其他选择符,样式系统就会继续向左移动,直到找到和规则匹配元素,或者因为不匹配而退出。...因为从右向左的匹配在第一步就筛选掉了大量的不符合条件的最右节点;而从左向右的匹配规则的性能都浪费在了失败的查找上面。...值; 父元素设置 padding-top 值; 8.网页布局有哪几种,有什么区别 静态、自适应、流式、响应式四种网页布局; 静态布局:意思就是不管浏览器尺寸具体是多少,网页布局就按照当时写代码的布局来布置

65720

浏览器工作原理

很遗憾,所有的常规解析器都不适用于 HTML(我并不是开玩笑,它们可以用于解析 CSS 和 JavaScript)。HTML 并不能用解析器所需的上下文无关的语法来定义。    ...这些节点是同级关系,并且: 这些元素必须处于相同的鼠标状态(例如,不允许其中一个是“:hover”状态,而另一个不是)  任何元素都没有 ID  标记名称应匹配  类属性应匹配  映射属性的集合必须是完全相同的...  链接状态必须匹配  焦点状态必须匹配  任何元素都不应受属性选择器的影响,这里所说的“影响”是指在选择器中的任何位置有任何使用了属性选择器选择器匹配  元素中不能有任何 inline 样式属性 ...不能使用任何同级选择器。...如果某个属性未由任何匹配规则所定义,那么部分属性就可由父代元素样式对象继承。其他属性具有默认值。 如果定义不止一个,就会出现问题,需要通过层叠顺序来解决。

3K40

CSS 常见面试题速查

ul ol li .red {} /* {0, 0, 1, 3}*/ #red {} /* {0, 1, 0, 0} */ # 选择器有哪些 基本选择器 * 通用元素选择器匹配任何元素 Element...标签选择器 .className class 选择器 #footer id 选择器元素组合选择器 E, F 多元素选择器,同时匹配所有 E 元素 或 F 元素 E F 后代选择器匹配所有属于...E 元素后代的 F 元素 E > F 子元素选择器匹配所有 E 元素的子元素 F E + F 相邻元素选择器匹配所有紧随着 E 元素之后的同级元素 F E ~ F CSS3,匹配任何在 E 元素之后的同级...匹配其父元素的第n个子元素,第一个编号为1 E:nth-of-type(n) :nth-child()作用类似,但是仅匹配使用同种标签的元素 E:nth-last-of-type(n) :nth-last-child...E:not(s) 匹配不符合当前选择器任何元素元素:用于创建一些不在文档树中的元素,并为其添加样式 CSS 2.1 E:first-line 匹配 E 元素的第一行 E:first-letter

88910

57道CSS常问面试题及答案汇总

浮动带来的问题: 父元素的高度无法被撑开,影响元素同级的元素 浮动元素同级的非浮动元素(内联元素)会跟随其后 若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构。...若从左向右的匹配,发现不符合规则,需要进行回溯,会损失很多性能。 若从右向左匹配,先找到所有的最右节点,对于每一个节点,向上寻找其父节点直到找到根元素或满足条件的匹配规则,则结束这个分支的遍历。...两种匹配规则的性能差别很大,是因为从右向左的匹配在第一步就筛选掉了大量的不符合条件的最右节点(叶子节点),而从左向右的匹配规则的性能都浪费在了失败的查找上面。...这种效果可以在鼠标单击,获得焦点,被点击或对元素任何改变中触发,并平滑地以动画效果改变CSS的属性值。...skew是用来对元素进行扭曲变行,第一个参数是水平方向扭曲角度,第二个参数是垂直方向扭曲角度。 其中第二个参数是可选参数,如果没有设置第二个参数,那么Y轴为0deg。

2K10

使用这些 CSS 属性选择器来提高前端开发效率!

通常将 HTML 属性放在方括号中,称为属性选择器,如下: [href] { color: red; } 这样任何具有href属性的且没有更特定选择器元素的文本颜色都会是红色的。...属性选择器的特性类相同。 注:更多关于笼匹配的CSS特异性,你可以阅读CSS特性:你应该知道的事情,或者如果你喜欢星球大战:CSS特性战争。 但是你可以使用属性选择器做得更多。...它们可以匹配属性中的任何属性,甚至字符串值,而不是像标签、类或id选择器那样精确匹配。...[title|="gene"] 最后,还有一个匹配任何子字符串的模糊搜索属性操作符,属性中做字符串拆分,只要能拆出来dna这个词就行: [title*="dna"] 使这些属性选择器更加强大的是,它们是可堆叠的...,允许你选择具有多个匹配因子的元素

2.2K50

57道常被问的CSS面试题及答案汇总,帮你查漏补缺

浮动带来的问题: 父元素的高度无法被撑开,影响元素同级的元素 浮动元素同级的非浮动元素(内联元素)会跟随其后 若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构。...若从左向右的匹配,发现不符合规则,需要进行回溯,会损失很多性能。 若从右向左匹配,先找到所有的最右节点,对于每一个节点,向上寻找其父节点直到找到根元素或满足条件的匹配规则,则结束这个分支的遍历。...两种匹配规则的性能差别很大,是因为从右向左的匹配在第一步就筛选掉了大量的不符合条件的最右节点(叶子节点),而从左向右的匹配规则的性能都浪费在了失败的查找上面。...这种效果可以在鼠标单击,获得焦点,被点击或对元素任何改变中触发,并平滑地以动画效果改变CSS的属性值。...skew是用来对元素进行扭曲变行,第一个参数是水平方向扭曲角度,第二个参数是垂直方向扭曲角度。 其中第二个参数是可选参数,如果没有设置第二个参数,那么Y轴为0deg。

2.4K31

像素是怎样练成的

它们的关系如下 ---- 从源码架构角度来看Chromium 每个框代表一个应用层。任何一个低层级都不依赖于更高层级的内容。 我们按照从底层到顶层的顺序,来简单介绍下,每个层级的作用。...CSS选择器用于选择要应用样式的目标元素选择器可以根据元素的标签名、类名、ID、属性等进行匹配,以确定应用哪些样式规则。 ❞ 这里多啰嗦几句,在CSS重点概念精讲中我们介绍过,选择器。...第二个规则选择具有类名为 my-class 的元素,并将其字体大小设置为16像素。 ❝在应用CSS样式时,浏览器会「遍历DOM树,匹配元素选择器,并将相应的样式属性应用于匹配元素」。...这样可以快速定位匹配特定选择器的样式规则,而不需要遍历整个样式表。 此外,属性类是在构建时由Python脚本自动生成的。属性类用于在运行时快速查找具有相同样式属性的元素。...但是,在比较宏观的角度看,元素是否占一行还是可以和文本信息同行显示。可以把元素分成「块元素」和「内联元素」。 块元素 在最简单的情况下,布局「按照DOM的顺序,从上到下,依次放置」。

23020

前端开发需要知道的一些 CSS 属性选择器

通常将 HTML 属性放在方括号中,称为属性选择器,如下: [href] { color: red; } 这样任何具有href属性的且没有更特定选择器元素的文本颜色都会是红色的。...属性选择器的特性类相同。 注:更多关于笼匹配的CSS特异性,你可以阅读CSS特性:你应该知道的事情,或者如果你喜欢星球大战:CSS特性战争。 但是你可以使用属性选择器做得更多。...它们可以匹配属性中的任何属性,甚至字符串值,而不是像标签、类或id选择器那样精确匹配。...[title|="gene"] 最后,还有一个匹配任何子字符串的模糊搜索属性操作符,属性中做字符串拆分,只要能拆出来dna这个词就行: [title*="dna"] 使这些属性选择器更加强大的是,它们是可堆叠的...,允许你选择具有多个匹配因子的元素

1.7K20

Selenium异常集锦

ElementNotVisibleException Selenium异常的最常见类型,即使存在web元素但不可见,将引发该异常。由于该元素不可见,因此无法元素进行任何交互。...InvalidSelectorException 如果在不同版本之间更改了选择器名称,则可能会意外使用无效或不正确的选择器来定位Web元素。...NoSuchCookieException 当当前浏览上下文的活动document的关联cookie中不存在给定路径名匹配的cookie时,会发生此Selenium异常。...NoSuchElementException 当用于访问元素的定位器无效或试图对不在DOM上的元素执行操作时,将引发NoSuchElementException。在这两种情况下,都不会找到该元素。...由于WebDriver实例不再存在,因此对该特定WebDriver实例的任何操作都将返回此异常。 NotFoundException 当DOM上不存在任何元素时,将发生此异常。

5.2K20

CSS 选择器 — 重学前端

它的语义就是我们选中的元素必须同时 match 几个简单选择器,形成了 “” 的关系。 复杂选择器 复合选择器中间用连接符就可以变成复杂选择器了,复杂选择器是针对一个元素的结构来进行选择的。...链接/行为 :any-link —— 可以匹配任何的超链接 :link —— 还没有访问过的超链接 :link :visited —— 匹配所有被访问过的超链接 :hover —— 用户鼠标放在元素上之后的状态...所以这里也提醒一下大家,不要以为做一些表现性的东西安全没有任何关系,其实安全性是一个综合的考量。CSS 它也能造成安全漏洞的。...(不能使用任何内置的浏览器的函数,仅通过 DOM 的 parent 和 children 这些 API,来判断一个元素是否能够跟一个选择器匹配。)以下是一个调用的例子。 <!...匹配成功,否则是失败 if (matched !

83041

【前端开发】HTTP+CCS

204 No Content:请求已成功处理,但没有返回任何内容(如执行DELETE操作后)。...404 Not Found:服务器找不到请求URI匹配的资源。405 Method Not Allowed:服务器不支持客户端用于请求的方法(GET、POST等)。...选择器:CSS通过各种类型的选择器来定位HTML元素,比如标签选择器、类选择器、ID选择器、属性选择器、伪类选择器等,以指定样式规则应该应用于哪些元素。...层叠继承:CSS遵循“层叠”原则,当多个样式规则应用于同一元素时,按照特定的优先级顺序合并这些规则。此外,子元素可以继承父元素的一些非继承性属性值,如字体、颜色等。...布局定位:CSS提供了盒模型、浮动、Flexbox和Grid布局系统等工具来组织页面布局,以及position属性相关的定位机制来精确控制元素在页面上的位置。

10410

深入CSS,让网页开发少点“坑”

CSS 优先级 优先级是浏览器是通过判断哪些属性值元素最相关以决定并应用到该元素上的。优先级仅由选择器组成的匹配规则决定的。...只要当前选择符的左边还有其他选择符,样式系统就会继续向左移动,直到找到和规则匹配元素,或者因为不匹配而退出。...Position属性规定元素的定位类型。这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。...使用flexbox替代老的布局模型 避免强制同步布局事件的发生 避免快速连续的布局 尽可能避免触发布局 Paint 除了transform和opacity之外,修改任何属性都会触发绘制 提升移动或渐变元素的绘制层...减少绘制区域 简化绘制的复杂度 CSS 选择器性能 一个选择器的最右端是这个选择器的关键条件(Key Selector) 浏览器按照从右向左的方式匹配选择器,因此应该将更具体的条件尽可能放在右端。

783100

深入CSS,让网页开发少点“坑”

CSS 优先级 优先级是浏览器是通过判断哪些属性值元素最相关以决定并应用到该元素上的。优先级仅由选择器组成的匹配规则决定的。...只要当前选择符的左边还有其他选择符,样式系统就会继续向左移动,直到找到和规则匹配元素,或者因为不匹配而退出。...Position属性规定元素的定位类型。这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。...使用flexbox替代老的布局模型 避免强制同步布局事件的发生 避免快速连续的布局 Paint 除了transform和opacity之外,修改任何属性都会触发绘制 提升移动或渐变元素的绘制层 减少绘制区域...简化绘制的复杂度 CSS 选择器性能 一个选择器的最右端是这个选择器的关键条件(Key Selector) 浏览器按照从右向左的方式匹配选择器,因此应该将更具体的条件尽可能放在右端。

84890

谈谈一些有趣的CSS题目(十)-- 结构性伪类选择器

这里是 4 个基本的结构性伪类选择器,结构性伪类选择器的共同特征是允许开发者根据文档树中的结构来指定元素的样式。 :root 伪类 :root 伪类匹配文档树的根元素。...也就是说,要想 :empty 生效,标签中连哪怕一个空格都不允许存在。...我们知道,选择器是有优先级之分的,通常而言,伪类选择的权重选择器(class selectors,例如.example),属性选择器(attributes selectors,例如 [type="radio...使用 :not(*) 将匹配任何元素元素,因此这个规则将永远不会被应用。 这个选择器只会应用在一个元素上, 你不能用它在排除所有祖先元素。...:target 代表一个特殊的元素,若是谈论区别的话,它需要一个id去匹配文档URI的片段标识符。 :target 选择器的出现,让 CSS 也能够接受到用户的点击事件,并进行反馈。

51061

Chrome使用技巧(几个月的心得)

chrome实用插件: Chrome调试工具介绍: 快速切换文件 在源代码中搜索 在源代码中快速跳转到指定的行 使用多个插入符进行选择 设备模式 格式化凌乱的js源码 颜色选择器 改变颜色格式 强制改变元素状态...(方便查看不同状态下元素的样式) 利用chrome来查看和编辑本地文件 选择下一个匹配项 可视化的DOM阴影 奇淫技 Chrome Dev开发者选项 总结 转用Chrome,不仅仅因为它的插件之丰富...你可以在这里编辑HTML,查看元素CSS,查找元素等等。 Console Console应该都很熟悉了吧?经常会以为少写了’}’而报语法错误。当然它的功能远不止这些。...解析代码,布局,绘制,合并渲染层。 Profiles Profiles工具主要是用来检测CPU占用程度,堆栈申请的内存。...颜色选择器 当在样式编辑中选择了一个颜色属性时,你可以点击颜色预览,就会弹出一个颜色选择器。当选择器开启时,如果你停留在页面,鼠标指针会变成一个放大镜,让你去选择像素精度的颜色。

72710

Imooc之HtmlCSS

---- ID和类选择器的区别 相同点:可以应用于任何元素 不同点: 1、ID选择器只能在文档中使用一次。选择器不同,在一个HTML文档中,ID选择器只能使用一次,而且仅一次。...总结:>作用于元素的第一代后代,空格作用于元素的所有后代 ---- 通用选择器 通用选择器是功能最强大的选择器,它使用一个(*)号指定,它的作用是匹配html中所有标签元素,如下使用下面代码使用html...通用选择器,*{},匹配所有html的标签元素。 ---- CSS的继承、层叠和特殊性 继承 CSS的某些样式是具有继承性的,那么什么是继承呢?...请注意这个选择器选择器的区别,子选择器(child selector)仅是指它的直接后代,或者你可以理解为作用于子元素的第一代后代。而后代选择器是作用于所有子后代元素。...通用选择器 通用选择器是功能最强大的选择器,它使用一个(*)号指定,它的作用是匹配html中所有标签元素 伪类选择器 a:hover{color:red} 分组选择器 当你想为html中多个标签元素设置同一个样式时

6.7K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券