花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 145|回复: 62

由点组成的圆盘

[复制链接]
  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

    发表于 2023-4-8 17:47 | 显示全部楼层 |阅读模式

    请马上登录,朋友们都在花潮里等着你哦:)

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    先看效果:



    然后我将在后续的回复中逐一讲解——

    评分

    参与人数 2威望 +100 金钱 +200 经验 +100 收起 理由
    红影 + 50 + 100 + 50 赞一个!
    小辣椒 + 50 + 100 + 50 赞一个!

    查看全部评分

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-4-8 17:47 | 显示全部楼层
    本帖最后由 马黑黑 于 2023-4-8 21:23 编辑

    先说一下HTML结构

    <div id="wrap">
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
    </div>

    这是一个 div 父元素 wrap 带十个 span 子元素的简单结构。在实际实现一楼的效果中,我并没有这么写HTML代码,而是这样写:

        <div id="wrap"></div>

    没有 span 元素。为什么?因为,这些 span 元素涉及到诸多的算法,如果全用 CSS+HTML 写出来代码会有些繁琐,可以使用JS来高效实现。不过结构如此,理解了结构有助于对后续实现原理的理解。下面就说说——

    实现原理

    父元素 wrap 起到包裹和约束子元素的作用,#wrap 选择器将定义为 grip 布局并设置其子元素绝对居中(即横向纵向两个方向都居中),仅此而已。

    10 个 span 子元素,宽高从里到外,依次设置为外比里大一定尺寸的像素值,而它们的边框(border)设置为统一的尺寸值,样式风格为 dotted(小圆点),设置任意的初始边框颜色(后面JS会覆盖掉它们的边框颜色)。


    评分

    参与人数 1威望 +50 金钱 +100 经验 +50 收起 理由
    小辣椒 + 50 + 100 + 50 很给力!

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-4-8 17:48 | 显示全部楼层
    本帖最后由 马黑黑 于 2023-4-8 18:50 编辑

    实现步骤(一):

    首先,先写好 #wrap 选择器的CSS代码和wrap元素的HTML代码:

    <style>
    #wrap {
    	margin: 30px auto;
    	width: 200px;
    	height: 200px;
    	display: grid;
    	place-items: center;
    	position: relative;
    	border: 1px solid purple;
    }
    </style>
    
    <div class="wrap"></div>
    	

    #wrap 选择器的最后一句设置了一个边框,用来协助观察,将来弄好了要删掉它。这样,父元素准备好了,效果如下:

    一楼效果的那些点,将会呈现在上面这个方框里。

    评分

    参与人数 1威望 +50 金钱 +100 经验 +50 收起 理由
    小辣椒 + 50 + 100 + 50 很给力!

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-4-8 17:48 | 显示全部楼层
    本帖最后由 马黑黑 于 2023-4-8 22:42 编辑

    实现步骤(二):

    这个步骤是尝试性质,主要是推演一下各个 span 子元素的宽高尺寸算法。当然,span 的基本CSS设置,最终效果会用到,所以应加入到CSS代码中。下面,我们就给 span 标签做一个基本设置,它隶属于 wrap,是 wrap 的子元素,所以我们可以这样写这些 span 标签的共性基本代码:

    <style>
    #wrap {
    	margin: 30px auto;
    	width: 200px;
    	height: 200px;
    	display: grid;
    	place-items: center;
    	position: relative;
    	border: 1px solid purple;
    }
    #wrap > span {
    	position: absolute;
    	width: 0;
    	height: 0;
    	border-radius: 50%;
    	border: 8px dotted black;
    }
    </style>
    
    <div id="wrap">
    	<span></span>
    </div>
    	

    运行以上代码,效果如下:

    如果我们有第二个 span 标签,它会覆盖在第一个标签之上,因而,我们需要为第二个 span 标签单独设置更大的尺寸以及其它属性:

    #wrap > span:nth-of-type(2) {
    	width: 18px;
    	height: 18px;
    	border-color: red;
    }
    	

    为什么宽高设置为18px呢?首先,这是为所有的 span 预设了一个规律:每一个 span 的宽高尺寸都按自己的索引乘以18,第一个 span 的索引是 0,0 乘以 18 等于 0,正是CSS里所设计的,第二个索引是1,乘以18就是18,其余依次类推;其次,18的依据是,span 的边框厚度是8,当 span 的宽高为 0 时,它实际占位是16个像素,我们给第二个 span 的宽高都加上 2 ,是希望它与第一个拉开 2px 的距离。

    现在,我们给HTML代码加一组 span 标签,看看效果:

    评分

    参与人数 1威望 +50 金钱 +100 经验 +50 收起 理由
    小辣椒 + 50 + 100 + 50 赞一个!

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-4-8 17:48 | 显示全部楼层
    本帖最后由 马黑黑 于 2023-4-8 21:32 编辑

    实现步骤(三):

    前面,在尝试性的步骤二中,我们预设了 wrap 父元素的 span 子元素一些规则:最里边的 span 宽高为0,它由 border 边框构成一个 8 像素的圆点,它之外两个两个像素处是它的第一个兄弟,宽高为 10 像素,边框厚度同样是 4 个像素。接着,下一个兄弟,排行老三,索引号是2,它的宽高尺寸按照预设规则是 2*18 = 36 个像素,其余的依此类推。嗯,写 10  个 #wrap > span:nth-of-type(x) 很繁琐,这个工作可以交给 JS 完成:

    <script>

    Array.from({length:10}).forEach((item,key) => {
            let sp = document.createElement('span');
            sp.style.cssText += `
                    width: ${key*18}px;
                    height: ${key*18}px;
                    border-color: #${Math.random().toString(16).substr(-6)};
            `;
            wrap.appendChild(sp);
    });


    </script>


    Array.from({length:10}) 构建了一个有 10 个数组元素的数组,如果想修改 span 子元素的个数,将 10 改为其他数字就好。

    接着,使用 forEach 循环方法,为上述数组的每一个数组元素构建 span 标签并追加到 wrap 元素中。这些 span 标签,每一个都以自己的索引号 key 乘以 18,它的边框颜色(border-color)取16进制随机值。因为事先存在了 span 标签的CSS设定,因此 span 子标签变量 sp 的 style.cssText 采用 += 的方式追加,注意我们使用了反引号 `` ,因之我们可以将CSS语句分行写,里面涉及到JS变量和运算式子时,用 ${...} 表示,该语句的 ... 即为JS变量或运算式子。

    一楼效果的完整代码放在下一层楼。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-4-8 18:17 | 显示全部楼层
    本帖最后由 马黑黑 于 2023-4-8 21:00 编辑

    一楼效果完整代码:
    1. <style>
    2. #wrap {
    3.         margin: 30px auto;
    4.         width: 200px;
    5.         height: 200px;
    6.         display: grid;
    7.         place-items: center;
    8.         position: relative;
    9. }
    10. #wrap > span {
    11.         position: absolute;
    12.         width: 0;
    13.         height: 0;
    14.         border-radius: 50%;
    15.         border: 8px dotted black;
    16. }
    17. #wrap > span:nth-of-type(2) {
    18.         width: 18px;
    19.         height: 18px;
    20.         border-color: red;
    21. }
    22. </style>

    23. <div id="wrap"></div>

    24. <script>

    25. Array.from({length:10}).forEach((item,key) => {
    26.         let sp = document.createElement('span');
    27.         sp.style.cssText += `
    28.                 width: ${key*18}px;
    29.                 height: ${key*18}px;
    30.                 border-color: #${Math.random().toString(16).substr(-6)};
    31.         `;
    32.         wrap.appendChild(sp);
    33. });

    34. </script>
    复制代码


    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-5-16 12:23
  • 签到天数: 35 天

    [LV.5]常住居民I

    65

    主题

    3377

    回帖

    1万

    积分

    论坛元老

    Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80

    花潮美女鼠牛虎兔龙蛇马羊猴鸡狗猪相遇之美心香一瓣金剪刀音画大师风雨同行我心永远绚丽缤纷

    发表于 2023-4-8 18:33 | 显示全部楼层
    本帖最后由 马黑黑 于 2023-4-9 00:23 编辑

    占位六:扩展应用
    1. <style>

    2. .wrap {
    3.         margin: 30px auto;
    4.         width: 200px;
    5.         height: 200px;
    6.         display: grid;
    7.         place-items: center;
    8.         position: relative;
    9.         border: 1px solid tan;
    10.         --deg: 0deg; --state: running; --time: 10s;
    11. }

    12. .wrap > span {
    13.         position: absolute;
    14.         width: 10px;
    15.         height: 10px;
    16.         border-radius: 50%;
    17.         border: 8px dashed black;
    18.         transform: rotate(var(--deg));
    19.         animation: rot var(--time) infinite linear var(--state);
    20. }

    21. @keyframes rot {
    22.         from { transform: rotate(var(--deg)); }
    23.         to { transform: rotate(calc(var(--deg) + 360deg)); }
    24. }

    25. </style>

    26. <div class="wrap"></div>

    27. <script>

    28. let wrap = document.querySelector('.wrap'), root = document.querySelector(':root');
    29. Array.from({length:10}).forEach((item,key) => {
    30.         let sp = document.createElement('span');
    31.         sp.style.cssText += `
    32.                 --deg: ${Math.random()*(key+10)}deg;
    33.                 --time: ${Math.random()*10+10}s;
    34.                 width: ${key*18}px;
    35.                 height: ${key*18}px;
    36.                 border-color: #${Math.random().toString(16).substr(-6)};
    37.                 border-width: ${key+4}px;
    38.         `;
    39.         wrap.appendChild(sp);
    40. });

    41. </script>
    复制代码


    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-25 21:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    1421

    主题

    6万

    回帖

    12万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀青草情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀男儿情怀鹰傲苍穹心香一瓣音画大师天籁妙音风雨同行我心永远喜乐安康中秋征文指尖上的流年花潮管理

    发表于 2023-4-8 21:37 | 显示全部楼层
    现在可以回帖了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-25 21:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    1421

    主题

    6万

    回帖

    12万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀青草情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀男儿情怀鹰傲苍穹心香一瓣音画大师天籁妙音风雨同行我心永远喜乐安康中秋征文指尖上的流年花潮管理

    发表于 2023-4-8 21:38 | 显示全部楼层
    黑黑这个圆盘是为后面做播放器组排准备吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-4-8 21:42 | 显示全部楼层
    小辣椒 发表于 2023-4-8 21:38
    黑黑这个圆盘是为后面做播放器组排准备吧

    也未必吧,主要是觉得它好看。类似的结构,doodle 框架有一个非常漂亮的示例,我研究了一下,决定用原生 JS 做一个相近的(二者并不一样)。

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-4-8 21:43 | 显示全部楼层

    早就可以会了,该站位的俺都占了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-25 21:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    1421

    主题

    6万

    回帖

    12万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀青草情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀男儿情怀鹰傲苍穹心香一瓣音画大师天籁妙音风雨同行我心永远喜乐安康中秋征文指尖上的流年花潮管理

    发表于 2023-4-8 21:59 | 显示全部楼层
    马黑黑 发表于 2023-4-8 21:42
    也未必吧,主要是觉得它好看。类似的结构,doodle 框架有一个非常漂亮的示例,我研究了一下,决定用原生  ...

    反正小辣椒就套用学习的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-25 21:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    1421

    主题

    6万

    回帖

    12万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀青草情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀男儿情怀鹰傲苍穹心香一瓣音画大师天籁妙音风雨同行我心永远喜乐安康中秋征文指尖上的流年花潮管理

    发表于 2023-4-8 22:00 | 显示全部楼层
    马黑黑 发表于 2023-4-8 21:43
    早就可以会了,该站位的俺都占了

    我特意等一下的,怕占了楼
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-4-8 22:37 | 显示全部楼层
    小辣椒 发表于 2023-4-8 22:00
    我特意等一下的,怕占了楼

    我早占了额
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-4-8 22:37 | 显示全部楼层
    小辣椒 发表于 2023-4-8 21:59
    反正小辣椒就套用学习的

    基础知识不懂还是不行的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2023-4-8 22:38 | 显示全部楼层
    马黑黑 发表于 2023-4-8 17:48
    本帖最后由 马黑黑 于 2023-4-8 21:27 编辑
    .wrap > span {
            position: absolute;

    到这步已经不懂了,为什么“span 的边框厚度是4“?不是设置了8px么?
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-4-8 22:44 | 显示全部楼层
    红影 发表于 2023-4-8 22:38
    到这步已经不懂了,为什么“span 的边框厚度是4“?不是设置了8px么?

    额,那是我描述错误。应该是酱紫:

    第一个span,宽高为0,边框厚度是8,实际占位是16,加上两个像素的差距,所以第二个span的宽高是18,其他的依此类推。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2023-4-8 23:10 | 显示全部楼层
    马黑黑 发表于 2023-4-8 22:44
    额,那是我描述错误。应该是酱紫:

    第一个span,宽高为0,边框厚度是8,实际占位是16,加上两个像素的 ...

    这样说好像能懂点,可是,第二个也有厚度,若是16,再加上第二个的厚度,那么2个像素出不来啊。实际上却出来了,我就是没弄明白怎么出来的。
    我拿像素尺去量了一下,那个黑点是8不是16
    如果第一和第二个都是8,那么用18的宽高,剩下的间隙是1个像素,不是2个。只是从第二个开始,看着都小了一半啊。今天跑出忙一天,脑袋有点晕,黑黑勿怪
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-15 08:01
  • 签到天数: 1670 天

    [LV.Master]伴坛终老

    3049

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-4-8 23:39 | 显示全部楼层
    红影 发表于 2023-4-8 23:10
    这样说好像能懂点,可是,第二个也有厚度,若是16,再加上第二个的厚度,那么2个像素出不来啊。实际上却 ...

    黑点绝对是 16px,你再量一量。

    第一个span实际占位16px;第二个18px宽高,肯定于前一个 16px实际占位拉开2px的距离,再加上8px边框,实际占位 18+8*2 = 34px;第三个span,2*18=36px,离第二个也拉开2px,加上 2*8=16的边框,它实际占位 2*18 + 2*8 = 52 ……

    这里面的算法是没有问题的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2023-4-9 11:55 | 显示全部楼层
    马黑黑 发表于 2023-4-8 23:39
    黑点绝对是 16px,你再量一量。

    第一个span实际占位16px;第二个18px宽高,肯定于前一个 16px实际占位 ...

    对对,边框是向外的,我又弄错了,以为是骑在线上的,哈哈,弄错第二次了都,下回坚决要记住了
     
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2025-12-15 10:54 , Processed in 0.097397 second(s), 32 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表