正在递增列表项的高度
Escalating height of list items
我正在使用列表项进行缩放,我希望每个项的高度都比前一个大。
除了在每个类中添加一个类之外,我无法找到一种方法。我制作了一把小提琴来展示我想要的结果:https://jsfiddle.net/bLj6eLe7/
下面的代码实际上就是我想要的结果。最好使用css,但如果需要,很乐意使用JS。
<ul>
<li style="height: 10px;">1</li>
<li style="height: 20px;">2</li>
<li style="height: 30px;">3</li>
<li style="height: 40px;">4</li>
<li style="height: 50px;">5</li>
<li style="height: 60px;">6</li>
<li style="height: 70px;">7</li>
<li style="height: 80px;">8</li>
</ul>
使用Jquery,我可以完成
$(function(){
$('ul li').each(function(i,v){
$(this).css('height',(i * 10) +10);
});
});
li {
background: blue;
list-style-type: none;
color: white;
margin-bottom: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
</ul>
您可以使用以下jquery代码:
https://jsfiddle.net/bLj6eLe7/1/
var init = 1;
var sum = 10;
$('ul li').each(function() {
var newHeight = init * sum;
$(this).height(newHeight+"px");
init++;
});
你知道你的列表会有多长吗?所以是的。。
为什么不这样做呢?
li:nth-of-type(2) {
height:20px;
}
等等。,等等
这里有一种纯javascript的方法(不需要jQuery)。首先,将id myList
添加到<ul>
,并在页面末尾或onLoad
事件上添加以下脚本:
var step = 10;
var list = document.getElementById('myList');
var items = list.children;
for(var i = 0; i < items.length; i++) {
var height = step * (i + 1);
items[i].style.height = height + 'px';
}
这是一把小提琴在演奏:https://jsfiddle.net/bLj6eLe7/3/
您可以创建一个SASS循环来生成CSS规则,完全动态:
@for $i from 1 through 10 {
.scale li:nth-child(#{$i}) {
height: $i * 10px;
}
}
输出如下所示:
.scale li {
background: blue;
list-style-type: none;
color: white;
margin-bottom: 10px;
}
.scale li:nth-child(1) {
height: 10px;
}
.scale li:nth-child(2) {
height: 20px;
}
.scale li:nth-child(3) {
height: 30px;
}
.scale li:nth-child(4) {
height: 40px;
}
.scale li:nth-child(5) {
height: 50px;
}
.scale li:nth-child(6) {
height: 60px;
}
.scale li:nth-child(7) {
height: 70px;
}
.scale li:nth-child(8) {
height: 80px;
}
.scale li:nth-child(9) {
height: 90px;
}
.scale li:nth-child(10) {
height: 100px;
}
<ul class="scale">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
</ul>
jsFiddle演示:https://jsfiddle.net/azizn/9b66rvhw/4/
您可以使用简单的JQuery脚本来实现这一点:这是代码:
(function scale(){
var height = 10;
$.each($("#scale").children(), function(item){
$(this).css("height", height);
height+=10;
});
}());
和JSFiddle
相关文章:
- 列表项的高度可变
- 如何更改引导程序多选下拉列表的高度和字体大小
- 正在递增列表项的高度
- 将单元格的高度从一个表列表指定到另一个列表
- CSS 多列列表,其中包含不同高度的列表项
- 将鼠标悬停在具有固定高度的无序列表上时平滑滚动
- jquery移动动态列表视图单元格高度
- 如何在类上设置实时事件列表器,以自动调整其高度并调整其内容的大小
- Html5数据集列表高度
- 自动居中列表项目/图像100%页面高度
- 下拉列表预设闭合高度打破动态高度变量
- 样式下拉列表:获取兄弟元素的高度并求和
- 在IE7中增加列表框的高度
- 如何测量反应虚拟化列表中的行高度
- 动态增加离子列表项目的高度嵌入文本区域内容的高度
- 如何使列表项具有均匀大小的高度
- 使动态生成的列表项的高度为设置的父项高度的%
- 我应该得到什么高度()才能使列表填满屏幕
- 离子列表固定高度手风琴
- 自动高度虚拟列表为移动显示大列表