1. 程式人生 > >淺析a標籤的4個偽類

淺析a標籤的4個偽類

  關於偽類,大家最熟悉的還是a標籤的4個偽類:
:link        有連結屬性時
:visited    連結地址已被訪問過
:active     被使用者啟用(在滑鼠點選與釋放之間發生的事件)
:hover      其滑鼠懸停

關於這四個偽類的排列次序,很多地方都能查到,可是為什麼這麼排列?從來沒有見過有人提及。這裡我就從技術、使用者體驗、優先順序幾個角度簡單的闡述下我們為什麼這麼排列。

首先從技術層面上,

a的這四個偽類,分別表示了a的四種狀態,要注意的是,a可以只具有一種狀態(:link),或者同時具有2種或者三種狀態!比如說,任何一個有HREF屬性的a標籤,在未有任何操作時都已經具備了:link的條件,也就是滿足了有連結屬性這個條件;如果訪問過的a標籤,同時會具備 :link :visited 兩種狀態。把滑鼠移到訪問過的a標籤上的時候,a標籤就同時具備了 :link :visited :hover三種狀態。

其次從使用者體驗的角度,

在使用者使用超連結的時候,為了最佳的使用者體驗,要做到下面幾點:

第一:不管是否是被訪問過的超連結,只要我滑鼠移上的時候(:hover)都要有寫變化,比如變色、加下劃線等等,告訴使用者選中的是可以點選的超連結。

第二:不管是否訪問過,在a標籤被啟用時(:active),都應該有相同的樣式變化。也就是說,同一個a標籤,未訪問過時在被使用者啟用和被訪問時再被使用者啟用時要有相同的樣式。這個也很好理解,使用者點下同一個超連結時的效果不應該有差別。

第三:訪問過的a標籤可能要跟沒有訪問過的a相區分。


從CSS優先順序角度,

前面的文章講過具體的css優先順序,這裡我要說的是對於同一優先順序的相沖突樣式,瀏覽器的選擇問題。比如:
.test {color:red; color:green;}
或者:
.test {color:red;}
.test {color:green;}
上面兩個例子中,大家都知道,對於這個.test指向的內容,瀏覽器會顯示後一個屬性設定。也就是color:green.

說到這裡,很多人可能已經有頭緒了。結合上面的三點,不難分析我們為什麼要這麼排。

第一:不管什麼情況下滑鼠懸停都應該有一個樣式變化(:hover),我們就把hover放在最後,防止具備其他狀態時,被其他狀態的設定覆蓋掉。
第二:當a被啟用時(:active),我們要求不管是否訪問過,都應該有相同的樣式,也就是這個狀態的效果應該能夠覆蓋未被訪問時(:link)與 已訪問過(:visited)兩種狀態。應該放在 :link :hover的後面。
第三:被訪問過的a(:visited)可能會有不一樣的樣式屬性,用來區別a是否被訪問過。也就是說:visited 狀態的屬性可以覆蓋掉:link狀態的屬性, 即 :visited 要放在 :link 的後面。

10.20日編輯記錄

今天下午的時候,我的助教聯絡我問“a的四個偽類是不是 L V H A啊?而不是你講的L V A H。新浪什麼的都是這樣的。我是從書上看的 love and hate。“ 

看到這個問題,我們不妨來看下H 和A 的關係。hover 和 active 分別表示滑鼠懸浮在 a標籤上 和滑鼠點下沒有彈起的時候。不難發現,這兩種狀態是不會並存的,也不會存在誰要覆蓋誰的問題。所以,不管是LVHA還是LVAH ,他們的效果都是一樣的。

不過用LOVE AND HATE 的方式來記住這個排序是一種不錯的方法,推薦新手使用。

相關推薦

淺析a標籤4

  關於偽類,大家最熟悉的還是a標籤的4個偽類: :link        有連結屬性時 :visited    連結地址已被訪問過 :active     被使用者啟用(在滑鼠點選與釋放之間發生的事件) :hover      其滑鼠懸停 關於這四個偽類的排列次序,很多地

CSS中 a標籤4

