鏈接在現代網頁設計中發揮著不可或缺的作用。HTML中,href屬性在anchor標簽中扮演著關鍵角色,使得用戶可以輕松地跳轉到其他頁面或特定部分。在本文中,我們將探討href屬性的基本使用方法以及一些高級技巧,幫助您提升網站用戶體驗。
HTML中,anchor標簽用于創建超鏈接,其基本結構如下:
<a href="鏈接地址">鏈接文本</a>
其中,href屬性指定了跳轉的目標地址,而鏈接文本則是用戶在頁面上看到的可點擊的文本。
絕對路徑和相對路徑是href屬性中常見的兩種取值類型。
外部鏈接指向不同域名的頁面,而內部鏈接則是指向同一域名內的頁面或部分。在創建鏈接時,確保使用正確的協議(如http://或https://)以避免鏈接無法正常跳轉。
通過使用target屬性,您可以控制超鏈接的打開方式。常見的取值有:
rel屬性用于在超鏈接中添加關聯信息,如:
為了提升網站的訪問性和 SEO 排名,請確保鏈接文本清晰、描述性,避免使用過于短的單詞(如 "點擊這里")。此外,使用有意義的 URL 以便搜索引擎更好地理解您的網頁內容。
通過CSS,您可以對超鏈接進行樣式定義,使其與網站設計相一致。例如,更改鏈接的顏色、字體、下劃線等。
掌握href屬性的使用方法和技巧,您可以創建更加易于導航且訪問性較好的網站。在提升用戶體驗的同時,還能夠為搜索引擎提供更多關于網頁內容的信息,從而提高網站的 SEO 排名。
置字符編碼
屬性:http-equiv 值:Content-Type 內容:text/html; charset=utf-8
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
設置有效期
設置網頁的有效期之后, 過期網頁將無法脫機瀏覽, 只有重新登錄并連接該網頁才可以再次瀏覽。
屬性:http-equiv 值:expires 內容:Sun,1 Dec 2012 12:00:00 GMT
<meta http-equiv="Expires" content="Sun,1 Dec 2012 12:00:00 GMT" />
<meta http-equiv="Expires" content="<?php gmdate('D, d M Y H:i:s',time()+3600).' GMT'; ?>" />
設置禁止緩存
網頁制作者希望隨時都能查看到最新的網頁內容,則可以設置禁止頁面緩存
屬性:http-equiv 值:cache-control 內容:no-cache
<meta http-equiv="cache-control" content="no-cache" />
設置自動刷新
設置頁面自動刷新,以實現信息的自動實時顯示(秒)
屬性:http-equiv 值:refresh 內容:5
<meta http-equiv="Refresh" content="5" />
設置自動跳轉
屬性:http-equiv 值:refresh 內容:5;url=http://www.xxx.com/
<meta http-equiv="Refresh" content="5;URL=http://www.xxx.com/" />
設置網頁關鍵詞
屬性:name 值:keywords 內容:油漆,涂料,涂料行業,汽車涂料
<meta name="keywords" content="油漆,涂料,涂料行業,汽車涂料" />
設置搜索限制
屬性:name 值:robots 內容:All
All 表示能搜索當前網頁與其鏈接的網頁,系統默認設置
Index 表示能搜素當前頁面
Nofollow 表示不能搜素與當前網頁鏈接的網頁
Noindex 表示不能搜素當前網頁
None 表示不能搜索當前網頁與其鏈接的網頁
<meta name="robots" content="All" />
設置網頁說明
屬性:name 值:description 內容:中國油漆網--您的油漆專家
<meta name="description" content="中國油漆網--您的油漆專家" />
設置網頁的作者
屬性: name 值: author 內容: LAMP Brother UI Team
<meta name="author" content="LAMP Brother UI Team" />
設置網頁的版權
屬性: name 值: copyright 內容: 2012-2014 EDU.
<meta name="copyright" content="2012-2014 EDU." />
設置移動網站
<meta http-equiv="mobile-agent" content="format=html5;url=http://www.xxxxxx.com/mobile/">
<base> 標簽
base 元素可規定頁面中所有鏈接的基準 URL。
通常情況下,瀏覽器會從當前文檔的 URL 中提取相應的元素來填寫相對 URL 中的空白。
使用 <base> 標簽可以改變這一點。瀏覽器隨后將不再使用當前文檔的 URL,而使用指定的基本 URL 來解析所有的相對 URL。
這其中包括 <a>、<img>、<link>、<form> 標簽中的 URL。
<base href="文件路徑" target="目標窗口"/>
必需的屬性
href URL 規定頁面中所有鏈接的基準 URL。
target _blank 在何處打開頁面中所有的鏈接??赏ㄟ^在每個鏈接中使用 target 屬性來覆蓋此屬性。
_parent
_self
_top
_blank 在一個新的未命名的窗口載入文檔
_self 在相同的框架或窗口中載入目標文檔
_parent 把文檔載入父窗口或包含了超鏈接引用的框架的框架集
_top 把文檔載入包含該超鏈接的窗口,取代任何當前正在窗口中顯示的框架
實例:
<base target="_blank"/>
可以將該頁面的所有<a>鏈接的默認屬性設置為_blank
<base href="http://www.xxxxxx.com" />
在網頁出現的相對鏈接"test.html"將對應htp://www.xxxxxx.com/test.html的頁面
<basefont face="" size="" color=""/>
face屬性可以用于設置文字的名稱,可以是宋體、隸書、楷體等;
size屬性用于設置字號的大小(單位:字號),從 1 到 7 的數字,或h1-h6。瀏覽器默認值是 3。
color用于設置字體的顏色
近因為一些網頁的需要,需要比較深入的使用了CSS 的「偽元素」( Pseudo Element ),發現原來不只是用用before或after 而已,可以玩的東西還真是不少,所以就來篇文章,把這些比較不常玩的用法歸納整理下,希望對你的日常工作有所幫助。
「偽元素」之所以稱作「偽」,除了英文從「Pseudo」翻譯過來之外,就是因為它并不是真正網頁里的元素,但行為與表現又和真正網頁元素一樣,也可以對其使用CSS 操控。
跟偽元素類似的還有「偽類」( Pseudo classes ),在W3C的定義里總共有五個偽元素(其他仍在測試階段),分別是::before、::after、::first-line、::first-letter和::selection,為了和偽類區分,偽元素使用兩個冒號「::」開頭,而偽類使用一個冒號「:」開頭(像是:hover、:target...等)。
雖然現在的瀏覽器就算寫一個冒號也可以正常運作,不過為了方便區分,用兩個冒號還是比較好的,而且不論瀏覽器是什么,::selection必須是兩個冒號才能正常運作。
參考:MDN Pseudo-elements、偽類child和of-type
::before、::after大概是最常使用的偽元素,兩者都是以display:inline-block的屬性存在,::before是在原本的元素「之前」加入內容,::after則是在原本的元素「之后」加入內容,同時偽元素也會「繼承」原本元素的屬性,如果原本文字是黑色,偽元素的文字也會是黑色。
舉例來說,下面這段程式碼,有一個div 內容是「大家好,我是div」,使用::before、::after 之后,會在原本div 的前后各添加一段文字,并且讓這兩段文字都呈現紅色。
div::before{ content:"我是 before"; color:red; } div::after{ content:"我是 after"; color:red; }
上述的內容乍看之下很容易理解,比較需要注意的是一定要具備content的屬性,就算是只有content:"";都可以,因為沒有content的偽元素是不會出現在畫面上的,然而content是個很特別的屬性,它可以使用attr直接獲取內容元素的屬性值( attribute ),舉例來說,在HTML里有一個超連結,點擊后會彈出新視窗并連結至Google:
<a target="_blank">google</a>
使用下列的程式碼用法,將會把超連結的href 內容與target 內容,透過偽元素一前一后的顯示出來。
a::before{ content: attr(href); color:red; } a::after{ content: attr(target); color:green; }
此外content內容是可以「相加」的,不過用法不像JavaScript使用+號來相連,而是直接用一個空白鍵就可以不斷的累加下去,以下面的程式碼來說,可以在剛剛擷取的超連結文字后方和target屬性前方,加入標點符號。
a::before{ content: "( " attr(href) " ) < "; color:red; } a::after{ content: " > ( " attr(target) " ) "; color:green; }
content 甚至可以使用url 放入圖片的功能,下列的程式碼會呈現出三張圖片。
div::before{ content:url(圖片網址) url(圖片網址) url(圖片網址); }
通過調整border的屬性,我們可以實現上下左右的三角形,再結合偽元素before,after,content可以繪制多種多邊形,筆者在這篇文章有過介紹,感興趣的可以看看 :只用1個div,你能用CSS繪制:正3、4、5、6、7、8邊形嗎?
在CSS里有個不常用的屬性就是quotes,這是做為定義「括號格式」的屬性,也就是如果在一段文字被包住,這段文字的前后就會出現自定義的標簽替換(可以是括號、特殊符合、文字等),而且quotes支持多層嵌套,也就是你可以一層層的寫下去,以下面這段HTML文字舉例:
最外層<q>第一層<q>第二層</q><q>第二層<q>第三層</q></q></q>
quotes 的屬性如果只寫一層,就會看到只出現一種括號,前后括號使用空白分隔,兩組為一個單位,前后可以不同符號。
q{ quotes: ' < ' ' > '; }
如果寫了三層,就會看到出現三種括號,也會把文字當作括號使用。
q{ quotes: ' < ' ' > ' ' ya ' ' ya ' ' ( ' ' ) ' ; }
(請注意開合標簽的就近分配原則)
同樣的道理,我們可以應用在content里面,而且通過偽元素::before和::after處于前后的預設位置,甚至不用就實現前后括號的效果,以下面這段HTML文字舉例,把剛剛的q全部換成span:
最外層<span>第一層<span>第二層</span><span>第二層<span>第三層</span></span></span>
CSS的部分比較特別,在偽元素content里使用了open-quote (啟始括號)和close-quote (結束括號)這兩個有趣的值,換句話說open-quote對應到,close-quote對應到,此外也由于括號是在偽元素內,就可以指定不同的顏色或樣式了。
span{ quotes: ' < ' ' > ' ' ya ' ' ya ' ' ( ' ' ) ' ; } span::before{ content:open-quote; color:red; } span::after{ content:close-quote; color:#aaa; }
文章來源:https://www.oxxostudio.tw/articles/201706/pseudo-element-1.html
原文作者:oxxostudio
由于網頁為繁體內容,術語描述和標點話術的差異的問題,筆者在保證不改變原意的基礎上做了調整,并且內容頁進行了驗證確認無誤,歡迎大家指正。
雖然說偽元素很好用,但偽元素的內容實際上不存在網頁里( 如果打開瀏覽器的開發者工具,是看不到內容的),所以如果在里頭塞了太多的重要的內容,反而會影響到SEO 的成效,因此對于使用偽元素的定位,還是當作「輔助」性質會比較恰當。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。