1、CSS的全稱是什么?
Cascading Style Sheets,層疊樣式表。可以用于靜態的修飾網頁,也可以配合各種腳本語言動態地對網頁各元素進行格式化。
2、CSS有幾種引入方式? link 和@import 有什么區別?
1、內聯樣式
<h1 style="color: blue; font-size: 10px;"></h1>
樣式直接寫在HTML標簽中,簡單直接,但對后續的修改以及添加樣式會很繁瑣,不推薦使用。
2、內部樣式
h1 {
color: blue; font-size: 10px;
}
</style> ```
優劣:因為嵌入的 CSS 只對當前頁面有效,所以當多個頁面需要引入相同的 CSS 代碼時,這樣寫會導致代碼冗余,也不利于維護。但是如果寫末班網頁的話就很適合,因為查看模板代碼的人可以一目了然地查看 HTML 結構和 CSS 樣式。
3、外部樣式
` <head> <link rel="stylesheet" type="text/css" href="index.css"> </head> `
最常用的引用方式,rel:告訴瀏覽器引用的是一個樣式表文件;type:文件類型(可省略);href:文件地址。實現了內容與樣式分離。
<style>
@import url("hello.css");
</style>
本質上,這兩種方式都是為了加載CSS文件,但還是存在著細微的差別
- 1.link屬于XHTML標簽,而@import完全是CSS提供的一種方式。link標簽除了可以加載CSS外,還可以做很多其它的事情,比如定義RSS,定義rel連接屬性等,@import就只能加載CSS了。
- 2.加載順序的差別。當一個頁面被加載的時候,link引用的CSS會同時被加載,而@import引用的CSS會等到頁面全部被下載完再被加載。所以有時候瀏覽@import加載CSS的頁面時性能較差
- 3.兼容性的差別。由于@import是CSS2.1提出的所以老的瀏覽器不支持,@import只有在IE5以上的才能識別,而link標簽無此問題
- 4.使用dom控制樣式時的差別。當使用javascript控制dom去改變樣式的時候,只能使用link標簽,因為@import不是dom可以控制的。
## 3、以下這幾種文件路徑分別用在什么地方,代表什么意思?
### 相對路徑
- css/a.css:當前目錄下的css文件夾中的a.css
- ./css/a.css:當前目錄中css文件夾中的a.css文件
- b.css:當前目錄下的b.css文件
- ../imgs/a.png:上級目錄中的imgs 文件夾中的a圖片
### 絕對路徑
- /Users/hunger/project/css/a.css:本地絕對路徑中的a.css文件
### 網站路徑
- /static/css/a.css:網站路徑的相對路徑
- http://cdn.jirengu.com/kejian1/8-1.png:圖片上傳后生成的線上地址
## 4、如果我想在js.jirengu.com上展示一個圖片,需要怎么操作?
1、把圖片上傳到服務器上,把圖片和html文件放在同一級或者上一級的img文件夾中,使用相對路徑引用。
2、直接使用網絡上的地址引用(把本地照片上傳到極簡圖床,會生成一個網絡地址)。
## 5、列出5條以上html和 css 的書寫規范
### html規范:
- id元素必須保證頁面唯一。
- 同一頁面,應避免使用相同的 name 與 id。
- 標簽使用必須符合標簽嵌套規則。
- 屬性值必須用雙引號包圍。
- 引入 CSS 時必須指明 rel="stylesheet"。
- title 必須作為 head 的直接子元素,并緊隨 charset 聲明之后。
### CSS書寫規范:
- 語法不區分大小寫,但建議統一使用小寫
- 當一個 rule 包含多個 selector 時,每個選擇器聲明必須獨占一行。
- 屬性定義后必須以分號結尾。
- 不使用內聯的style屬性定義樣式
- id和class使用有意義的單詞,分隔符建議使用-
- 屬性值是0的省略單位
- 塊內容縮進
- 屬性名冒號后面添加一個空格
## 6、截圖介紹 chrome 開發者工具的功能區

- Elements:查找網頁源代碼HTML中的任一元素,手動修改任一元素的屬性和樣式且能實時在瀏覽器里面得到反饋。
- Console:記錄開發者開發過程中的日志信息,且可以作為與JS進行交互的命令行Shell。
- Sources:斷點調試JS。
- Network:從發起網頁頁面請求Request后分析HTTP請求后得到的各個請求資源信息(包括狀態、資源類型、大小、所用時間等),可以根據這個進行網絡性能優化。
- Timeline:記錄并分析在網站的生命周期內所發生的各類事件,以此可以提高網頁的運行時間的性能。
- Profiles:如果你需要Timeline所能提供的更多信息時,可以嘗試一下Profiles,比如記錄JS CPU執行時間細節、顯示JS對象和相關的DOM節點的內存消耗、記錄內存的分配細節。
- Application:記錄網站加載的所有資源信息,包括存儲數據(Local Storage、Session Storage、IndexedDB、Web SQL、Cookies)、緩存數據、字體、圖片、腳本、樣式表等。
- Security:判斷當前網頁是否安全。
- Audits:對當前網頁進行網絡利用情況、網頁性能方面的診斷,并給出一些優化建議。比如列出所有沒有用到的CSS文件等。