使用CSS实现国际象棋棋盘

2023-10-29

系列文章目录

CSS3实现半透明边框(1)
CSS3实现多重边框(2)
CSS3如何调整背景图片大小(3)
CSS3背景定位(4)
CSS3设置条纹背景(5)



前言

如何使用CSS实现国际象棋棋盘,开门见山:用两个直角三角形拼接出我们想要的方块,进而实现国际象棋棋盘。

一、直角三角形

假设有长400px,宽400px的元素

width: 400px;
height: 400px;

在元素中可以通过background-image来实现直角三角形,linear-gradient在CSS3设置条纹背景中使用过,下列代码45度的线性渐变,黑色三角形占整个背景的25%

background-image: linear-gradient(45deg,black 25%,transparent 0);

在这里插入图片描述

反过来的直角三角形呢?也很好实现,代码如下:

background-image: linear-gradient(45deg,transparent 75%,black 0);

在这里插入图片描述
上述两行代码结合,可以得到这样的一张图
在这里插入图片描述
设置background-size: 100px 100px;
效果如下:
在这里插入图片描述

拼成正方形

注意这只是象棋棋盘的一半。

background-image:
		linear-gradient(45deg,black 25%,transparent 0),
		linear-gradient(45deg,transparent 75%,black 0);
background-position: 0 0,50px 50px;
background-size: 100px 100px;

在这里插入图片描述
将整个正方形复制一份,然后最后再做多一层上面的效果,然后移动一下其中一层的位置,将红色部分移动到蓝色部分。即可实现国际象棋棋盘。
在这里插入图片描述

二、使用步骤

1.完整代码

width: 400px;
height: 400px;
background:
		linear-gradient(45deg,black 25%,transparent 0),
		linear-gradient(45deg,transparent 75% ,black 0),
		linear-gradient(45deg,black  25%,transparent 0),
		linear-gradient(45deg,transparent 75% ,black 0);
background-position: 0 0,50px 50px,50px 50px, 100px 100px;
background-size: 100px 100px;

2.棋盘效果图

在这里插入图片描述


总结

