css组合选择器-CSS3中有哪些选择器?如何使用每个选择器

1.什么是闭包? 有哪些功能? 闭包是指函数是否可以访问和操作其外部作用域内的变量,即使该函数是在外部作用域之外调用的。 闭包的作用是让变量常年留在显存中,可以被多个函数共享访问,避免全局变量的污染,并实现一些特殊功能,如柯里化、缓存等2 . 什么是跨域? 如何解决跨域问题? 跨域是指浏览器不能直接访问其他域名下的资源。 跨域问题可以通过以下方法解决: - JSONP:利用script标签可以跨域的特性,将要传输的数据拼接在URL中作为参数,服务器返回一块JavaScript代码css组合选择器,将在客户端执行,实现跨域域请求。 - CORS:在服务器端设置响应头,以允许指定的域名访问服务器的资源。 - 代理:通过在服务器端设置代理,将跨域请求转发到同源服务器,然后将结果返回给客户端。 3.什么是原型链? 怎么理解呢? 原型链是JavaScript中实现继承的一种机制。 每个对象都有一个隐藏的内部属性 [[Prototype]] 指向其原型对象。 当访问对象的某个属性时,如果该对象本身没有该属性,就会沿着原型链向下查找,直到找到该属性或者在原型链顶端找到null。 4.什么是风博代理? 有什么优点? 事件委托是指在父元素上添加风暴处理程序,并在子元素上使用风暴冒泡机制来处理风暴。

事件代理的优点是可以减少storm handler的数量,避免内存泄漏,提高性能和代码可维护性。 5、什么是冒泡和捕获? 如何阻止他们? 事件冒泡是指风暴从最具体的元素开始,一步步传播到父元素,直到到达文档对象。 事件捕获是指风暴从文档对象开始,逐步向上传播,直到到达最具体的元素。 您可以通过调用storm对象的stopPropagation方法来阻止storm冒泡或捕获。 6.什么是虚拟DOM? 它与真实的 DOM 有什么不同? 虚拟DOM是指使用JavaScript对象来描述DOM结构的技术。 通过比较新旧虚拟 DOM 对象之间的差异,可以最大限度地减少 DOM 操作,从而提高性能。 虚拟 DOM 和真实 DOM 的区别在于,虚拟 DOM 是在 JavaScript 内存中操作的css组合选择器,而真实 DOM 是在浏览器中操作的。 7. 什么是CSS盒子模型? 什么属性? CSS盒子模型是指将元素视为一个圆形袋子,由内容区域、内行间距、边框和外行间距组成。 CSS盒子模型的属性有: - width:盒子的长度,不包括内行距、边框和外行距。 - height:盒子的高度,不包括内边距、边框和内边距。 - padding:内行间距,包括上、右、下、左方向。 - border:边框,包括长度、样式、颜色三个属性。

- margin:外行间距,包括上、右、下、左方向。 8. 什么是 CSS 选择器? 常用的选择器有哪些? CSS 选择器用于选择需要设置样式的元素。 常用的CSS选择器有: - 标签选择器:根据元素的标签名称选择元素。 - 类选择器:根据类属性选择元素。 - ID 选择器:根据 id 属性选择元素。 - 属性选择器:根据属性选择元素。 - 伪类选择器:根据元素的状态选择元素,例如:hover、:active 等。 - 后代选择器:选择该元素的后代元素。 - 子元素选择器:选择元素的直接子元素。 - 相邻同级选择器:选择元素的下一个同级元素。 9. 什么是CSS层叠顺序? 如何估计呢? CSS堆叠顺序是指当元素重叠时哪个元素应该显示在该元素的前面。 CSS 级联顺序是通过将所有元素分为以下类别并按顺序比较它们来估计的: - 背景和边框。 - 元素本身。 - 浮动元素。 - 非定位块级元素。 - 定位的元素。 10.什么是CSS预处理器? 常用的预处理器有哪些? CSS预处理器是指在CSS的基础上增加了一些编程语言的特性,如变量、函数、嵌套等。 常用的CSS预处理器有: - Sass:基于Ruby开发的CSS预处理器。 - Less:用 JavaScript 实现的 CSS 预处理器。 - Stylus:用 JavaScript 实现的 CSS 预处理器。 - PostCSS:支持插件扩展的CSS处理工具。