1. 程式人生 > >CSS中的id選擇器和類選擇器的用法

CSS中的id選擇器和類選擇器的用法

這幾天正在學習html+css+js
下面是今天學習的一個小例項,但是不是很瞭解這幾種語言,所以在選擇器上出現了一些錯誤。
以下是記錄

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>實踐題 - 選項卡</title>
    <style type="text/css">
     /* CSS樣式製作 */  

     *{margin:0;padding:0;font:normal 12px "微軟雅黑"
;color:#000000;}
ul{list-style-type: none;}/*不要li前面的。*/ a{text-decoration: none;}/*不要超連結下面的橫線*/ #tab-list{width: 275px;height:190px;margin: 20px auto;} #ul1{border-bottom: 2px solid #8B4513;height: 32px;} #ul1 li{display: inline-block;width: 60px;line-height: 30px;text-align: center;border
: 1px solid #999
;border-bottom: none;margin-left: 5px;}
#ul1 li:hover{cursor: pointer;}/*手標變成手*/ #ul1 li.active{border-top:2px solid #8B4513;border-bottom:2px solid #FFFFFF;} #tab-list div{border: 1px solid #7396B8;border-top: none;}/*設定每個DIV的邊框*/ #tab-list div li{height: 30px;line-height
: 30px
;text-indent: 8px;}
/*設定每個DIV裡每個li元素*/ .show{display: block;} .hide{display: none;}
</style> <script type="text/javascript"> window.onload = function() { var oUl1 = document.getElementById("ul1"); var aLi = oUl1.getElementsByTagName("li"); var oDiv = document.getElementById("tab-list"); var aDiv = oDiv.getElementsByTagName("div"); for(var i = 0; i < aLi.length; i++) { aLi[i].index = i; aLi[i].onmouseover = function() { for(var i = 0; i < aLi.length; i++) { aLi[i].className = ""; } this.className = "active"; for(var j = 0; j < aDiv.length; j++) { aDiv[j].className = "hide"; } aDiv[this.index].className = "show"; } } } </script> </head> <body> <!-- HTML頁面佈局 --> <div id="tab-list"> <ul id="ul1"> <li class="active">房產</li><li>家居</li><li>二手房</li> </ul> <div> <ul> <li><a href="javascript:;">275萬購昌平鄰鐵三居 總價20萬買一居</a></li> <li><a href="javascript:;">200萬內購五環三居 140萬安家東三環</a></li> <li><a href="javascript:;">北京首現零首付樓盤 53萬購東5環50平</a></li> <li><a href="javascript:;">京樓盤直降5000 中信府 公園樓王現房</a></li> </ul> </div> <div class="hide"> <ul> <li><a href="javascript:;">40平出租屋大改造 美少女的混搭小窩</a></li> <li><a href="javascript:;">經典清新簡歐愛家 90平老房煥發新生</a></li> <li><a href="javascript:;">新中式的酷色溫情 66平撞色活潑家居</a></li> <li><a href="javascript:;">瓷磚就像選好老婆 衛生間煙道的設計</a></li> </ul> </div> <div class="hide"> <ul> <li><a href="javascript:;">通州豪華3居260萬 二環稀缺2居250w甩</a></li> <li><a href="javascript:;">西3環通透2居290萬 130萬2居限量搶購</a></li> <li><a href="javascript:;">黃城根小學學區僅260萬 121平70萬拋!</a></li> <li><a href="javascript:;">獨家別墅280萬 蘇州橋2居優惠價248萬</a></li> </ul> </div> </div> </body> </html>

以上是關於選擇片切換的小例項程式碼
這裡寫圖片描述

但是當我自己敲程式碼的時候,把<div id="tab-list>寫成<div class="tab-list>時 頁面一直都不會動,程式碼如下

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>實踐題 - 選項卡</title>
    <style type="text/css">
     /* CSS樣式製作 */ 
     *{
         margin:0;
         padding:0;
         font:normal 12px "微軟雅黑";
         color:#000000;

     }
      ul{
          list-style-type: none;

      }
     .tab-list{
        width:275px;
        height:190px;
        margin: 20px auto;
     }
    #ul1 li:hover{
        cursor: pointer;

    }
     #ul1
     {
        border-bottom: 2px solid #8B4513;
        height: 32px;

     }/*設定三個標題*/
    #ul1 li{
        display: inline-block;
        width: 60px;
        line-height: 30px;
        text-align: center;
        border: 1px solid #999;
        border-bottom: none;
        margin-left: 5px;

    }  
   .tab-list div{
        border: 1px solid #7396B8;
        border-top: none;

    }
    .tab-list div li{
        height: 30px;
        line-height: 30px;
        text-indent: 8px;

    }
    #ul1 li.active{border-top:2px solid #8B4513;border-bottom:2px solid #FFFFFF;}
    .show{display: block;}
     .page2{display: none;}
    </style>
    <script type="text/javascript">

    // JS實現選項卡切換
   window.onload = function() {
        var oUl1 = document.getElementById("ul1");
        var aLi = oUl1.getElementsByTagName("li");
        var oDiv = document.getElementById("tab-list");
        var aDiv = oDiv.getElementsByTagName("div");
        for(var i = 0; i < aLi.length; i++) {
            aLi[i].index = i;
            aLi[i].onmouseover = function() {
                for(var i = 0; i < aLi.length; i++) {
                    aLi[i].className = "";
                }
                this.className = "active";
                for(var j = 0; j < aDiv.length; j++) {
                    aDiv[j].className = "page2";
                }
                aDiv[this.index].className = "show";
            }        
        }
    }


    </script>

</head>
<body>
<!-- HTML頁面佈局 -->
<div class="tab-list">
<ul id="ul1">
        <li class="active">房產</li><li>家居</li><li>二手房</li>
    </ul>
   <div class="page1">
        <ul>
           <li> 275萬購昌平鄰鐵三居 總價20萬買一居</li>
           <li> 200萬內購五環三居 140萬安家東三環</li>
           <li> 北京首現零首付樓盤 53萬購東5環50平</li>
           <li> 京樓盤直降5000 中信府 公園樓王現房</li>
         </ul>
    </div>
    <div class="page2">
        <ul>
            <li> 40平出租屋大改造 美少女的混搭小窩</li>
            <li> 經典清新簡歐愛家 90平老房煥發新生</li>
            <li> 新中式的酷色溫情 66平撞色活潑家居</li>
            <li> 瓷磚就像選好老婆 衛生間煙道的設計</li>
        </ul>
    </div>
    <div class="page2">
        <ul>
            <li> 通州豪華3居260萬 二環稀缺2居250w甩</li>
            <li> 西3環通透2居290萬 130萬2居限量搶購</li>
            <li> 黃城根小學學區僅260萬 121平70萬拋!</li>
            <li> 獨家別墅280萬 蘇州橋2居優惠價248萬</li>
        </ul>
    </div>


</div>


</body>
</html>

關於選擇器
W3C標準這樣規定的,
一、在同一個頁面內,不允許有相同名字的id物件出現,
但是允許相同名字的class.X (類選擇器)
二、當頁面中用到js或者要動態呼叫物件的時候,要用到id選擇器#X (ID選擇器)!

學習學習,學生黨要多學習~~