CSS中如何给图片标签设置不同的样式

插入多张图片的时候图片的标签都是<img>,这样的话如果要设置每张图片有不同的边框的时候就无法设置了,设置出来都是相同的,应该如何设置可以是每一张图片都能分开设置呢?

可以有多种方法实现的。比如可以给每个img设置不同的ID:

<img id=p1 src="1.jpg"/><img id=p2 src="2.jpg"/><img id=p3 src="3.jpg"/>
<style>
#p1 {border:1px solid #f00}
#p2 {border:1px solid #0f0}
#p3 {border:1px solid #00f}
</style>

或者是不同的class:

<img class=p1 src="1.jpg"/><img class=p2 src="2.jpg"/><img class=p3 src="3.jpg"/>
<style>
.p1 {border:1px solid #f00}
.p2 {border:1px solid #0f0}
.p3 {border:1px solid #00f}
</style>

还有一种更灵活的方式,但需要浏览器支持css3:

<img src="1.jpg"/><img src="2.jpg"/><img src="3.jpg"/>
<style>
img:nth-of-type(1) {border:1px solid #f00}
img:nth-of-type(2) {border:1px solid #0f0}
img:nth-of-type(3) {border:1px solid #00f}
</style>

这种方法还有多种灵活的处理方式,比如:

img:nth-of-type(odd) 会选择所有单数的图片(第1张、第3张、第5张……)

img:nth-of-type(even) 会选择所有双数的图片(第2张、第4张、第6张……)

img:nth-of-type(2n) 也是选择双数

img:nth-of-type(2n+1) 也是选择单数

img:nth-of-type(3n+1) 从第1张算起每3张取出1张图片(第1张、第4张、第7张……)

img:nth-of-type(5n+3) 从第3张算起每5张取出1张图片(第3张、第8张、第13张……)


除了这个,css还有几十种不同的选择器,你百度搜一下 css选择器 就知道了。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答