綱
1、什么是<a>標簽
2、<a>標簽的幾個重要屬性
3、a標簽的運行機制
4、a標簽常用的協(xié)議
5、超鏈接標簽的樣式問題——a標簽的偽類選擇器的書寫順序
1、什么是<a>標簽
<a> 標簽定義超鏈接,用于從一張頁面鏈接到另一張頁面。
<a> 元素最重要的屬性是 href 屬性,它指示鏈接的目標。
2、<a>標簽的幾個重要屬性
2.1、href
規(guī)定鏈接指向的頁面的 URL。
2.2、target
規(guī)定在何處打開鏈接文檔。
a:自定義打開錨點
target的特殊值:有 4 個保留的目標名稱用作特殊的文檔重定向操作:
2.3、name
規(guī)定錨的名稱。(Html5不支持)
2.4、downloadHTML5新增
HTML5新增,只有 Firefox 和 Chrome 支持 download 屬性。
download 屬性規(guī)定被下載的超鏈接目標。
在 <a> 標簽中必須設置 href 屬性。
該屬性也可以設置一個值來規(guī)定下載文件的名稱。所允許的值沒有限制,瀏覽器將自動檢測正確的文件擴展名并添加到文件 (.img, .pdf, .txt, .html, 等等)。
1
<a href="/images/myw3schoolimage.jpg" download="w3logo">
2.5、media
media 屬性規(guī)定目標 URL 是為什么類型的媒介/設備進行優(yōu)化的。
該屬性用于規(guī)定目標 URL 是為特殊設備(比如 iPhone)、語音或打印媒介設計的。
該屬性可接受多個值。
只能在 href 屬性存在時使用。
3、a標簽的運行機制
4、a標簽常用的協(xié)議
5、超鏈接標簽的樣式問題——a標簽的偽類選擇器的書寫順序
5.1、a標簽的多重狀態(tài)
對于<a>元素,我們可以用“多重人格”來形容它。對于該標簽,它一共有五種狀態(tài)::link, :visited, :hover, :focus, :active.
“:link”可以用于聲明未訪問狀態(tài)鏈接的樣式;
“:visited”可以用于聲明已經(jīng)訪問鏈接的樣式;
“:hover”可以用于聲明鼠標懸停在鏈接上的樣式;
“:focus”可以用于聲明瀏覽器焦點懸停在鏈接上的樣式(通過鍵盤選擇鏈接);
“:active”可以用于聲明瀏覽器點擊鏈接的樣式。
注意:冒號前后不要出現(xiàn)空格
一般a:hover和a:visited鏈接的狀態(tài)(顏色、下劃線等)應該是相同的。
link、visited、active分別對應body元素的link、vlink、alink這三個屬性。
四個“狀態(tài)”的先后過程是:a:link ->a:hover ->a:active ->a:visited。另外,a:active不能設置有無下劃線(總是有的)。
5.2、鏈接(a標簽狀態(tài))定義的順序
沒有規(guī)矩不成方圓,雖然鏈接定義寫好了,但它也是有規(guī)則的,如果這四項的書寫順序稍有差錯,鏈接的效果可能就沒有了,所以每次定義鏈接樣式時務必確認定義的順序,link--visited--hover-active,也就是我們常說到的LoVe HAte原則(大寫字母就是它們的首字母)。
老外總結了一個便于記憶的“愛恨原則”(LoVe/HAte),即四種偽類的首字母:LVHA。定義A鏈接樣式的正確的順序:a:link、a:visited、a:hover、a:active。若沒有按照這樣的順序的話,有的狀態(tài)的樣式會被放置在后面的樣式覆蓋而導致像沒有觸發(fā)一樣沒有效果,如:如果hover放在visited之后,則就算我放上去變色了,但是同時這個標簽也具有visited狀態(tài)以及其的效果,會覆蓋了hover的效果。
為了符合瀏覽器解釋CSS遵循的"就近原則"。我們在定義CSS中,宜將最一般的條件放在最上面,并依次向下,最下面放最特殊的。
在W3C規(guī)范中,也規(guī)定了鏈接的聲明順序:
在 CSS 定義中,a:hover 必須被置于 a:link 和 a:visited 之后,才是有效的。
在 CSS 定義中,a:active 必須被置于 a:hover 之后,才是有效的。
我自己是一名從事了多年開發(fā)的web前端老程序員,目前辭職在做自己的web前端私人定制課程,今年年初我花了一個月整理了一份最適合2019年學習的web前端學習干貨,各種框架都有整理,送給每一位前端小伙伴,想要獲取的可以關注我的頭條號并在后臺私信我:前端,即可免費獲取。
家好,我是江湖哥,今天分享html教程入門級的部分,大神請繞道,小白請點贊,哈哈,言歸正傳:
知識要點:
1. a標簽的概念
2. a標簽屬性
a標簽的作用:就是用于控制頁面與頁面之間的跳轉的
a標簽的格式:<a href="指定要跳轉的目標界面的鏈接">需要展示給用戶看見的內(nèi)容</a>
<a href="https://www.toutiao.com/">江湖哥博客</a>
a標簽中有一個target屬性,這個屬性的作用就是專門用于控制如何跳轉
值
描述
_blank
于在新的選項卡中跳轉,也就是新建頁面跳轉
_self
默認。在當前選項卡中打開被鏈接文檔,也就是不新建頁面跳轉
_parent
在父框架集中打開被鏈接文檔。
_top
在整個窗口中打開被鏈接文檔。
framename
在指定的框架中打開被鏈接文檔。
<a href="https://www.toutiao.com/">可見內(nèi)容</a>
<a href="https://www.toutiao.com/" target=”_blank”>江湖可見博客</a>
a標簽中還有一個屬性,叫做title,a標簽中的title和img標簽中title一樣,都是用來控制鼠標懸停時顯示的提示文本內(nèi)容的
<a href="https://www.toutiao.com/" target="_blank" title="點擊會跳轉到可見博客首頁">可見</a>
設置 target 屬性時, top 與 parent 的打開方式十分類似,需仔細區(qū)分。
比如網(wǎng) A 中鑲嵌了 iframe 網(wǎng)頁 B,網(wǎng)頁 B 又鑲嵌了 iframe 網(wǎng)頁C。
· 如果網(wǎng)頁 C 中連接設置 target=_parent,則跳轉到網(wǎng)頁 B 去掉直接在 A 中嵌入網(wǎng)頁 C 中鏈接頁面。
· 如果網(wǎng)頁 C 中 target=_top ,則直接跳出所有 iframe 框架,直接轉向 C 中鏈接頁面
1.a標簽不僅可以讓文字可以點擊,還可以讓圖片也能夠被點擊。
2.一個a標簽必須有一個href屬性,否則a標簽不知道要跳轉到什么地方
3.如果通過a標簽的href屬性指定一個URL地址,那么必須在地址前面加上http://或https://。
4.a標簽的href屬性除了可以綁定一個網(wǎng)絡地址以外,還可以指定一個本地的地址
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>a標簽的使用</title>
</head>
<body>
<a name="top"></a>
<a href="https://www.toutiao.com/">a是控制界面也頁面的跳轉</a><br><br>
<a href="https://www.toutiao.com/" target="_blank">跳轉到新窗口打開</a><br><br>
<a href="#name1">錨點跳轉1</a>&nssp;&nssp;&nssp;<a href="#name2">錨點跳轉2</a>
<br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
這是一個錨點跳轉文字1 <a name="name1"></a> <a href="#top">返回頂部</a>
<br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
這是一個錨點跳轉文字2 <a name="name2"></a> <a href="#top">返回頂部</a>
</body>
</html>
關注我,點擊下面鏈接,即可看視頻
TTP協(xié)議,只要上網(wǎng)基本都會接觸到的一個網(wǎng)絡應用層協(xié)議,今天也就繼續(xù)聊聊這個HTTP協(xié)議,鞏固下對他的認識。
HTTP協(xié)議中文翻譯為超文本傳輸協(xié)議,在概念中提到3個詞,超文本、傳輸、協(xié)議。簡單聊下其中2個詞超文本和協(xié)議。
相對于普通文本(信息描述)來說,超本文多了一個重要的功能點:關聯(lián)。網(wǎng)絡上的文檔通過超文本實現(xiàn)聯(lián)系,各自可以跳轉,慢慢從獨立的點擴展為一個網(wǎng),如下圖。
所以在百度上的解釋稱 :超文本是一種組織信息的方式,它通過超級鏈接方法將文本中的文字、圖表與其他信息媒體相關聯(lián)
在前端超文本的概念,我們可以簡單理解為HTML中的a標簽
在計算機網(wǎng)絡中,協(xié)議是指通信計算機雙方必須共同遵從的一組約定。如怎么樣建立連接、怎么樣互相識別等。只有遵守這個約定,計算機之間才能相互通信交流。
協(xié)議很重要的一點就是定義了數(shù)據(jù)的封裝。
上面我們提到協(xié)議是一種規(guī)定,HTTP協(xié)議里就規(guī)定了怎么去獲取資源和信息傳輸。
資源的定位HTTP協(xié)議是根據(jù)URL(統(tǒng)一資源定位符(uniform resource locator;URL))來標識的,通過URL可以定位資源的網(wǎng)絡位置
下圖是URL的結構:
注意:
1、端口不說明是指80端口
2、Hash也稱為錨點,可以通過錨點快速定位到文檔節(jié)點(節(jié)點ID)
HTTP傳輸?shù)膱笪模还苁钦埱髨笪倪€是響應報文,格式都包含著起始行,請求頭和請求體,如下
不同的是請求時,起始行是說明請求方法 請求路徑 和協(xié)議版本
響應時,起始行是說明響應的狀態(tài)編碼
盜鏈的情況如下:
假設B站點作為一個商業(yè)網(wǎng)站,有很多自主版權的圖片,自身展示用于商業(yè)目的。而A站點,希望在自己的網(wǎng)站上面也展示這些圖片,直接使用圖片地址 這樣,大量的客戶端在訪問A站點時,實際上消耗了B站點的流量,而A站點卻從中達成商業(yè)目的。從而不勞而獲。這樣的A站點著實令B站點不快的
為了防止這種行為,除了可以為資源增加權限驗證(可能需要經(jīng)過一層代碼處理),另外一個方便的方法就是判斷referrer返回403,這樣子當外部網(wǎng)站使用我們的資源時就無法訪問正常資源
當然這種方法很容易通過設置不傳遞referrer繞過 <meta name='referrer' content='no-referrer'>,可看具體情況使用。
Post提交數(shù)據(jù)主要有三種,我們最常使用的是urlencoded,當上傳文件時會使用form-data
對于JSON格式的,如果傳遞的數(shù)據(jù)帶JSON格式,前端JSON.stringify后后端難解析,可以考慮通過json的數(shù)據(jù)格式,例子如下:
跨站點請求數(shù)據(jù)時,因為瀏覽器的同源策略,會禁止請求,也就是我們常說的跨域。
遇到跨域的情況下,可以通過CORS方案 通過設置Access-Control-Allow-Origin來允許跨域請求站點,有些特殊的報文如下:
請求報文 | 說明 |
Access-Control-Allow-Origin | 可取為*表示允許任何站點 或直接寫站點地址如:https://www.baidu.com 注:無法同時聲明2個站點 |
Access-Control-Allow-Credentials | 默認下跨站點訪問是不帶cookies,如果需要帶cookies,可以按如下: Access-Control-Allow-Origin不能為* 通過設置Access-Control-Allow-Credentials為 true 并在AJAX請求中打開withCredentials屬性 |
Access-Control-Expose-Headers | 如果跨域時需要附帶一些特殊的請求報文頭,需要通過該屬性說明,如需要附帶Toekn報文頭時 Access-Control-Expose-Headers:Token |
| 表明服務器支持的所有跨域請求的方法。注意,返回的是所有支持的方法,而不單是瀏覽器請求的那個方法。這是為了避免多次"預檢"請求 |
特別注意的是跨域的情況下有可能會有預檢請求,此時在正式發(fā)送時會先發(fā)送OPTIONS請求,后端需要處理改請求,默認返回200,并返回允許跨域的報文(如上文檔)即可
非下述情況就有可能發(fā)送預檢請求
(1) 請求方法是以下三種方法之一:
(2)HTTP的頭信息不超出以下幾種字段:
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。