zoukankan      html  css  js  c++  java
  • 瀑布流式布局

      1 <!doctype html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      2 <html xmlns="http://www.w3.org/1999/xhtml">
      3 <head>
      4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      5 <title>瀑布流式布局</title>
      6 <style type="text/css">
      7 #wrap{ margin:0; padding:0; width:800px; height:3000px; margin:0 auto; background:#C60; position:relative;}
      8 .item{ width:240px; height:auto; border-radius:5px; background:#FFC; position:absolute;}
      9 .item1{ height:300px;}
     10 .item2{ height:250px;}
     11 .item3{ height:350px;}
     12 </style>
     13 </head>
     14 <body>
     15 <div id="wrap">
     16      <div class="item item1">1</div>
     17      <div class="item item2">2</div>
     18     <div class="item item3">3</div>
     19     <div class="item item2">4</div>
     20     <div class="item item3">5</div>
     21     <div class="item item1">6</div>
     22     <div class="item item3">7</div>
     23     <div class="item item1">8</div>
     24     <div class="item item2">9</div>
     25     <div class="item item3">10</div>
     26     <div class="item item2">11</div>
     27     <div class="item item3">12</div>
     28     <div class="item item1">13</div>
     29     <div class="item item3">14</div>
     30     <div class="item item1">15</div>
     31     <div class="item item2">16</div>
     32 </div>
     33 <script type="text/javascript">
     34      document.getElementByClassName = function(className,tag)
     35          {
     36              var tag = tag?tag:"*";
     37              var allTags = document.getElementsByTagName(tag);
     38              var tagNums = allTags.length;
     39              var element = [];
     40              var i=0;
     41              for(n in allTags){
     42                  current = allTags.item(n);
     43                  if(current!=null){//如果当前元素的class不等于null
     44                      if(current.className==className)//找到类名为className的dom元素
     45                      {
     46                          element[i++]=current;
     47                      }
     48                  }
     49              }
     50              return element;
     51          }
     52      //该函数获取obj的CSS属性。    
     53      function GetCurrentStyle (obj, prop) {    
     54          if (obj.currentStyle) {       
     55              return obj.currentStyle[prop];    
     56          }     
     57          else if (window.getComputedStyle) {       
     58              propprop = prop.replace (/([A-Z])/g, "-$1");           
     59              propprop = prop.toLowerCase ();       
     60               return document.defaultView.getComputedStyle (obj,null)[prop];    
     61          }     
     62          return null;  
     63      }       
     64     
     65      var wrap= document.getElementById("wrap");
     66      var items= document.getElementsByClassName("item");
     67      var i,l,h1,h2,h3;
     68      h1=0;
     69      h2=0;
     70      h3=0;
     71      //i为最大列数,根据容器wrap的宽度和单项的宽度相比得出;
     72      i=Math.floor(parseInt(GetCurrentStyle(wrap,"width"))/parseInt(GetCurrentStyle(items[0],"width")));
     73      //l表示间距。容器宽度-单项宽度*项数=空白宽度,空白宽度/列数-1=每个空白宽度
     74      l=(parseInt(GetCurrentStyle(wrap,"width"))-parseInt(GetCurrentStyle(items[0],"width"))*i)/(i-1);
     75      for(var j=0;j<items.length;j++){
     76           //var h1,h2,h3;
     77           if(j<i){
     78                items[j].style.top="0px";
     79                items[j].style.left= j%i *(l+parseInt(GetCurrentStyle(items[0],"width")))+"px";
     80                  if(j%i ==0 ){
     81                       h1+=parseInt(GetCurrentStyle(items[j],"height"))+10;//J=0,H1=300
     82                       }
     83                  else if(j%i==1){
     84                       h2+=parseInt(GetCurrentStyle(items[j],"height"))+10;//J=1,H2=250
     85                       }
     86                  else if(j%i==2){
     87                       h3+=parseInt(GetCurrentStyle(items[j],"height"))+10;//J=2,H3=350
     88                       }
     89                }
     90           else {
     91                var minheight=Math.min(Math.min(h1,h2),h3);
     92                if( minheight == h1){
     93                     items[j].style.top = h1+"px";
     94                     items[j].style.left= "0px";
     95                     h1+=parseInt(GetCurrentStyle(items[j],"height"))+10;
     96                     }
     97                else if(minheight == h2){
     98                     items[j].style.top = h2+"px";
     99                     items[j].style.left=parseInt(GetCurrentStyle(items[0],"width"))+l+"px";
    100                     h2+=parseInt(GetCurrentStyle(items[j],"height"))+10;
    101                     }
    102                else if(minheight == h3){
    103                     items[j].style.top = h3+"px";
    104                     items[j].style.left= (parseInt(GetCurrentStyle(items[0],"width"))+l)*2+"px";
    105                     h3+=parseInt(GetCurrentStyle(items[j],"height"))+10;
    106                     }
    107                }
    108      }
    109 </script>
    110 </body>
    111 </html>
  • 相关阅读:
    js积累点
    org.hibernate.NonUniqueObjectException
    SSH框架下的表单重复提交
    ajax传输中文参数乱码,本地使用tomcat不乱码,liunx+weblogic乱码
    启动weblogic报错:string value '2.4' is not a valid enumeration value for web-app-versionType in namespace http://java.sun.com/xml/ns/javaee
    weblogic启动项目,设置内容、设置的数据源链接不生效
    myeclipse编译弹框:The builder launch configuration could not be found
    tomcat启动项目报错:The specified JRE installation does not exist
    Mac上的jdk
    前端
  • 原文地址:https://www.cnblogs.com/asqq/p/2426783.html
Copyright © 2011-2022 走看看