1. 程式人生 > >關於錨點和label的純css內容切換

關於錨點和label的純css內容切換

關於錨點的幾則

錨點跳轉就是根據url跳轉,做的一項定位

一般有兩種方法:
1. a標籤的name屬性
2. id

考慮每次使用a的name有點浪費標籤,所以建議使用id

程式碼塊

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>錨點</title>
    <style>
        .container{width: 850px;height: 880px;text-align
: center
;margin: 0 auto;}
.return{position: fixed;bottom: 50px;}
</style> </head> <body> <div class="container"> <img src="http://maopeijiong.site/src/img/grimm.jpg" alt="格林獵人圖片一張" id="re"></img> </div> <a href="#re"><p class="return">返回至圖片</p
>
</a> </body> </html>

檢視效果

一些想法

注意到點選返回後的url變成了
點選後的位址列

url裡多了一個hash,是這麼叫的吧(反正chrome裡是location.hash這麼叫的)。所以這錨點跳轉可以看到一個連結跳轉,和點選滾動事件(jquery 的offset().top)還是有本質區別的,不過jquery跳轉平緩很多,錨點跳轉感官上不咋地。

純css實現的切換

錨點跳轉也算是css跳轉,突然想到用label的屬性實現的內容切換,就一併複習下。

程式碼塊

<!DOCTYPE html>
<html lang="en"> <head> <meta charset="UTF-8"> <title>label切換內容</title> <style> .container{width: 800px;height: 250px;margin: 0 auto;position: relative;} .tab{width: 25%;float: left;margin-right: -1px;box-sizing: border-box;} .tab .testTabLabel{text-align: center;display: block;background: #e2e2e2;height: 24px;padding: 5px 0;border: 1px solid #ccc;} .tab .test-radio, .tab .testTabCon{position: absolute;left: -999em;} .test-radio:checked ~ .testTabLabel{border-bottom: 1px solid #fff;background: #fff;position: relative;z-index: 1;} .test-radio:checked ~ .testTabCon{left: 0;border: 1px solid #ccc;border-top: 0;width: 763px;padding: 2em 1em;} </style> </head> <body> <div class="container"> <div class="tab"> <input type="radio" id="testTabOne" class="test-radio" name="tab" checked="checked"/> <label class="testTabLabel" for="testTabOne">選項1</label> <div class="testTabCon"> <p>第一張選項卡的內容</p> </div> </div> <div class="tab"> <input type="radio" id="testTabTwo" class="test-radio" name="tab"/> <label class="testTabLabel" for="testTabTwo">選項1</label> <div class="testTabCon"> <p>第二張選項卡的內容</p> </div> </div> <div class="tab"> <input type="radio" id="testTabThree" class="test-radio" name="tab"/> <label class="testTabLabel" for="testTabThree">選項1</label> <div class="testTabCon"> <p>第三張選項卡的內容</p> </div> </div> <div class="tab"> <input type="radio" id="testTabFour" class="test-radio" name="tab"/> <label class="testTabLabel" for="testTabFour">選項1</label> <div class="testTabCon"> <p>第四張選項卡的內容</p> </div> </div> </div> </body> </html>

檢視效果