06-01 前端 1-5

1.JavaScript(或 jQuery)如何选择一个 id 为 main 的容器

.main

2.JavaScript(或 jQuery)如何选择一个 class 为 menu 的容器

#menu

3.简述什么是浏览器事件流

DOM2级事件规定的事件流包括三个阶段:

1、事件捕获阶段

2、处于目标阶段

3、事件冒泡阶段

事件捕获阶段(Event Capturing):

按照事件捕获的思想,在此过程(click页面某元素)中,document对象会首先接收到click事件,然后事件沿着dom树依次向下,一直传播到实际目标,即div元素。但在事件流中的捕获阶段,实际目标div元素是不会接收到事件的,这就意味着没在捕获阶段,事件从document到再到后就停止了。(但IE9、Safari、Chrome、Firefox 和 Opera9.5 以及更高版本都会在捕获阶段触发事件对象上的事件);下一个阶段是"处于目标"阶段,于是事件在发生,并在事件处理中被堪称冒泡阶段的一部分,最后,冒泡事件发生,事件又传播回文档。

冒泡阶段(Event Bubbling):

事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点,即document对象。

DOM2 与 DOM0区别

DOM2级事件定义了两个方法,用于处理指定和删除事件处理程序的操作:

①.addEventListener()

②.removeEventListener()

所有的DOM节点都包含这两个方法,而且接受三个参数:

①.要处理的事件名;

②.作为事件处理程序的函数;

③.一个 boolean 的值,如果值为true,表示在捕获阶段调用事件处理程序;如果是false,表示在冒泡阶段调用此事件处理程序。

4.用 css 如何隐藏一个元素

1.opacity
opacity:0将元素本身及其子元素都置为不可见的,而元素本身依然占据它自己的位置并对网页的布局起作用,它会响应用户交互

.hide {
  opacity:0
}

2 .visibility
visibility:hidden将元素本身及其子元素都置为不可见的, 而元素本身依然占据它自己的位置并对网页的布局起作用,它不会响应用户交互.如果想让子元素显示,则设置子元素的visibility:visible;
.hide {
  visibility:hidden
}

3.display

display:none使用这个属性,被隐藏的元素对网页的布局不起作用。不仅如此,一旦display设为none任何对该元素直接的用户交互操作都不可能生效。此外,读屏软件也不会读到元素的内容。这种方式产生的效果就像元素完全不存在。通过DOM依然可以访问到这个元素。因此你可以通过DOM来操作它。

.hide {
  display:none
}

4.position

position:absolute 将top和left设置成足够大的负数,相当于把元素放到可视区域外,它不会影响布局,能够让元素保持可操作性,在读屏软件上可以被识别。

.hide {
  position:absolute;
  top:-9999px;
  left:-9999px;
}

总结一下:opacity,visibility影响布局,前者不影响交互,后者影响交互;

                   display不影响布局,影响交互;

                   position 不影响布局,不影响交互;   

5.一行 css 实现 padding 上下左右分别为 1px, 2px,3px, 4px

.padding-test {
  padding:1px 4px 2px 3px;
}
posted @ 2019-10-23 19:21  小猿取经-林海峰老师  阅读(847)  评论(2编辑  收藏  举报