我想减少列表中数字增加的每个元素的字体大小:
<ul>
<li>Number 1</li>
<li>Number 2</li>
<li>Number 3</li>
</ul>
应该导致类似
的内容
其中第一个元素的字体大小为25px,第二个元素的字体大小为20px,第三个元素的大小为15像素,依此类推。
有没有办法只使用CSS?
答案 0 :(得分:5)
您可以通过在样式表中添加以下CSS来实现此效果:
li:nth-child(1) {
font-size: 25px;
}
li:nth-child(2) {
font-size: 20px;
}
li:nth-child(3) {
font-size: 15px;
}
li:nth-child(4) {
font-size: 10px;
}
li:nth-child(4) {
font-size: 5px;
}
据我所知,在纯CSS中没有自动执行此操作的方法。您需要使用JavaScript(或jQuery等JavaScript库)。
但是,正如上面的代码示例所示,第五个LI
元素将是font-size
值为零(这将呈现为不可见),之后的任何元素将具有负数价值(无效)。
答案 1 :(得分:2)
您不需要为此解决方案使用Javascript,您可以完全使用CSS。
<强> CSS 强>
NUTS_shape = readOGR(dsn = (dsn = "~/NUTS_2013_20M_SH/data", layer = "NUTS_RG_20M_2013")
虽然这并没有深入,但你提到最大值是4,所以这应该是一个很好的解决方案。
如果你需要无限深入,我建议使用JS解决方案,尽管需要的时间很少而且很远。
答案 2 :(得分:0)
以下是使用JQuery的示例,请参阅示例https://jsfiddle.net/kvb5hb6f/3/
这是设置li
字体大小从25开始并且确定为-5然后当大小达到5时它不会变小。
<ul id="numbers">
<li>Number 1</li>
<li>Number 2</li>
<li>Number 3</li>
<li>Number 4</li>
<li>Number 5</li>
<li>Number 6</li>
<li>Number 7</li>
<li>Number 8</li>
<li>Number 9</li>
</ul>
<script>
var listItems = $("#numbers li");
var fontHeight = 25;
listItems.each(function(idx, li) {
var product = $(li);
if (fontHeight >= 5) {
$(product).css("fontSize", fontHeight + "px");
fontHeight = fontHeight - 5;
} else {
fontHeight = 5;
$(product).css("fontSize", fontHeight + "px");
}
});
</script>
答案 3 :(得分:0)
可以使用类来更改大小,为每个li元素添加一个类,然后可以创建CSS以相应地更改大小。
let fullName = card.get('fn').valueOf();
答案 4 :(得分:0)
您可以使用css中的nth-child:
`<ul class='ultag'>
<li>Number 1</li>
<li>Number 2</li>
<li>Number 3</li>
</ul>
<style>
.ultag li:nth-child(1) { font-size: 25px; }
.ultag li:nth-child(2) { font-size: 20px; }
.ultag li:nth-child(3) { font-size: 15px; }
.ultag li:nth-child(4) { font-size: 10px; }
</style>
`