1. 程式人生 > >demo1---相冊

demo1---相冊

img posit splay ora absolut right {} order 資源

技術分享

 html代碼:
  創建基本框架結構   盡量使用div css代碼:   style樣式保存在css文件中,使用<link rel = "" href = "" >導入   滑動效果使用"hover"屬性 js代碼:   使用<script src="" ></script>導入   同時可以將圖片資源保存為data.js文件,在jQuery中使用$.each(arr, function(){})方法遍歷即可 jQuery代碼:   使用<script src="" ></script>導入   由於有多個相同的div,可以使用jQuery進行動態創建,優化代碼



具體問題:

一 div獨占一行的解決方法:
  1 通過display改變容器的顯示類型
      display:inline;//不能控制行高
      display:inblock-block;//可以控制行高,但是元素之間會有文本占位
      display:none;//此元素不存在
  2 通過float使元素浮動,脫離文檔流,達到自左向右或自右向左的效果
      float:none;//設置對象不浮動
      float:left;//設置對象浮在左邊
      float:right;//設置對象浮在右邊
   float在display為none時不生效
  
二 href和src的區別:
  link的href的鏈接是使用網絡資源
img的src是將資源保存到本地緩沖

三 <a>標簽
  <a>標簽擁有默認樣式,修改樣式必須在<a>標簽內部
  text-decoration:none;//去掉下劃線
  
四 圖片溢出容器處理
  1 設置圖片寬高
  2 在父容器中將溢出部分隱藏
    overflow:hidden;
  3 通過百分比設置為父容器的百分之幾
    width:100%;
    height:100%;//當通過百分比設置容器高時,父容器必須設置高度,否則百分比失效

五 img的特性
  設置寬或高時等比縮放

六 改變元素層級
  z-index:1;
  只能在position:absolute;有效
  只在層級元素中有用,數值越大,層級越高,層級從1開始,0為默認層級

七 通過position給元素定位
  
  position 不僅可以給元素定位,還可以改變元素參照物,向父輩容器中尋找一個帶有定位屬性的元素為參照點,如果沒有,以body為參照
  position:absolute;//絕對定位
  position:relative;//相對定位
    以元素在當前位置為標準,不影響正常文檔流
  position:fixed;//固定定位
    永遠以瀏覽器可視窗口區域為參照區域,定位元素不隨頁面的滾動而改變位置,保證定位元素永遠顯示在可視範圍內

八 使元素在另一個容器中絕對居中,可以通過絕對定位和magin:auto;的方式
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  margin:auto;

<!DCOTYPE html>

<html>
    <head>
        <meta charset="UTF-8">
        <title>demo1_相冊</title>
        
        <link rel="stylesheet" href="css/demo1.css" />
    </head>
    <body>
        <div class="mainbox">
            <div class="title">Hoverbox Image Gallery</div>
            <div class="hr"></div>
            <div class="footer"></div>
        </div>
        
        <script type="text/javascript" src="js/jquery-1.11.0.js" ></script>
        <script type="text/javascript" src="js/imgdata.js" ></script>
        <script type="text/javascript" src="js/demo1.js" ></script>
    </body>
</html>
.mainbox{
    width: 600px;
    height:400px;
    margin:0 auto;
    padding: 0px;
    border:1px solid #000000;
}
.title{
    text-align: center;
    height:40px;
    font-weight: bold;
    line-height:40px;
    color:#900;
}
.hr{
    border-top:1px dashed #000000;
}
.box{
    background: #ccc;
    width:114px;
    height:80px;
                
    /*取消div獨占一行*/
    float: left;
    
    margin-top: 5px;
    margin-left: 5px;
                
    border-color: #A9A9A9;
                
    position:relative;
}
.box img{
    /*處理圖片溢出*/
    width: 102px;
    height: 68px;
                
    margin:5px;
    padding: 1px;
                
    background-color: #A9A9A9;
    border:1px solid #FFF;
}
.box img:hover{
    width:140%;
    height:140%;

    position: absolute;
    top:-20px;
    left:-20px;
                
    /*修改img的層級*/
    z-index: 1;
}
$(function(){
    var $mainbox = $(".mainbox");
    var $imgmainbox = $("<div class=‘imgmainbox‘></div>");

    $.each(imgdata, function(i,o) {
        var $box = $("<div class=‘box‘><img src =‘"+ o.img +"‘/></div>");
        $imgmainbox.append($box);
    });

    $mainbox.append($imgmainbox);
})

var imgdata=[{
    name:"img1",
    img:"img/img1.jpg"
},{
    name:"img2",
    img:"img/img2.jpg"
},{
    name:"img3",
    img:"img/img3.jpg"
}]

demo1---相冊