花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 38|回复: 7

纯CSS+HTML绘制国际象棋棋盘

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

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

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

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

    发表于 2022-10-17 20:20 | 显示全部楼层 |阅读模式

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

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

    x

    评分

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

    查看全部评分

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

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

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

     楼主| 发表于 2022-10-17 20:21 | 显示全部楼层
    代码:
    1. <style>
    2. #papa {
    3.         margin: 50px auto;
    4.         width: 400px;
    5.         height:400px;
    6.         display: grid;
    7.         grid-template-rows: repeat(8, 1fr);
    8.         grid-template-columns: 100%;
    9.         border: 2px solid black;
    10.         position: relative;
    11. }
    12. .line1, .line2 {
    13.         display: grid;
    14.         grid-template-rows: 100%;
    15.         grid-template-columns: repeat(8, 1fr);
    16. }
    17. .line1 > span, .line2 > span { padding: 0; margin: 0; }
    18. .line1 > span:nth-child(odd) { background: snow; }
    19. .line1 > span:nth-child(even) { background: black; }
    20. .line2 > span:nth-child(odd) { background: black; }
    21. .line2 > span:nth-child(even) { background: snow; }

    22. </style>

    23. <div id="papa">
    24.         <div class="line1">
    25.                 <span></span>
    26.                 <span></span>
    27.                 <span></span>
    28.                 <span></span>
    29.                 <span></span>
    30.                 <span></span>
    31.                 <span></span>
    32.                 <span></span>
    33.         </div>
    34.         <div class="line2">
    35.                 <span></span>
    36.                 <span></span>
    37.                 <span></span>
    38.                 <span></span>
    39.                 <span></span>
    40.                 <span></span>
    41.                 <span></span>
    42.                 <span></span>
    43.         </div>
    44.         <div class="line1">
    45.                 <span></span>
    46.                 <span></span>
    47.                 <span></span>
    48.                 <span></span>
    49.                 <span></span>
    50.                 <span></span>
    51.                 <span></span>
    52.                 <span></span>
    53.         </div>
    54.         <div class="line2">
    55.                 <span></span>
    56.                 <span></span>
    57.                 <span></span>
    58.                 <span></span>
    59.                 <span></span>
    60.                 <span></span>
    61.                 <span></span>
    62.                 <span></span>
    63.         </div>
    64.         <div class="line1">
    65.                 <span></span>
    66.                 <span></span>
    67.                 <span></span>
    68.                 <span></span>
    69.                 <span></span>
    70.                 <span></span>
    71.                 <span></span>
    72.                 <span></span>
    73.         </div>
    74.         <div class="line2">
    75.                 <span></span>
    76.                 <span></span>
    77.                 <span></span>
    78.                 <span></span>
    79.                 <span></span>
    80.                 <span></span>
    81.                 <span></span>
    82.                 <span></span>
    83.         </div>
    84.         <div class="line1">
    85.                 <span></span>
    86.                 <span></span>
    87.                 <span></span>
    88.                 <span></span>
    89.                 <span></span>
    90.                 <span></span>
    91.                 <span></span>
    92.                 <span></span>
    93.         </div>
    94.         <div class="line2">
    95.                 <span></span>
    96.                 <span></span>
    97.                 <span></span>
    98.                 <span></span>
    99.                 <span></span>
    100.                 <span></span>
    101.                 <span></span>
    102.                 <span></span>
    103.         </div>
    104. </div>
    复制代码


    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

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

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

     楼主| 发表于 2022-10-17 20:21 | 显示全部楼层
    本帖最后由 马黑黑 于 2022-10-17 20:33 编辑

    解释:
    首先说思路。

    grid布局嵌套。

    一、父元素,#papa 选择器所指向的元素,使用 grid 布局,八行一列:

            display: grid;
            grid-template-rows: repeat(8, 1fr);
            grid-template-columns: 100%;


    二、papa 的直系子元素

    papa父元素下面带八个子元素,分为两类:

    .line1, .line2 {
            display: grid;
            grid-template-rows: 100%;
            grid-template-columns: repeat(8, 1fr);
    }


    .line1 和 .line2 属性是一样的,但要各自独立,因为,将来棋盘的黑白交替它们是不一样的,需要各自设定。

    三、.line1 和 .line 2 的子元素 span

    span 标签将是棋盘格子的最终归宿,换言之,span标签构成一个个的棋盘格子。

    line1 和 line2 下面的 span 标签,拥有统一的属性:

    .line1 > span, .line2 > span { padding: 0; margin: 0; }

    line1 下面的 span 标签,奇数的底色为雪白,偶数的底色为纯黑:

    .line1 > span:nth-child(odd) { background: snow; }

    .line1 > span:nth-child(even) { background: black; }

    line2 下面的 span 标签反过来,奇数的底色为纯黑,偶数的底色为雪白:

    .line2 > span:nth-child(odd) { background: black; }
    .line2 > span:nth-child(even) { background: snow; }


    这就成了,虽然代码繁琐一点——这是木有办法的。

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

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

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

     楼主| 发表于 2022-10-17 20:36 | 显示全部楼层
    这个棋盘是核心部分,周边的标记,没有弄上
    回复 支持 反对

    使用道具 举报

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

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

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

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

    发表于 2022-10-17 20:50 | 显示全部楼层
    这个代码的css倒是很简洁,html要写8组div啊
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

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

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

     楼主| 发表于 2022-10-17 21:50 | 显示全部楼层
    本帖最后由 马黑黑 于 2022-10-17 22:13 编辑
    红影 发表于 2022-10-17 20:50
    这个代码的css倒是很简洁,html要写8组div啊

    八行,所以需要个div;

    每一个 div,又需要八个 span。

    这就得出 8*8=64 的棋盘了
    回复 支持 反对

    使用道具 举报

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

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

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

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

    发表于 2022-10-18 12:18 | 显示全部楼层
    马黑黑 发表于 2022-10-17 21:50
    八行,所以需要个div;

    每一个 div,又需要八个 span。

    是啊,所以纯CSS+HTML的绘制容易理解,却是看着繁琐
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-16 08:52
  • 签到天数: 1671 天

    [LV.Master]伴坛终老

    3050

    主题

    13万

    回帖

    28万

    积分

    管理员

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

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

     楼主| 发表于 2022-10-18 12:29 | 显示全部楼层
    红影 发表于 2022-10-18 12:18
    是啊,所以纯CSS+HTML的绘制容易理解,却是看着繁琐

    思路、逻辑要清晰
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2025-12-16 16:57 , Processed in 0.071460 second(s), 29 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

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