携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第3天,点击查看活动详情 自己的理解总结
1.用纯css创建一个三角形原理:设置一个div的宽高都是0,在设置一个边框为黑色 其他边框为透明
width:0;
height:0;
border-top:10px solid transparent;
border-right:10px solid transparent;
border-bottom:10px solid transparent;
border-left:10px solid #000;
2.为什么要初始化css样式
因为浏览器的兼容问题,不同浏览器对一些标签的默认值不同,如果没有对css初始化,会导致不同浏览器之间的页面显示存在差异。
3.如果需要手动写一个动画,你认为最小的时间间隔是多久,为什么
多数显示屏的默认帧数是60Hz,即1秒刷新60次,所以理论上最小的时间间隔就是 1/60*1000ms = 16.7ms
(需要在看一看)
4.::before 和 :after 中双冒号和单冒号有什么区别?解释下这 2 个伪元素的作用
单冒号(:)用于 CSS3 伪类,双冒号(::)用于 CSS3 伪元素。
::before 就是以一个子元素的存在,定义在元素主体内容之前的一个伪元素。并不存在于 dom
之中,只存在在页面之中。
:before 和 :after 这两个伪元素,是在 CSS2.1 里新出现的。起初,伪元素的前缀使用的是单
冒号语法,但随着 Web 的进化,在 CSS3 的规范里,伪元素的语法被修改成使用双冒号,成为::before ::after
5。什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的 IE?
响应式网站设计(Responsive Web design)是一个网站能够兼容多个终端,而不是为每一个终端做一个特定的版本。
基本原理是通过媒体查询检测不同的设备屏幕尺寸做处理。 页面头部必须有 meta 声明的 viewport。
6.在网页中的应该使用奇数还是偶数的字体?为什么呢?
使用偶数字体。偶数字号相对更容易和 web 设计的其他部分构成比例关系。Windows 自带
的点阵宋体(中易宋体)从 Vista 开始只提供 12、14、16 px 这三个大小的点阵,
而 13、15、17 px 时用的是小一号的点。(即每个字占的空间大了 1 px,但点阵没变),于是略显稀疏。
7.浏览器是怎样解析 CSS 选择器的? 是自右向左解析 即从底向上解析,这样的匹配节点的方式可以快速、准确的与 render 树上的节点进行匹配,避免了许多无效匹配。浏览器需要评估的规则越少,样式引擎执行的速度就越快。
例子:
.aoteman ul li a{color:#000}
解析顺序就是 a li ul 最后是.aoteman
8.使用 CSS 预处理器吗?
sass/less/stylus
如果创建项目时没有选择需要的预处理器(Sass/Less/Stylus),则需手动安装相应loader
9.一个页面从输入 URL 到页面加载显示完成,这个过程都发生了什么?
1.浏览器输入地址 url
2.浏览器读取缓存 浏览器缓存,系统缓存,路由缓存,读取到直接显示,未读取到进行3步
3.在发送http请求前,需要域名解析(DNS解析),获取相应的IP地址
4.浏览器向服务器发起tcp连接,与浏览器建立tcp3次握手
5.握手成功 浏览器向服务器发起http请求 ,请求数据包
6.服务器发送数据包给浏览器
7.浏览器 处理html源码 创建dom树
三次握手分别是
第一次握手:浏览器向服务器发起建立连接的请求
第二次握手:服务器告诉浏览器,我同意你的连接请求,同时我也向你发起建立连接的请求
第三次握手:浏览器也告诉服务器,我同意建立连接。
10.哪些地方会出现 CSS 堵塞,哪些地方会出现 JS 堵塞