ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

关于nth-of-type选择相同标签不同类时产生的混乱现象

2021-05-22 11:36:12  阅读:194  来源: 互联网

标签:类时 width type 小盒子 nth banner 选择器


在学习nth-of-type这个伪类选择器时,会觉得这个选择器很强大,但是在使用的过程中遇到了一种现象,该现象导致该选择器无法实现预期目的,达到了与nth-child一样的效果.目前仍无很好的解决方法.
代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <style>
        main{
            /* 整体的宽度 */
            width: 340px;
        }
        /* 中间插入一个盒子,但是不同类名 */
        .banner{
            float: left;
            width: 340px;
            height: 200px;
            background-color: pink;
        }
        .test{
            float: left;
            width: 100px;
            height: 100px;
            background-color: plum;
            /* 每个小盒子都有一个右外边距 */
            margin-right: 20px;
            margin-bottom: 20px;
        }
        .test:nth-of-type(3n){
            /* 让每三个小盒子的右外边距为0,这样才能放得下 */
            margin-right: 0;
        }
    </style>
</head>
<body>
    <main>
        <div class="test"></div>
        <div class="test"></div>
        <div class="test"></div>

        <div class="banner"></div>

        <div class="test"></div>
        <div class="test"></div>
        <div class="test"></div>

        <div class="test"></div>
        <div class="test"></div>
        <div class="test"></div>

        <div class="test"></div>
        <div class="test"></div>
        <div class="test"></div>
    </main>
</body>
</html>

效果如下

可以看出来,类名为.banner的盒子居然参与到了nth-of-type的计数,不然不会出现banner下方的盒子从第二个开始就右外边距为0的现象.

目前最好的解决方法就是不让banner使用div标签,使用section标签也能达到预期目的.

效果如下

可以看出,小盒子准确的摆放在了我们想要的位置.

标签:类时,width,type,小盒子,nth,banner,选择器
来源: https://www.cnblogs.com/UmaruChan/p/14798377.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有