21 九宫格布局
九宫格布局
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>九宫格布局</title> 6 <style type="text/css"> 7 *{ 8 padding:0; 9 margin:0; 10 } 11 #wrap{ 12 overflow: hidden; 13 } 14 .item{ 15 width: 248px; 16 height: 360px; 17 font-size: 13px; 18 } 19 #wrap .item .title{ 20 width: 248px; 21 height: 30px; 22 line-height: 30px; 23 overflow: hidden; 24 margin-bottom: 10px; 25 } 26 .imgContainer{ 27 width: 248px; 28 display: table-cell; 29 text-align: center; 30 } 31 #wrap .item .price{ 32 color:#ff6700; 33 font-size: 18px; 34 font-weight: bold; 35 } 36 </style> 37 </head> 38 <body> 39 <div id="cols"> 40 <button>3列</button> 41 <button>4列</button> 42 <button>5列</button> 43 </div> 44 <div id="wrap"> 45 <div class="item"> 46 <div class="imgContainer"> 47 <img src="images/taobao_1.jpg" alt=""> 48 </div> 49 <p class="title">纯色短袖女春季秋t恤韩版国新款服装2019潮</p> 50 <p class="price">¥69</p> 51 </div> 52 <div class="item"> 53 <div class="imgContainer"> 54 <img src="images/taobao_2.jpg" alt=""> 55 </div> 56 <p class="title">百搭开春装女胖mm夏季显瘦2019新款大码韩版</p> 57 <p class="price">¥69</p> 58 </div> 59 <div class="item"> 60 <div class="imgContainer"> 61 <img src="images/taobao_3.jpg" alt=""> 62 </div> 63 <p class="title">婚纱2019新款欧美韩式孕妇婚纱高腰韩版</p> 64 <p class="price">¥69</p> 65 </div> 66 <div class="item"> 67 <div class="imgContainer"> 68 <img src="images/taobao_4.jpg" alt=""> 69 </div> 70 <p class="title">点上衣很仙的女装夏2019新款洋气打底衫</p> 71 <p class="price">¥90</p> 72 </div> 73 <div class="item"> 74 <div class="imgContainer"> 75 <img src="images/taobao_5.jpg" alt=""> 76 </div> 77 <p class="title">大码女装胖MM文艺时尚格子圆点显瘦连衣裙</p> 78 <p class="price">¥78</p> 79 </div> 80 <div class="item"> 81 <div class="imgContainer"> 82 <img src="images/taobao_6.jpg" alt=""> 83 </div> 84 <p class="title">2019夏季新款女装韩版修身显瘦V领无袖</p> 85 <p class="price">¥89</p> 86 </div> 87 <div class="item"> 88 <div class="imgContainer"> 89 <img src="images/taobao_7.jpg" alt=""> 90 </div> 91 <p class="title">春季短款小外套女2019春装春秋新款韩</p> 92 <p class="price">¥100</p> 93 </div> 94 <div class="item"> 95 <div class="imgContainer"> 96 <img src="images/taobao_8.jpg" alt=""> 97 </div> 98 <p class="title">大码女装中长款针织衫春装胖mm显瘦</p> 99 <p class="price">¥120</p> 100 </div> 101 <div class="item"> 102 <div class="imgContainer"> 103 <img src="images/taobao_9.jpg" alt=""> 104 </div> 105 <p class="title">春款韩版2019新款女装时尚初春两件套</p> 106 <p class="price">¥107</p> 107 </div> 108 <div class="item"> 109 <div class="imgContainer"> 110 <img src="images/taobao_10.jpg" alt=""> 111 </div> 112 <p class="title">牛仔外套女短款2019春装新款女装韩版</p> 113 <p class="price">¥69</p> 114 </div> 115 <div class="item"> 116 <div class="imgContainer"> 117 <img src="images/taobao_11.jpg" alt=""> 118 </div> 119 <p class="title">2019夏季新款女装裙子纯色流苏a字裙</p> 120 <p class="price">¥56</p> 121 </div> 122 <div class="item"> 123 <div class="imgContainer"> 124 <img src="images/taobao_12.jpg" alt=""> 125 </div> 126 <p class="title">女装休闲短袖韩版宽松2019新款春夏季</p> 127 <p class="price">¥76</p> 128 </div> 129 <div class="item"> 130 <div class="imgContainer"> 131 <img src="images/taobao_13.jpg" alt=""> 132 </div> 133 <p class="title">棉上衣女装秋季新款2019早春休闲时尚</p> 134 <p class="price">¥45</p> 135 </div> 136 </div> 137 </body> 138 <script type="text/javascript"> 139 function $(id) { 140 return typeof id === 'string' ? document.getElementById(id) : null 141 } 142 window.onload = function () { 143 var btns = document.getElementsByTagName('button'); 144 var items = document.getElementsByClassName('item'); 145 btns[0].onclick = function () { 146 buju(3) 147 }; 148 btns[1].onclick = function () { 149 buju(4) 150 }; 151 btns[2].onclick = function () { 152 buju(5) 153 }; 154 155 function buju(num) { 156 for (var i = 0; i < items.length; i++) { 157 items[i].style.float = 'left'; 158 items[i].parentNode.style.width = items[i].offsetWidth * num + 'px'; 159 } 160 } 161 } 162 </script> 163 </html>
九宫格布局plus
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>九宫格布局plus</title> 6 <style type="text/css"> 7 *{ 8 padding: 0; 9 margin: 0; 10 } 11 #wrap{ 12 position: relative; 13 } 14 #wrap .item{ 15 width: 248px; 16 height: 360px; 17 font-size: 13px; 18 } 19 #wrap .item .title{ 20 width: 248px; 21 height: 30px; 22 line-height: 30px; 23 overflow: hidden; 24 margin-bottom: 10px; 25 } 26 .imgContainer{ 27 width: 248px; 28 display: table-cell; 29 text-align: center; 30 } 31 #wrap .item .price{ 32 color:#ff6700; 33 font-size: 18px; 34 font-weight: bold; 35 } 36 37 38 </style> 39 </head> 40 <body> 41 <div class="cols"> 42 <button>3列</button> 43 <button>4列</button> 44 <button>5列</button> 45 </div> 46 <div id="wrap"> 47 <div class="item"> 48 <div class="imgContainer"> 49 <img src="images/taobao_1.jpg" alt=""> 50 </div> 51 <p class="title">纯色短袖女春季秋t恤韩版国新款服装2019潮</p> 52 <p class="price">¥69</p> 53 </div> 54 <div class="item"> 55 <div class="imgContainer"> 56 <img src="images/taobao_2.jpg" alt=""> 57 </div> 58 <p class="title">百搭开春装女胖mm夏季显瘦2019新款大码韩版</p> 59 <p class="price">¥69</p> 60 </div> 61 <div class="item"> 62 <div class="imgContainer"> 63 <img src="images/taobao_3.jpg" alt=""> 64 </div> 65 <p class="title">婚纱2019新款欧美韩式孕妇婚纱高腰韩版</p> 66 <p class="price">¥69</p> 67 </div> 68 <div class="item"> 69 <div class="imgContainer"> 70 <img src="images/taobao_4.jpg" alt=""> 71 </div> 72 <p class="title">点上衣很仙的女装夏2019新款洋气打底衫</p> 73 <p class="price">¥90</p> 74 </div> 75 <div class="item"> 76 <div class="imgContainer"> 77 <img src="images/taobao_5.jpg" alt=""> 78 </div> 79 <p class="title">大码女装胖MM文艺时尚格子圆点显瘦连衣裙</p> 80 <p class="price">¥78</p> 81 </div> 82 <div class="item"> 83 <div class="imgContainer"> 84 <img src="images/taobao_6.jpg" alt=""> 85 </div> 86 <p class="title">2019夏季新款女装韩版修身显瘦V领无袖</p> 87 <p class="price">¥89</p> 88 </div> 89 <div class="item"> 90 <div class="imgContainer"> 91 <img src="images/taobao_7.jpg" alt=""> 92 </div> 93 <p class="title">春季短款小外套女2019春装春秋新款韩</p> 94 <p class="price">¥100</p> 95 </div> 96 <div class="item"> 97 <div class="imgContainer"> 98 <img src="images/taobao_8.jpg" alt=""> 99 </div> 100 <p class="title">大码女装中长款针织衫春装胖mm显瘦</p> 101 <p class="price">¥120</p> 102 </div> 103 <div class="item"> 104 <div class="imgContainer"> 105 <img src="images/taobao_9.jpg" alt=""> 106 </div> 107 <p class="title">春款韩版2019新款女装时尚初春两件套</p> 108 <p class="price">¥107</p> 109 </div> 110 <div class="item"> 111 <div class="imgContainer"> 112 <img src="images/taobao_10.jpg" alt=""> 113 </div> 114 <p class="title">牛仔外套女短款2019春装新款女装韩版</p> 115 <p class="price">¥69</p> 116 </div> 117 <div class="item"> 118 <div class="imgContainer"> 119 <img src="images/taobao_11.jpg" alt=""> 120 </div> 121 <p class="title">2019夏季新款女装裙子纯色流苏a字裙</p> 122 <p class="price">¥56</p> 123 </div> 124 <div class="item"> 125 <div class="imgContainer"> 126 <img src="images/taobao_12.jpg" alt=""> 127 </div> 128 <p class="title">女装休闲短袖韩版宽松2019新款春夏季</p> 129 <p class="price">¥76</p> 130 </div> 131 <div class="item"> 132 <div class="imgContainer"> 133 <img src="images/taobao_13.jpg" alt=""> 134 </div> 135 <p class="title">棉上衣女装秋季新款2019早春休闲时尚</p> 136 <p class="price">¥45</p> 137 </div> 138 </div> 139 <script type="text/javascript"> 140 // 1.获取标签 141 var btns = document.getElementsByTagName('button'); 142 var items = document.getElementsByClassName('item'); 143 144 // 2.监听按钮的点击 145 btns[0].onclick = function(){ 146 147 // 3.循环 148 mjj_flex(3); 149 } 150 btns[1].onclick = function(){ 151 152 mjj_flex(4) 153 154 } 155 btns[2].onclick = function(){ 156 157 mjj_flex(5); 158 } 159 160 function mjj_flex(colsNum){ 161 // 第0行第0列 top: row * h left: col* w 162 // 第0行第1列 top: 0 * h left: 1* w 163 // 第0行第2列 top: 0 * h left: 2* w 164 // 第1行第0列 top: 1 * h left: 0 * w 165 // 第1行第1列 top: 1 * h left: 1 * w 166 // 第1行第2列 top: 1 * h left: 2* w 167 // 第2行第0列 top: 2 * h left: 0* w 168 // 第2行第1列 top: 2 * h left: 0* w 169 // 第2行第2列 top: 2 * h left: 0* w 170 for(var i = 0; i < items.length; i++){ 171 // 求每个盒子占得行数和列数 10 3行 1列 172 // 11 3行 2列 173 var row = parseInt(i / colsNum); 174 var col = parseInt(i % colsNum); 175 // 设置盒子定位 176 items[i].style.position = 'absolute'; 177 items[i].style.top = (row * items[i].offsetHeight) + 'px'; 178 items[i].style.left = (col * items[i].offsetWidth) + 'px'; 179 } 180 181 182 } 183 184 </script> 185 186 </body> 187 </html>
夕闻道不如朝闻道