关于Web的学习(18.5.23)——css篇

1.zoom:1的清除浮动原理?

清除浮动,触发hasLayout;

Zoom属性是IE浏览器的专有属性,它可以设置或检索对象的缩放比例。解决IE下比较奇葩的bug。

譬如外边距(margin)的重叠,浮动清除,触发IE的haslayout属性等。

来龙去脉大概如下:

当设置了zoom的值之后,所设置的元素就会就会扩大或者缩小,高度宽度就会重新计算了,这里一旦改变zoom值时其实也会发生重新渲染,运用这个原理,也就解决了IE下子元素浮动时候父元素不随着自动扩大的问题。

Zoom属是IE浏览器的专有属性,火狐和老版本的webkit核心的浏览器都不支持这个属性。然而,zoom现在已经被逐步标准化,出现在 CSS 3.0 规范草案中。

目前非ie由于不支持这个属性,它们又是通过什么属性来实现元素的缩放呢?

可以通过css3里面的动画属性scale进行缩放。


2.移动端的布局用过媒体查询吗?

假设你现在正用一台显示设备来阅读这篇文章,同时你也想把它投影到屏幕上,或者打印出来, 而显示设备、屏幕投影和打印等这些媒介都有自己的特点,CSS就是为文档提供在不同媒介上展示的适配方法

当媒体查询为真时,相关的样式表或样式规则会按照正常的级联规被应用。 当媒体查询返回假, 标签上带有媒体查询的样式表 仍将被下载 (只不过不会被应用)。

包含了一个媒体类型和至少一个使用 宽度、高度和颜色等媒体属性来限制样式表范围的表达式。 CSS3加入的媒体查询使得无需修改内容便可以使样式应用于某些特定的设备范围。

<style> @media (min-width: 700px) and (orientation: landscape){ .sidebar { display: none; } } </style>

附:CSS3 @media 用法总结


3.什么是CSS 预处理器?

CSS预处理器CSS预处理器定义了一种新的语言,基本的思想是用一种专门的编程语言,开发者只需要使用这种语言进行编码工作,减少枯燥无味的CSS代码的编写过程的同时,它能让你的CSS具备更加简洁、适应性更强、可读性更加、层级关系更加明显、更易于代码的维护等诸多好处。

CSS预处理器种类繁多,有Sass、Less、Stylus等。

附:CSS预处理器——SASS学习笔记(一)


4.CSS优化、提高性能的方法有哪些?

  • 关键选择器(key selector)。选择器的最后面的部分为关键选择器(即用来匹配目标元素的部分);
  • 如果规则拥有 ID 选择器作为其关键选择器,则不要为规则增加标签。过滤掉无关的规则(这样样式系统就不会浪费时间去匹配它们了);
  • 提取项目的通用公有样式,增强可复用性,按模块编写组件;增强项目的协同开发性、可维护性和可扩展性;
  • 使用预处理工具或构建工具(gulp对css进行语法检查、自动补前缀、打包压缩、自动优雅降级);

猜你喜欢

转载自blog.csdn.net/qq_36048820/article/details/80424508