本帖最后由 细雨清风琴 于 2020-2-15 15:53 编辑
[HTML] 纯文本查看 复制代码 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0;
padding: 0;
list-style: none;
}
.lul li{
height: 90px;
width: 50px;
}
</style>
</head>
<body>
<button>3</button>
<button>4</button>
<button>5</button>
<div>
<ul class="lul" style="position: relative">
<li style="background: red"></li>
<li style="background: forestgreen"></li>
<li style="background: yellow"></li>
<li style="background: paleturquoise"></li>
<li style="background: blue"></li>
<li style="background: wheat"></li>
<li style="background: darkturquoise"></li>
<li style="background: rebeccapurple"></li>
<li style="background: orange"></li>
<li style="background: salmon"></li>
</ul>
</div>
<script>
var lli = document.getElementsByClassName('lul')[0].children;
console.log(lli);
var bu3 = document.getElementsByTagName('button')[0];
var bu4 = document.getElementsByTagName('button')[1];
var bu5 = document.getElementsByTagName('button')[2];
bu3.onclick = function () {
jiu(3);
};
bu4.onclick = function () {
jiu(4);
};
bu5.onclick = function () {
jiu(5);
};
function jiu(row) {
//记录格子宽高,传递进来的是每行放几个li
var height = 90,width = 50;
for(var x = 0;x<lli.length;x++){
//记录行与列
var hang,lie;
hang = parseInt(x/row);
lie = x%row;
console.log('第'+x+"个在第"+hang+"行"+lie+"列");
//问题在这,每一个元素都要执行一遍这个赋值,是否可以直接在样式表中添加
/*.lul li{
height: 90px;
width: 50px;
position: absolute;
}
如上
*/
lli[x].style.position='absolute';
lli[x].style.left = lie * width + 'px';
lli[x].style.top = hang * height +'px';
}
}
</script>
</body>
</html>
是否有方法直接在css样式中的
[HTML] 纯文本查看 复制代码 <style>
*{
margin: 0;
padding: 0;
list-style: none;
}
.lul li{
height: 90px;
width: 50px;
}
</style>
中添加
|