有時候在瀏覽一些網站時會發現,當你把滑鼠放在連結上時,它的顏色就會變,這就是用了css控制了它的四種狀態, 大家都知道a標籤可以用來實現超連結, 第一種狀態: link (預設)正常狀態(初

hover等4為什麼要按順序排列嗎

:link,:visited,:hover,:active這4個偽類大家都不陌生,4個偽類要按照LvHa這個愛恨原則來排(外國友人起的記憶方法),不然有些效果會出問題。 但是你們都想過這幾個屬性為什麼要按順序排嗎? :link和:hover 當滑鼠移動到a標籤上時,會觸

超連結a標籤中的區別及用法

首先“超連結”就是我們 html 中的 a 標籤,這個應該大家都沒問題。再接著,"偽類":什麼是偽類? css 對於偽類的解釋是用於向某些選擇器新增特殊的效果。簡單點說,就是你沒定義這個類,但它確

a標籤的那些

1.a標籤的幾種狀態 a 標籤應該有幾種狀態呢? 從它的作用我們可以分析出, 我想知道這個超連結點過沒有, 就存在兩種狀態, a:link 表示點選過, a:visited表示已訪問過。 在瀏覽京東、淘寶的時候, 我們還可以發現, 當滑鼠懸浮在某個標籤上, 它會變大, 這種滑鼠懸浮在超連結的

CSS定義超連結樣式的順序以及四的介紹

 a:link,定義正常連結的樣式;  a:visited,定義已訪問過連結的樣式;  a:hover,定義滑鼠懸浮在連結上時的樣式;  a:active,定義滑鼠點選連結時的樣式。  1 .定

a標籤的使用

a標籤的偽類 偽類的作用 :link => 向未被訪問的連結新增樣式。 :visited => :visited 向已被訪問的連結新增樣式。 :hover => :hover 當滑鼠懸浮在元素上方時,向元素新增樣式。

前端網頁學習day46(組合選擇器 屬性選擇器 盒模型 a標籤,img標籤,list標籤 選擇器)

前端網頁學習(html) DAY46 今日內容: css組合選擇器 屬性選擇器 盒模型 盒模型佈局 a標籤、img、list標籤 偽類選擇器 css組合選擇器 特性: 每個選擇器位可以為任意基本選擇器或選擇器組合 群組選擇器:可以控制多個 div, .s,

132_css筆記13_css的元素,a標籤

一,偽類(Pseudo-classes) 為選擇器新增更多的效果 偽類選擇元素基於的是當前元素處於的狀態,或者說元素當前所具有的特性,而不是元素的id、class、屬性等靜態的標誌。由於狀態是動態變化的,所以一個元素達到一個特定狀態時,它可能得到一個偽類的樣式;當狀態改變時,它又會失去這個樣

css3 a標籤寫下劃線動畫效果

before在a標籤之前的橫線動畫 從左往右動畫效果 html程式碼: <ul> <li><a href="">哈哈</a></li> <li><a h

如何去掉a標籤的下劃線及樣式

首先,來了解下<a>標籤的一些樣式:<a>標籤的偽類樣式 一組專門的預定義的類稱為偽類,主要用來處理超連結的狀態。超連結文字的狀態可以通過偽類選擇符+樣式規則來控制。偽類選擇符包括:  總: a          表示所有狀態下的連線 如 a{colo

關於a標籤選擇器使用順序

規則是由於CSS特殊性導致,css特殊性有一個按順序的規則(同一條css規則,後出現會覆蓋前面的同樣規則) 在這裡,比如把hover放在active後面,那麼實際你在啟用(active)連結的時候就觸發了hover偽類,hover在後面覆蓋了active的顏色,所以始終無法看到active的顏色 如果把vis

CSS內置的幾標準的對象

焦點 border 輸入 :link rst eight 第一個字符 比較 隨想 偽類和偽對象相信大家經常聽到,有一部分同學會把這倆個搞混淆,其實我本人有時候也會。今天特地梳理了一下, 下面一一列出,看完後相信對這倆會有比較清晰的區分 偽類 用途

css基礎 a:link/visited... 鏈接選擇器

browser itl src mar color 且行且珍惜 text char chrome 禮悟:   公恒學思合行悟,尊師重道存感恩。葉見尋根三返一,江河湖海同一體。 虛懷若谷良心主,願行無悔給最苦。讀書鍛煉養身心,誠勸且行且珍惜。

關於選擇器中一個冒號和兩冒號的區別

fault 兼容 content 中一 radi view get top AD 只要兼容現代瀏覽器如 webkit、firefox、opera等瀏覽器,對於偽元素采用雙冒號的寫法,要是非要兼容IE瀏覽器,用CSS2的單冒號寫法比較安全。 首先,閱讀 w3c 對兩者的定義:

html 超鏈接標簽 錨點 a標簽

鏈接 跳轉 rom htm href prim 顏色 div head 一個簡易的連接 <a href="01.html">01</a> <body> <a href="01.html" target="_blank">

a 的使用【2018.11.27】

<!DOCTYPE html> <html> <head> <meta charset="GBK"/> <title> change color</title> <style type="text/css"&g

前端JS將文字替換成標籤防爬蟲的一個方法

話不多說 思路就是 把重要的資訊轉換成偽類標籤 顯示出來 把原有的文字刪除 本來還擔心替換成偽類標籤後字型什麼的會改變 偽類標籤很好的繼承了樣式 上程式碼 但是呢 很遺憾 你還是要過介面 這個方法可以作為中轉 比如你和後端商量好規則 你傳送你生成的class 去取得要隱藏的對應

JQuery 選擇某個td中第二a標籤 控制特殊樣式

a標籤沒有disabled屬性,那麼當我們想禁用a標籤的點選事件的時候按照下面方法設定。下面是html程式碼: <a id="entry” class="entry">進入</a> js程式碼如下: $(“#entry”).attr("disabled",tru

習題 12.4 寫一個程式,定義抽象基Shape,由它派生出3派生:Circle(圓形)、Rectangle(矩形)、Triangle(三角形),用一個函式printArea分別輸出以上。。。

C++程式設計(第三版) 譚浩強 習題12.4 個人設計 習題 12.4 寫一個程式,定義抽象基類Shape,由它派生出3個派生類:Circle(圓形)、Rectangle(矩形)、Triangle(三