1.JavaScript(或 jQuery)如何選擇一個 id 為 main 的容器
.main
#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;
}