計算機科學中,路徑是指向文件系統中某個位置的字符串。路徑可以是絕對的也可以是相對的。這篇文章將詳細解釋絕對路徑和相對路徑的區別,并通過例子來展示它們的使用。
絕對路徑是從文件系統的根目錄(在Windows系統中是驅動器的根,如C:\,在UNIX系統中是/)開始的完整路徑。它包含了從根目錄到目標文件或文件夾的所有目錄名,并以文件或文件夾名結束。
假設我們有一個位于Windows系統D盤的圖片文件,其路徑可能是:
D:\Photos\Holiday\beach.jpg
在UNIX系統中,如果有一個配置文件位于根目錄下的etc文件夾中,其路徑可能是:
/etc/nginx/nginx.conf
無論當前位置在哪里,上述路徑都準確指向了特定的文件。
相對路徑是相對于當前工作目錄的路徑。它不是從根目錄開始,而是從當前目錄開始描述如何到達目標文件或文件夾。
假設當前工作目錄是D:\Photos,要引用Holiday文件夾中的beach.jpg圖片,相對路徑將是:
Holiday\beach.jpg
如果需要引用同一級別目錄下的另一個文件夾中的文件,例如當前工作目錄是D:\Photos\Holiday,要引用Work文件夾中的report.docx文件,相對路徑將使用..來表示上一級目錄:
..\Work\report.docx
在UNIX系統中,如果當前工作目錄是/etc/nginx,要引用同一級別的apache2目錄下的apache2.conf文件,相對路徑將是:
../apache2/apache2.conf
在相對路徑中,有兩個特殊符號經常使用:
使用這些符號,可以在文件系統中向上或向下導航。
在創建網頁時,鏈接到CSS文件、JavaScript文件、圖片或其他網頁通常需要使用路徑。使用絕對路徑或相對路徑取決于資源的位置和你的特定需求。
假設網站的根目錄結構如下:
/ (根目錄)
|-- index.html
|-- about.html
|-- css
| |-- styles.css
|-- images
| |-- logo.png
|-- js
|-- scripts.js
如果在index.html中引用styles.css,相對路徑將是:
<link rel="stylesheet" type="text/css" href="css/styles.css">
如果在index.html中引用logo.png,相對路徑將是:
<img src="images/logo.png" alt="Logo">
如果網站的URL是http://www.example.com,那么引用logo.png的絕對路徑將是:
<img src="http://www.example.com/images/logo.png" alt="Logo">
絕對路徑和相對路徑都是定位文件系統中文件和文件夾的有效方式。絕對路徑提供了明確的位置,不依賴于當前工作目錄,而相對路徑則更加靈活,可以簡化文件的鏈接,尤其是在網頁設計和軟件開發中。理解這兩種路徑的差異和應用場景,對于任何與文件系統交互的活動都是至關重要的。
眾號【傳智播客博學谷】回復關鍵詞:前端 PS Java(100G) Python(80G) 大數據 區塊鏈 測試 PPT JS(40g+300教程) HTML 簡歷 領取相關學習資料!
一、HTML
1、<image>標簽上title屬性與alt屬性的區別是什么?
alt屬性是為了給那些不能看到你文檔中圖像的瀏覽者提供文字說明的。且長度必須少于100個英文字符或者用戶必須保證替換文字盡可能的短。
這包括那些使用本來就不支持圖像顯示或者圖像顯示被關閉的瀏覽器的用戶,視覺障礙的用戶和使用屏幕閱讀器的用戶等。
title屬性為設置該屬性的元素提供建議性的信息。使用title屬性提供非本質的額外信息。參考《alt和title屬性的區別及應用》
2、分別寫出以下幾個HTML標簽:文字加粗、下標、居中、字體
加粗:<b>、<strong>
下標:<sub>
居中:<center>
字體:<font>、<basefont>、參考《HTML標簽列表》
3、請寫出至少5個html5新增的標簽,并說明其語義和應用場景
section:定義文檔中的一個章節
nav:定義只包含導航鏈接的章節
header:定義頁面或章節的頭部。它經常包含 logo、頁面標題和導航性的目錄。
footer:定義頁面或章節的尾部。它經常包含版權信息、法律信息鏈接和反饋建議用的地址。
aside:定義和頁面內容關聯度較低的內容——如果被刪除,剩下的內容仍然很合理。
參考《HTML5 標簽列表》
4、請說說你對標簽語義化的理解?
a. 去掉或者丟失樣式的時候能夠讓頁面呈現出清晰的結構
b. 有利于SEO:和搜索引擎建立良好溝通,有助于爬蟲抓取更多的有效信息:爬蟲依賴于標簽來確定上下文和各個關鍵字的權重;
c. 方便其他設備解析(如屏幕閱讀器、盲人閱讀器、移動設備)以意義的方式來渲染網頁;
d. 便于團隊開發和維護,語義化更具可讀性,遵循W3C標準的團隊都遵循這個標準,可以減少差異化。
5、Doctype作用? 嚴格模式與混雜模式如何區分?它們有何意義?
聲明位于文檔中的最前面,處于 標簽之前。告知瀏覽器以何種模式來渲染文檔。
嚴格模式的排版和 JS 運作模式是,以該瀏覽器支持的最高標準運行。
在混雜模式中,頁面以寬松的向后兼容的方式顯示。模擬老式瀏覽器的行為以防止站點無法工作。
DOCTYPE不存在或格式不正確會導致文檔以混雜模式呈現。
6、你知道多少種Doctype文檔類型?
標簽可聲明三種 DTD 類型,分別表示嚴格版本、過渡版本以及基于框架的 HTML 文檔。
HTML 4.01 規定了三種文檔類型:Strict、Transitional 以及 Frameset。
XHTML 1.0 規定了三種 XML 文檔類型:Strict、Transitional 以及 Frameset。
Standards (標準)模式(也就是嚴格呈現模式)用于呈現遵循最新標準的網頁,
Quirks(包容)模式(也就是松散呈現模式或者兼容模式)用于呈現為傳統瀏覽器而設計的網頁。
7、HTML與XHTML——二者有什么區別
a. XHTML 元素必須被正確地嵌套。
b. XHTML 元素必須被關閉。
c. 標簽名必須用小寫字母。
d. XHTML 文檔必須擁有根元素。
參考《XHTML 與 HTML 之間的差異》
8、html5有哪些新特性、移除了那些元素?
a. HTML5 現在已經不是 SGML 的子集,主要是關于圖像,位置,存儲,多任務等功能的增加。
b. 拖拽釋放(Drag and drop) API
c. 語義化更好的內容標簽(header,nav,footer,aside,article,section)
d. 音頻、視頻API(audio,video)
e. 畫布(Canvas) API
f. 地理(Geolocation) API
g. 本地離線存儲 localStorage 長期存儲數據,瀏覽器關閉后數據不丟失
h. sessionStorage 的數據在頁面會話結束時會被清除
i. 表單控件,calendar、date、time、email、url、search
j. 新的技術webworker, websocket等
移除的元素:
a. 純表現的元素:basefont,big,center, s,strike,tt,u;
b. 對可用性產生負面影響的元素:frame,frameset,noframes;
9、iframe的優缺點?
優點:
a. 解決加載緩慢的第三方內容如圖標和廣告等的加載問題
b. iframe無刷新文件上傳
c. iframe跨域通信
缺點:
a. iframe會阻塞主頁面的Onload事件
b. 無法被一些搜索引擎索引到
c. 頁面會增加服務器的http請求
d. 會產生很多頁面,不容易管理。
參考《iframe的一些記錄》
10、Quirks模式是什么?它和Standards模式有什么區別?
在寫程序時我們也會經常遇到這樣的問題,如何保證原來的接口不變,又提供更強大的功能,尤其是新功能不兼容舊功能時。IE6以前的頁面大家都不會去寫DTD,所以IE6就假定 如果寫了DTD,就意味著這個頁面將采用對CSS支持更好的布局,而如果沒有,則采用兼容之前的布局方式。這就是Quirks模式(怪癖模式,詭異模式,怪異模式)。
區別:總體會有布局、樣式解析和腳本執行三個方面的區別。
a. 盒模型:在W3C標準中,如果設置一個元素的寬度和高度,指的是元素內容的寬度和高度,而在Quirks 模式下,IE的寬度和高度還包含了padding和border。
b. 設置行內元素的高寬:在Standards模式下,給等行內元素設置wdith和height都不會生效,而在quirks模式下,則會生效。
c. 設置百分比的高度:在standards模式下,一個元素的高度是由其包含的內容來決定的,如果父元素沒有設置百分比的高度,子元素設置一個百分比的高度是無效的用
d. 設置水平居中:使用margin:0 auto在standards模式下可以使元素水平居中,但在quirks模式下卻會失效。
11、請闡述table的缺點
a. 太深的嵌套,比如table>tr>td>h3,會導致搜索引擎讀取困難,而且,最直接的損失就是大大增加了冗余代碼量。
b. 靈活性差,比如要將tr設置border等屬性,是不行的,得通過td
c. 代碼臃腫,當在table中套用table的時候,閱讀代碼會顯得異常混亂
d. 混亂的colspan與rowspan,用來布局時,頻繁使用他們會造成整個文檔順序混亂。
e. 不夠語義
參考《為什么說table表格布局不好?》
12、簡述一下src與href的區別
src用于替換當前元素;href用于在當前文檔和引用資源之間確立聯系。
src是source的縮寫,指向外部資源的位置,指向的內容將會嵌入到文檔中當前標簽所在位置
href是Hypertext Reference的縮寫,指向網絡資源所在位置,建立和當前元素(錨點)或當前文檔(鏈接)之間的鏈接
公眾號【傳智播客博學谷】回復關鍵詞:前端 PS Java Python 大數據 區塊鏈 測試 PPT JS HTML 簡歷 領取相關學習資料!
幾天剛開始寫一個Vue項目,遇到了一個定位問題,覺得挺有意思的,這里分享給大家。
其實就是一個首頁頂部固定的問題,一提到頂部固定,相信大家都第一反應是想到了
position:fixed;
下面來看一下這個頁面
這個頁面看起來挺正常的,其實是下面內容區添加了margin-top:60px樣式,如果把margin-top去掉就會變成下圖這樣
發現上面的Welcome to Your Vue.js App字樣被頂部導航欄遮蓋,這里大家可能會說,覆蓋后下面內容設置一個margin-top不就行了,其實前面我就設置過margin-top為60px,這個60px實際上是頂部導航欄的高度;
導航欄高度基本上都是固定的,有時候除了導航欄需要固定,也會碰到一下其他的高度不固定的元素需要固定,如果margin-top單純設置一個固高當然不行 ;
有人會說這個高度可以根據需要固定元素的高度動態設置,其實這是一種辦法,通過js動態獲取頂部導航欄的高度,然后給下面內容區margin-top賦值;
今天我想說的是另一種方法,就是position定位屬性sticky粘性定位,大家聽到這個可能并不陌生,sticky是CSS3提供的一個新屬性,相當于是相對定位relative和固定定位fixed的結合體
它主要用在對scroll事件的監聽上,簡單說在滑動過程中,某個元素的距離其父元素的距離達到 sticky 粘性定位 要求時;position:sticky 這時的效果就相對于 fixed 定位,固定到適當的位置。
但是sticky也需要滿足一些條件才能生效
1. 父元素不能設置 overflow:hidden; 或者 overflow:auto; 屬性;
2. 必須制定 top、bottom 、left 、 right 4個值之一,否則只會處于相對定位;
3. 元素的高度不能低于sticky 元素的高度;
4. sticky 元素僅在其父元素內生效
*請認真填寫需求信息,我們會在24小時內與您取得聯系。