javascript - 如何根据出现顺序更改多个图像的百分比宽度?

标签 javascript jquery css

假设页面上有三张 9* 图片:

<img src="...">
<img src="...">
<img src="...">
<img src="...">
<img src="...">
<img src="...">
<img src="...">
<img src="...">
<img src="...">

*举个例子,不会总是有 9 张图片——可能是 5 或 6 张等

我将如何使图像的百分比宽度对应于此顺序:

第一张图片:宽度:100%;

第二张图片:宽度:70%;

第三张图片:宽度:30%;

重复


类似于这里所做的:

总的来说,对于页面上的每张图片,宽度必须是:

第一张图片100%,
第二张图片 70%,
第三张图片 30%,
对所有其他图像按此顺序重复,例如:
第四张图片 100%,
第五张图片70%,
第六张图片 30%,

我相信需要使用脚本,尽管我不确定如何使用

基本实现:

    <!DOCTYPE html>
    <html>
    <head>
    <style>
    img:nth-of-type(3n+0) { width: 100%; }
    img:nth-of-type(3n+1) { width: 70%; }
    img:nth-of-type(3n+2) { width: 30%; }

    </style>
    </head>
    <body>

<div class="page">

    <div class="i">
    <img src="http://e794d552b4c822b8205c-27b9cc3fb8731a4a7598943b8a8a6a91.r73.cf1.rackcdn.com/1/1/large.jpg">
    </div>
    <div class="i">
    <img src="http://e794d552b4c822b8205c-27b9cc3fb8731a4a7598943b8a8a6a91.r73.cf1.rackcdn.com/1/1/large.jpg">
    </div>
    <div class="i">
    <img src="http://e794d552b4c822b8205c-27b9cc3fb8731a4a7598943b8a8a6a91.r73.cf1.rackcdn.com/1/1/large.jpg">
    </div>

</div>
    </body>
    </html>

最佳答案

一些花哨的 CSS3 选择器应该可以做到这一点:

img:nth-of-type(3n+0) { width: 100%; }
img:nth-of-type(3n+1) { width: 70%; }
img:nth-of-type(3n+2) { width: 30%; }

参见 the documentation for nth-of-type on MDN .

请注意,这在 IE8 或更早版本中不起作用,您可能需要使用 JavaScript 解决方案。

关于javascript - 如何根据出现顺序更改多个图像的百分比宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29503025/

相关文章:

javascript - 如何像c# float一样解析javascript中的float?

javascript - Node Webkit 使用哪个 nodeJS 版本?

jquery - 不要在 child 身上触发悬停事件

jquery - 创建类似 Google 网页的按钮和文本框

css - 删除内联元素之间的填充

javascript - 如何从剑道网格中删除一行

javascript - 如何使用已部署的 meteor 应用程序运行 mongo shell 脚本?

jquery - 如何对包含数字内容的 <li> 列表进行排序(排序)?

html - 无法将 margin 应用于 div

jquery - 更改 jQuery Mobile 页脚按钮的高度