Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
起html的錨點這個概念,你可能會感到會陌生,感覺自己沒有聽過。但是如果說起它的作用,你可能就恍然大悟了,就像你說起一個演員,可能不知道是誰,但是說起它演的一個角色可能立馬就知道那個人是誰了。
那么,什么是錨點呢?
錨點存在于html中,在默認情況下,可以快速的定位到指定元素,并將元素置于頁面最頂端。當然我們可以按照自己的需求來確定錨點的位置,不一定要讓其定位在頂部。現如今有無數多的頁面已經用上了錨點,比如Vue.js的官網,在我們點擊標題“Vue.js是什么”和標題“起步”的時候,標題都會自動移到頁面頂端。
錨點的使用
那接下來,我們就來看看幾種錨點的使用方法。
id定位
最基本的使用方法如下,當點擊<a>標簽時,頁面會相應的將該div內容置頂
錨點的id定位方法
name定位
除了id,還可以通過name進行定位,不過需要主要的是,如果采用name屬性進行定位的話,只適用于a標簽,類似于p標簽等都不支持。
錨點的name定位方法
javascript代碼進行定位
在原生的javascript中,有一個scrollIntoView()方法,可以實現頁面的錨點
javascript方法實現錨點
一個綜合的例子
講了三種實現方法后,接下來看一個實際運用的例子。首先是實際效果圖,在點擊左側欄時,頁面右邊會相應的顯示指定段落的內容
錨點的實際使用
首先看下html頁面的內容,左側的ul代碼
左側的ul代碼
右側的內容部分代碼
右側內容部分代碼
css部分的代碼
css部分的代碼
將上述的代碼寫在一個html文件中,便可實現左側欄點擊,右側欄顯示相應內容的效果。
特殊情況
在實際項目中,我們總會遇到這樣一種情況,在頁面頂部有固定頭內容的時候,如果直接使用上述方法,會得不到想要的效果
直接使用錨點的效果圖
通過該圖可以看出,第三段內容的標題被遮住了,實際應該往下再顯示一點
那么,我們該怎么解決這個問題呢?在這里我想到了兩種方法,第一種是在每個內容div上加一個隱藏的p元素,給p元素一個定高,再向上偏移,這種方法會導致頁面出現很多個多余的p元素,不推薦使用。
第二種是利用偽元素,偽元素可以占用實際的高度,這是推薦使用的方法
偽元素的樣式
通過給h3標簽添加偽元素樣式,可完美解決這個問題,效果圖如下
使用偽元素后的效果圖
總結
今天的內容你會了么?如果還沒有掌握的話,可以按照文章中的代碼,進行實踐,代碼總是要多敲才更容易理解。
如果喜歡的話,記得關注小編噢,小編后續會堅持出更多技術性的文章,如果有任何問題,也歡迎提問,小編都會盡力解答的。
友問:站長在線的站內文件夾跳轉的代碼是什么?
站長在線答:站內文件夾跳轉的代碼就是一個301跳轉代碼,此代碼放在自己自定義的文件夾內,直接宣傳自定義的地址,更加有品牌感,即宣傳了自己的品牌,也宣傳了業務對象,如:
阿里云優惠購買業務:olzz.com/aliyun
騰訊云優惠購買業務:olzz.com/txy
站長在線的頭條地址:olzz.com/toutiao
……
301跳轉代碼
以此類推,自己可以建立無數個二級目錄的推廣地址,自己的品牌域名和業務對象一起宣傳,這是站長可以利用的特殊權益。站長在線就告訴大家301跳轉代碼和操作方法:
1、新建一個txt文本文檔,把下面的代碼復制進去保存,然后重命名為index.html
<script>
function GetRandomNum(Min,Max){
var Range = Max - Min;
var Rand = Math.random();
return(Min + Math.round(Rand * Range));
}
var num = GetRandomNum(1,14808);
location.href = "鏈接地址";
</script> ")
2、在網頁空間里面新建一個文件夾如aliyun,然后把剛才制作的index.html上傳到這個文件夾里面即可。
PS:鏈接地址一定是http或者https開頭的地址哦!
好了,站內文件夾跳轉的代碼就已經告訴你了,趕快去實踐吧!歡迎來到站長在線官方頭條號【站長快遞】,學習更多的建站知識。
接上代碼
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,maximum-scale=1,user-scalable=no"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="renderer" content="webkit"/>
<meta http-equiv="refresh" content="0;url=static/ck600mgr/pages/index.html">
<title></title>
</head>
<body>
</body>
</html>
301是永久重定向,常用的場景是使用域名跳轉。
比如,我們訪問 http://www.zhihu.com 會跳轉到 https://www.zhihu.com,發送請求之后,就會返回301狀態碼,然后返回一個location,提示新的地址,瀏覽器就會拿著這個新的地址去訪問。
301.png
302是臨時重定向,用來做臨時跳轉。接著上面的例子,重定向到 https://www.zhihu.com 的請求又會通過302重定向到 https://www.zhihu.com/signup?next=%2F
302.png
不過,看上去301和302都是代表重定向的意思。那具體有啥區別呢?
http 1.0規范中有2個重定向——301和302,在http 1.1規范中存在4個重定向——301、302、303和307。
其中301在http 1.0以及http 1.1中都表示永久重定向,就不討論了。
那302呢?
在http1.0中,302的規范是這樣的:
原請求是post,則不能自動進行重定向;原請求是get,可以自動重定向。
但是瀏覽器和服務器的實現并沒有嚴格遵守HTTP中302的規范,服務器不加遵守的返回302,瀏覽器即便原請求是post也會自動重定向,導致規范和實現出現了二義性。
所以HTTP 1.1中將302的規范細化成了303和307
繼承了HTTP 1.0中302的實現(即原請求是post,也允許自動進行重定向,結果是無論原請求是get還是post,都可以自動進行重定向)。
307則繼承了HTTP 1.0中302的規范(即如果原請求是post,則不允許進行自動重定向,結果是post不重定向,get可以自動重定向)。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。