通过两个直角三角形拼接出我们想要的方块,但是这本质上只是棋盘的一半,想要得到完整的棋盘只需要把这组重复一份,创建出另一组正方形,并且偏移它们的位置,即可实现国际象棋棋盘。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用CSS实现国际象棋棋盘 的相关文章

  • 移动设备中的 CSS 响应式设计不适用于 uc 浏览器和 Opera Mini [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 UC 和 Opera Min 浏览器上的响应式网站无法正常工作 我们使用媒体查询进行响应式设计 我搜索了一下 发现了一些
  • 如何使用CSS缩进多级select optgroup?

    只是试图通过嵌套深度缩进 optgroup 块 我尝试了一般margin left规则 嵌套元素然后尝试应用相同的规则 尝试过padding left 这样的缩进可能吗 看起来很简单 P 在下面的示例中 标记为 client2 a 的 op
  • 在 R 中修改传单弹出窗口

    我想修改 R 中传单弹出窗口的外观 帮助文件指出 in the popupOptions 函数需要 传递给底层 Javascript 对象构造函数的额外选项 In 这个例子 https rstudio github io leaflet p
  • 将 Regex 对象分配给 html 输入模式

    我需要以编程方式将正则表达式对象分配给输入元素模式属性 以下是我当前的实现 var regex d 5 element attr pattern regex toString slice 1 1 有没有更好的方法来做到这一点而不需要字符串操
  • 多行有多个提交按钮,我应该为每个按钮制作一个表单吗?

    我列出了大约 20 行 每行代表一个订单 每行需要有 3 个按钮 每个按钮单击将执行不同的操作 我有 3 个操作来处 理每个按钮发布请求 我只是不确定如何为每个按钮设置 Html 表单 tr td td tr
  • 如何将值发布到输入框中?

    Intro I would like to get the current time after clicking at click and POST the value into input text box Note 假设包含引导样式表
  • 在问题内显示内联块文本

    我一直在尝试显示内联块 如果我没有在 div 中添加任何内容 一切都会很好 但是当我这样做时 div 会折叠起来 我不知道确切的原因 任何想法 https jsfiddle net giancorzo ebqoptbd https jsfi
  • 固定 Div 与静态 div 的滚动条重叠

    我无法按照我想要的方式设计布局 我有一个内容区 content 您可以在示例图像中看到的灰色 里面有一个黄色元素 这个div是position static height 100 现在我有一个 left paneldiv 也 与positi
  • Webkit 是否有 CSS3 网格布局的有效实现?

    CSS 网格布局 编辑草案 2011 年 11 月 21 日 http dev w3 org csswg css3 grid align 我正在制作一个原型 该原型将在选定的设备和浏览器上向客户展示 目前我并不担心跨浏览器兼容性 IE10开
  • 从选择 onChange 调用 javascript 函数 [重复]

    这个问题在这里已经有答案了 所以我有一个简单的 HTML 选择框和一个 javascript 警报功能 我希望选择框有一个 onchange 事件来调用 javascript 警报函数 这是我到目前为止所拥有的 HTML div Type
  • 如何使用CSS缩放图像以填充div并保持纵横比?

    我想用一个 div 填充img 保持纵横比并根据需要拉伸宽度或高度以适应 div style width 80px height 80px img src div 我怎样才能实现它 如果图像不是二次方的 则必须将其 放大 并根据哪一侧较大而
  • 对其中一个具有相同 tabindex 的焦点的所有元素应用相同的效果

    在我的上一篇文章中 我问了如何通过 css 选择器使不可聚焦的元素变得可聚焦 答案是使用tabindex 现在我希望 当具有选择器的元素获得焦点 单击 时 选择器选择的另一个元素也能获得效果 这可能听起来很奇怪 但我很久以前就可以不小心这样
  • Angular SlickGrid 对齐标题文本

    我正在使用角度SlickGrid并希望将列标题中的文本居中或右对齐 并非所有列都以相同的方式 我发现 有一个headerCssClass列定义中的属性 但我一直尝试 这种样式似乎从未被应用 对于列定义 id sourceNumber nam
  • Bootstrap 4 移动导航栏消失

    我刚刚从 Bootstrap 3 转换为 Bootstrap 4 但我的移动导航栏出现问题 使用切换按钮展开导航栏时 导航消失 我不明白为什么会发生这种情况 导航栏下方有一个大屏幕 但整个移动导航向上移动 如下面的 gif 所示 以下是导航
  • 使用 float:left 与 display:inline-block 的 jQuery UI 拖放排序比较

    我这里有两个例子 这两个例子之间的唯一区别是 一种使用display inline block 另一种使用float left li doc item 显示 内联块 与 li doc item float left 我的问题是 displa
  • 从链接打开本地文件夹

    如何通过单击任何链接打开本地文件夹视图 我尝试了很多选择 例如 a href Open folder a or a Open folder a or a Open folder a 解决方案 启动可下载链接 以下内容适用于所有浏览器 但一如
  • HTML5 文件 API 和 AJAX 上传分块问题

    我编写了一个带有单独进度的拖放多个文件上传等 除了一件事之外 它工作得非常好 上传较大文件时 有时浏览器会锁定 直到上传完成 我认为这是因为该文件存储在浏览器的内存中并占用了浏览器可用的所有资源 我想知道 是否可以逐段读取文件并在读取时通过
  • Svelte 条件元素类报告为语法错误

    我正在做一个if块每if 块的精简指南 https svelte technology guide if blocks 这看起来很简单 但 Svelte 认为这是一个语法错误 svelte plugin ParseError Unexpec
  • Flexbox 项目的完美圆形边框半径[重复]

    这个问题在这里已经有答案了 我有类似这样的项目 它们是弹性盒容器内的弹性项目 我的正常尺寸物品 我的物品被挤压 我的 CSS 看起来像这样 body display flex flex direction column align item
  • 将 html 文本框的值分配给 div 的标题

    line 1

随机推荐

  • 剑指Offer面试题5:替换空格程序调试与错误解决方法

    1 问题描述 面试题5 替换空格 题目 请实现一个函数 把字符串中的每个空格替换成 20 例如输入 We are happy 则输出 We 20are 20happy 2 程序代码 Copyright c 2016 Harry HeAll
  • 正确使用箭头函数——什么时候不该用ES6箭头函数

    正确使用箭头函数 什么时候不该用ES6箭头函数 原文地址 https segmentfault com a 1190000007074846 与君共勉 再牛逼的梦想 也抵不住傻逼般的坚持
  • Digital Camera Sensor 曝光三要素

    曝光三要素 曝光参数包括三要素 也就是相机曝光三角 相机孔径 ISO speed 曝光时间 相机孔径 光圈 控制通光面积 影响景深 光圈的面积越大 那么f指数越小 光圈的面积和F指数呈反比 F指数是焦距和光圈的反比 their light
  • 【JUC】Java并发编程学习笔记

    一 概述 1 为什么jdk中有那么多关于并发的类 并发可以理解为多线程同时工作 一般情况下是要比单线程处理速度更快 但是并发也不是在任何情况下都更优 使用多线程并发技术编写的代码在运行时可能会 发生线程上下文切换 上下文切换指的是内核在CP
  • 【华为OD技术面试真题精选 - 技术面】- Java八股文全题库(7)

    华为OD面试真题精选 强烈推荐 华为OD技术面试真题精选 大家好 今天我给大家推荐一份备受赞誉的华为OD技术面试精选题目 所有题目均为华为od实际面试过程中出现的问题 这些面试题主要涉及到编程八股文 职业态度以及独特的个性特点 让我们一起深
  • 云上社群系统部分接口设计详解与测试

    目录 一 项目简介 1 使用统一返回格式 全局错误信息定义处理前后端交互时的返回结果 2 使用 ControllerAdvice ExceptionHandler实现全局异常处理 3 使用拦截器实现用户登录校验 4 使用MybatisGen
  • Hadoop中Mapreduce的Job任务提交流程源码解析

    一 源码解析步骤 1 设置断点 在Driver的job任务提交打上断点进行Debug调试进入其中 F7 进入 F8 下一步 Alt Shift F7 强制进入 Shift F8 退出 进入waitForCompletion 2 submit
  • FastStone Capture 注册码

    name 用户名 92626key 注册码 HZKZBZLZ BOYHXDGD ONWD
  • Windows 10 Python 深度学习环境安装

    Windows 10 Python 深度学习环境安装 详细步骤和过程如下所示 1 安装Anaconda https repo anaconda com archive https repo anaconda com archive Anac
  • 晶体管放大、饱和、截止状态判断

    NPN晶体管 晶体管导通电压为Ube 直接测量 测得晶体管EBC极电压分别为Ue Ub Uc 若基极与发射极电势差小于导通电压 Ub Ue
  • 华为认证

    由于笔试考试系统升级 将会影响中国大陆区域2023年9月25日及之后的笔试考试预约 具体影响如下 1 2023年9月25日 27日预约 改期 取消笔试考试的考生 将会同时收到邮件和短信通知 9月28日07 00及之后预约 改期 取消笔试考试
  • photo.php,EasyPhoto.php

    class EasyPhoto 所有图层 private layers array 当前活动图层 private ActiveLayer 对象实例 单实例模式 private static instance private imageLay
  • flutter解决多个类名重名问题

    Try using as prefix for one of the import directives or hiding the name from all but one of the imports Flutter遇到这种错误 意思
  • CSS3带小图标垂直下拉菜单

    在线演示 本地下载 转载于 https www cnblogs com qixidi p 10061730 html
  • List1_Excise

    List和Set集合的上层接口是 A java util Map B java util Collection C java util List D java util Set ArrayList类的底层数据结构是 A A 数组结构 B 链
  • 输入函数input

    目录 函数介绍 基本使用 返回值类型转换 函数介绍 作用 接收来自用户的输入 返回值类型 同输入值类型 即str 值的存储 使用赋值符号 即对输入值进行存储 基本使用 变量 input 输入的提示语 name input 你的名字是什么 p
  • Node.js开发框架Express.js做一个简单的Web应用以及代码详解

    目录 Express js的主要特性 搭建 Node js 开发环境 Express js的使用方法 端口和URL的定义和作用 Express js的应用场景 注意 后续技术分享 第一时间更新 以及更多更及时的技术资讯和学习技术资料 将在公
  • [Python人工智能] 十二.循环神经网络RNN和LSTM原理详解及TensorFlow编写RNN分类案例

    从本专栏开始 作者正式开始研究Python深度学习 神经网络及人工智能相关知识 前一篇讲解了TensorFlow如何保存变量和神经网络参数 通过Saver保存神经网络 再通过Restore调用训练好的神经网络 本文将详细讲解循环神经网络RN
  • 开源Go语言数值算法库 An open numerical library purely based on Go programming language

    目录 关于 goNum https github com chfenger goNum 安装环境 安装方法 算法 许可证书 致谢 关于goNum goNum是一款完全以Go语言为基础的开源数值算法库 它可以使你像调用其它go函数一样使用其进
  • 使用CSS实现国际象棋棋盘

    系列文章目录 CSS3实现半透明边框 1 CSS3实现多重边框 2 CSS3如何调整背景图片大小 3 CSS3背景定位 4 CSS3设置条纹背景 5 使用CSS实现国际象棋棋盘 系列文章目录 前言 一 直角三角形 拼成正方形 二 使用步骤