css定義選擇器,jQuery是語言嗎?
jQuery不是一門語言。而是一套跨瀏覽器的JavaScript庫,用于簡化HTML與JavaScript之間的操作;jQuery的語法設計使得許多操作變得容易,如操作文檔對象、選擇文檔對象模型元素、創建動畫效果、處理事件等等。
jQuery是開源軟件,使用MIT許可證授權。 jQuery的語法設計使得許多操作變得容易,如操作文檔對象(document)、選擇文檔對象模型(DOM)元素、創建動畫效果、處理事件、以及開發Ajax程序。jQuery也提供了給開發人員在其上創建插件的能力。這使開發人員可以對底層交互與動畫、高級效果和高級主題化的組件進行抽象化。模塊化的方式使jQuery函數庫能夠創建功能強大的動態網頁以及網絡應用程序。
微軟和諾基亞已宣布在他們的平臺上綁定jQuery。微軟最初在Visual Studio中集成了jQuery以便在微軟自己的ASP.NET AJAX框架和ASP.NET MVC Framework中使用,而諾基亞則在他的Web運行時組件開發平臺中集成了jQuery。MediaWiki自從1.16版本后也開始使用jQuery。
jQuery 1.3版以后,引入全新的層疊樣式表(CSS)選擇器引擎Sizzle。同時不再提供Packed版本,因為解壓縮所消耗的時間,遠大于所節省的下載時間,且不利于調試,且已有Google AJAX Libraries API等公開站臺提供jQuery的js的引用服務,故Packed版本原本的優點已蕩然無存。
css中px和em有什么區別?
px特點
1. IE無法調整那些使用px作為單位的字體大??;
2. 國外的大部分網站能夠調整的原因在于其使用了em或rem作為字體單位;
3. Firefox能夠調整px和em,rem,但是96%以上的中國網民使用IE瀏覽器(或內核)。
px像素(Pixel)。相對長度單位。像素px是相對于顯示器屏幕分辨率而言的。(引自CSS2.0手冊)
em是相對長度單位。相對于當前對象內文本的字體尺寸。如當前對行內文本的字體尺寸未被人為設置,則相對于瀏覽器的默認字體尺寸。(引自CSS2.0手冊)
任意瀏覽器的默認字體高都是16px。所有未經調整的瀏覽器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。為了簡化font-size的換算,需要在css中的body選擇器中聲明Font-size=62.5%,這就使em值變為 16px*62.5%=10px, 這樣12px=1.2em, 10px=1em, 也就是說只需要將你的原來的px數值除以10,然后換上em作為單位就行了。
em特點
1. em的值并不是固定的;
2. em會繼承父級元素的字體大小。
所以我們在寫CSS的時候,需要注意兩點:
1. body選擇器中聲明Font-size=62.5%;
2. 將你的原來的px數值除以10,然后換上em作為單位;
3. 重新計算那些被放大的字體的em數值。避免字體大小的重復聲明。
也就是避免1.2 * 1.2= 1.44的現象。比如說你在#content中聲明了字體大小為1.2em,那么在聲明p的字體大小時就只能是1em,而不是1.2em, 因為此em非彼em,它因繼承#content的字體高而變為了1em=12px。
計算公式:1 ÷ 父元素的font-size × 需要轉換的像素值 = em值
rem特點
rem是CSS3新增的一個相對單位(root em,根em),這個單位引起了廣泛關注。這個單位與em有什么區別呢?區別在于使用rem為元素設定字體大小時,仍然是相對大小,但相對的只是HTML根元素。這個單位可謂集相對大小和絕對大小的優點于一身,通過它既可以做到只修改根元素就成比例地調整所有字體大小,又可以避免字體大小逐層復合的連鎖反應。目前,除了IE8及更早版本外,所有瀏覽器均已支持rem。對于不支持它的瀏覽器,應對方法也很簡單,就是多寫一個絕對單位的聲明。這些瀏覽器會忽略用rem設定的字體大小。你是想了解相關知識嗎?建議去優就業了解相關課程
java應該學習什么?
那首先來了解一下什么是java:
Java是SUN(Stanford University Network,斯坦福大學網絡公司)1995年推出的一門高級編程語言,是一種面向Internet的編程語言。隨著Java技術在web方面的不斷成熟,已經成為Web應用程序的首選開發語言。
那么為什么要使用這個語言呢,Java語言的特點跨平臺性,通過Java語言編寫的應用程序在不同的系統平臺上都可以運行。原理是只要在需要運行java應用程序的操作系統上,先安裝一個Java虛擬機(JVM Java Virtual Machine)即可。由JVM來負責Java程序在該系統中的運行。
下面對java學習進行一次史無前例的剖析,細致的講解零基礎的人怎么學習Java。先看下Java在基礎階段的知識點路線圖。
內容多嗎?不要被嚇到了,知識點剖析的比較細,所以看著比較多。不要害怕學不會,經過下面的詳解,你就會明白這些知識點都是干嘛的了。
入門階段,主要是培養Java語言的編程思想。了解Java語言的語法,書寫規范等,掌握Eclipse、MyEclipse等開發工具,編寫Java代碼的能力。學完這個階段你應該可進行小型應用程序開發并且可以對數據庫進行基本的增刪改查管理。注意:此階段知識點的學習,會有真實的項目進行驅動學習,讓你輕松理解各知識點。
1計算機基礎知識
針對零基礎學習的人,從對計算機操作等知識的了解,延伸到Java語言的發展與開發工具的使用上。主要是讓你知道怎樣執行計算機命令,認識Java這門語言,感受編程語言Java怎么開發程序。
1) 計算機基礎
讓零基礎學習的人先了解計算機相關知識,進而再去了解Java語言。
2) DOS常用命令
了解什么是DOS,并掌握DOS控制臺的打開方式,同時熟悉常用的DOS命令,例如:盤符切換、進入指定目錄、刪除文件等,完成使用DOS命令對計算機進行操作和控制。
3) Java概述
了解Java語言的發展史、Java語言平臺版本、Java語言的特點,以及JRE與JDK。JRE是Java的運行環境,JDK是Java開發工具包,它包含了Java的開發工具以及JRE。所以安裝了JDK就不用再單獨安裝JRE了。
4) JDK環境安裝配置
了解了什么是JDK,以及JDK的重要性,下一步我們就來學習如何安裝和配置JDK環境。在安裝JDK之前,我們首先需要下載JDK,針對不同的系統,我們需要下載不用版本的JDK。
5) 環境變量配置
了解path、classpath環境變量,理解path變量和classpath變量的作用,并掌握path變量和classpath變量的配置方式。
6) Java程序入門
當JDK、環境變量配置完畢,我們就可以開始 編寫Java程序。編寫Java程序可以使用如下幾種工具:notepad(微軟操作系統自帶)、Editplus、Notepad++、Eclipse、MyEclipse,sublime等等。
IntelliJ IDEA工具的使用(重點)
2編程基礎
此模塊學習是讓你了解編程的具體流程,學習Java基礎語法的格式等。具體要掌握不同數據類型的變量定義與使用,掌握不同運算符的運算規則,掌握流程控制語句的執行流程,編寫方法的聲明與調用,創建數組并訪問數組元素等知識。
1) 注釋
在程序開發工程中,用于解釋和說明程序的文字我們稱之為注釋,Java中的注釋分為以下幾種:單行注釋、多行注釋、文檔注釋。
2) 關鍵字
了解Java關鍵字的含義及特點,掌握關鍵字使用的注意事項。
3) 標識符
了解什么是標識符,標識符的組成規則,以及標識符使用時的注意事項。
4) 常量與變量
理解常量與變量的含義,并掌握常量與變量的區別、變量的定義格式以及變量的賦值。
5) 數據類型
掌握Java語言的數據類型,如基本數據類型:byte、short、int、long、float、double、char、boolean,以及引用類型:類、接口、數組。
6) 運算符
熟練掌握Java中的運算符:算術運算符、賦值運算符、比較運算符、邏輯運算符、位運算符、三目運算符。
7) 流程控制語句
了解什么是流程控制語句,掌握以下流程控制語句:順序結構、選擇結構、循環結構,并能夠通過流程控制語句實現特定的功能。
8) 方法
掌握方法的定義及格式,并能正確的調用方法,理解方法的調用過程,同時清楚方法的注意事項;掌握方法重載及其特點。
9) 數組
了解數組的概念,掌握數組的定義格式、靜態初始化、動態初始化,并能夠理解Java中數組的內存圖解。熟練掌握數組的遍歷、獲取最值、數組元素逆序、數組元素查找、數組排序和二分查找,以及二維數組的定義格式及初始化。
3面向對象
現實世界中,隨處可見的一種事物就是對象,對象是事物存在的實體,如人類、書桌、計算機、高樓大廈等。人類解決問題的方式總是將復雜的事物簡單化,于是就會思考這些對象都是由哪些部分組成的。通常都會將對象劃分為兩個部分,即動態部分與靜態部分。靜態部分,顧名思義就是不能動的部分,這個部分被稱為“屬性”,任何對象都會具備其自身屬性,如一個人,它包括高矮、胖瘦、性別、年齡等屬性。然而具有這些屬性的人會執行哪些動作也是一個值得探討的部分,這個人可以哭泣、微笑、說話、行走,這些是這個人具備的行為(動態部分),人類通過探討對象的屬性和觀察對象的行為了解對象。
1) 面向對象思想
了解面向過程編程思想,能夠通過案例理解Java的面向對象編程思想,了解面向對象開發、設計、特征。
2) 類與對象
了解什么是類,什么是對象,并理解類與對象之間的關系;熟練掌握類的定義、對象內存圖等。
3) 成員變量和局部變量
了解什么是成員變量,什么是局部變量,以及從他們在類中的位置、內存中的位置、生命周期、初始化值等方面掌握他們的區別。
4) 匿名對象
了解什么是匿名對象,掌握匿名對象的兩種使用情況。
5) 封裝
清楚的了解什么是封裝,并能夠理解封裝的優點與缺點,同時掌握封裝的原則。
6) this關鍵字
掌握this關鍵字的含義與使用。
7) 構造方法
了解什么是構造方法,構造方法的作用,以及與構造方法相關的注意事項。
8) 繼承
理解什么是繼承,繼承的好處以及java中繼承的特點和注意事項,繼承中成員變量的關系、構造方法的關系、成員方法的關系,方法重寫與方法重載的區別。
9) 多態
理解什么是多態,掌握多態案例及成員訪問的特點,多態的優點和缺點,多態中的轉型問題。
10) 抽象類
了解什么是抽象類,抽象類的特點,抽象類成員的特點。
11) 接口
了解什么是接口,接口的特點,接口成員的特點,類與類、類與接口的關系,以及抽象類與接口的區別。
12) 內部類
什么是內部類,內部類的訪問特點,內部類的位置,什么是成員內部類、局部內部類、匿名內部類,以及匿名內部類在開發中的使用。
4、常用類
類庫就是Java API(Application Programming Interface,應用程序接口),是系統提供的已實現的標準類的集合。在程序設計中,合理和充分利用類庫提供的類和接口,不僅可以完成字符串處理、繪圖、網絡應用、數學計算等多方面的工作,而且可以大大提高編程效率,使程序簡練、易懂。
學習內容:掌握Object類、Scanner類、String類、StringBuffer類、StringBuilder類、Arrays類、基本包裝類、正則表達式、Math類、Random類、System類、Date類、DateFormate類、Calendar類,及其常用方法。
5、集合
集合類存放的都是對象的引用,而非對象本身,出于表達上的便利,我們稱集合中的對象就是指集合中對象的引用。簡單一點就是說,集合是存放數據的容器。
學習內容:什么是集合?數組與集合有什么區別,集合類的特點,掌握Collection接口、Iterator接口、List接口、ListIterator接口、ArrayList類、Vector類、LinkedList類、泛型、Set接口、HashSet類、Map接口、HashMap類、LinkedHashMap類等。
6、IO
IO(Input/Output)是計算機輸出/輸出的接口。Java的核心庫http://java.io提供了全面的IO接口,包括:文件讀寫,標準設備輸出等等。Java中IO是以流為基礎進行輸入輸出的,所有數據被串行化寫入輸出流,或者從輸入流讀入。
1) 異常
了解什么是異常,異常的由來,常見的異常,異常的分類,掌握jvm對異常的默認處理方案,異常的處理方案:try…catch…finally、throws,什么是編譯時異常,什么是運行時異常,掌握它們兩的區別,throws關鍵字、throw關鍵字,以及這兩個關鍵字的區別,熟練掌握自定義異常,異常注意事項。
2) File類
了解什么是File類,File類的用途,掌握File類的方法:createNewFile()、mkdir()、mkdirs()、delete()、renameTo(File dest)、isDirectory()、isFile()、exists()、等方法,以及File類的基本獲取功能方法和高級獲取功能方法。
3) IO流
了解什么是IO流,IO流的用途;熟練掌握輸入流、輸出流、字符流、字節流、IO流的常用基類;如何使用字節流讀寫數據、復制數據;什么是字節緩沖流,如何使用字節緩沖流讀寫數據;什么是轉換流,如何使用轉換流更加高效的讀寫數據,內存操作流、打印流、標準輸入輸出流、序列化流、Properties集合。
4) IO流練習
(1) 復制文本文件;
(2) 復制圖片;
(3) 把ArrayList集合中的字符串數據存儲到文本文件;
(4) 從文本文件中讀取數據(每一行為一個字符串數據)到集合中,并遍歷集合;
(5) 復制單極文件夾;
(6) 復制單極文件夾中指定文件并修改文件名稱;
(7) 復制多極文件夾;
(8) 已知s.txt文件中有這樣的一個字符串:“hcexfgijkamdnoqrzstuvwybpl”;
(9) 請編寫程序讀取數據內容,把數據排序后寫入ss.txt中;
(10) 獲取每次讀取數據的行號;
(11) 登錄注冊IO版。
7、多線程
是指從軟件或者硬件上實現多個線程并發執行的技術。具有多線程能力的計算機因有硬件支持而能夠在同一時間執行多于一個線程,進而提升整體處理性能。具有這種能力的系統包括對稱多處理機、多核心處理器以及芯片級多處理(Chip-level multithreading)或同時多線程(Simultaneous multithreading)處理器。在一個程序中,這些獨立運行的程序片段叫作“線程”(Thread),利用它編程的概念就叫作“多線程處理(Multithreading)”。具有多線程能力的計算機因有硬件支持而能夠在同一時間執行多于一個線程(臺灣譯作“執行緒”),進而提升整體處理性能。
1) 多線程
了解什么是線程,什么是多線程,理解java程序的運行原理,掌握多線程的實現方案,如何獲取和設置線程名稱、線程的生命周期、如何解決線程安全問題、線程同步、Lock鎖、死鎖問題、線程間通信、線程的狀態及狀態轉換、線程池。
2) 多線程面試題
(1) 多線程有幾種實現方案,分別是哪幾種?
(2) 同步有幾種方式,分別是什么?
(3) 啟動一個線程是run()還是start()?它們的區別?
(4) sleep()和wait()方法的區別;
(5) 為什么wait(),notify(),notifyAll()等方法都定義在Object類中;
(6) 線程的生命周期圖。
3) 設計模式
了解什么是設計模式,設計模式的分類,熟練掌握單例設計模式(懶漢式、餓漢式)。
8 、網絡編程
網絡編程最主要的工作就是在發送端把信息通過規定好的協議進行組裝包,在接收端按照規定好的協議把包進行解析,從而提取出對應的信息,達到通信的目的。
9、反射
JAVA反射機制是在運行狀態中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調用對象的方法的功能稱為java語言的反射機制。
Java新特性:(重點及理解)
Java7特性重點:
switch支持String、泛型自動類型推斷
理解:可catch多個異常,異常之間使用“|”分隔
Java8特性重點:Lambda表達式、接口中的默認方法和靜態方法、新的Date API。
大家湊合著看看吧。
CSS定義超鏈接樣式有什么順序?
首先,CSS設置超鏈接樣式是通過偽類來實現的css稱這些鏈接狀態為偽類選擇器,在css思考方式里,"真"類屬性是用class=的屬性來明確指定的,而偽類選擇器則是用(:hover ; :visited ; :link ; :active)來指定,具體意義及順序如下: a:link是鏈接平常的狀態, a:visited是已訪問的狀態,a:hover是鼠標停留在鏈接之上,a:active是被選擇的鏈接。 偽類名字對大小寫不敏感,但在定義順序上有要求。:hover必須被置于:link和:visited之后才是有效的,:active必須被置于:hover之后才是有效的。 如果沒有指定偽類,則默認為 :link。