码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 纯CSS 格子背景


    本文简介

    点赞 + 收藏 + 关注 = 学会了


    这次会使用css画出一个格子背景。并且一步步分析如何实现~

    file



    思路

    直接给答案:通过2个相等的直角三角形拼接,形成一个正方形。


    三角形可以使用 background-image 的渐变来实现。

    html,
    body {
      margin: 0;
      width: 100%;
      height: 100%;
    }
    body {
      background-image: linear-gradient(45deg, #000 25%, transparent 0);
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    file

    此时出来的效果如上图所示。

    做一个45度的线性渐变,第一个颜色是#000(黑色),占整个背景贴片的25%,其余部分都是红色。


    在上面的基础上,用 background-size 来控制背景贴片的大小。

    body {
      background-image: linear-gradient(45deg, #000 25%, transparent 0);
      background-size: 200px 200px;
    }
    • 1
    • 2
    • 3

    file

    开始有点想法了吗?

    此时如果我们再画多一个反过来的黑色的直角三角形,拼在一起不就成了正方形了吗?


    反过来的三角形怎么画呢?我尝试将黑色从 25% 改成 75%,会得到以下效果

    body {
      background-image: linear-gradient(45deg, #000 75%, transparent 0);
      background-size: 200px 200px;
    }
    • 1
    • 2
    • 3

    file

    可以看到红色的三角形就是原本黑色三角形反过来的样子。

    把上图的“白色三角形”变成黑色,原本的黑色三角形(25%)继续保留。

    于是我又加多层渐变~

    body {
      background-image:
        linear-gradient(45deg, #000 25%, transparent 0),
        linear-gradient(45deg, transparent 75%, #000 0);
      background-size: 200px 200px;
    }
    • 1
    • 2
    • 3
    • 4
    • 5

    file


    简化一下代码:

    body {
      background-image: linear-gradient(45deg, #000 25%, transparent 0, transparent 75%, #000 0);
      background-size: 200px 200px;   
    }
    • 1
    • 2
    • 3

    最后再做多一层上面的效果,然后移动一下其中一层的位置,就可以合并成一个黑色正方形。

    body {
      background-image:
        linear-gradient(45deg, #000 25%, transparent 0, transparent 75%, #000 0),
        linear-gradient(45deg, #000 25%, transparent 0, transparent 75%, #000 0);
      background-position: 0 0, 100px 100px;
      background-size: 200px 200px;
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    file

    大功告成。


    最后需要提醒的是,在本例中 background-position 第二个渐变的位移是 background-size 的一半,这样就能实现这种格子背景了~



    完整代码

    <style>
      html,
      body {
        margin: 0;
        width: 100%;
        height: 100%;
      }
    
      body {
        background-image:
          linear-gradient(45deg, #000 25%, transparent 0, transparent 75%, #000 0),
          linear-gradient(45deg, #000 25%, transparent 0, transparent 75%, #000 0);
        background-position: 0 0, 100px 100px;
        background-size: 200px 200px;
      }
    </style>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    这是做成背景的完整代码。



    推荐阅读

    👍《CSS里的ch到底是什么东西?》

    👍《给console来的样式》

    👍《如何用 CSS 选择符杀死队友》

    👍《这18个网站能让你的页面背景炫酷起来》

    👍《纯CSS:动态渐变背景【一分钟学会】》

    👍《纯css实现117个Loading效果》

    点赞 + 关注 + 收藏 = 学会了

  • 相关阅读:
    DropWizard框架里关于异常统一处理实践
    SolidWorks工程图中添加中心线和中心符号线的办法
    HarmonyOS开发:ArkTs常见数据类型(一)
    显示 frames per second
    亚马逊测评掉评、留不上评是怎么回事呢?要如何应对?
    RV-GAN:使用新的多尺度生成对抗网络分割眼底照片中的视网膜血管结构
    js split , slice, splice 三者区别
    C/C++家谱管理系统
    vue-router 相关面试题
    希望科怀早日康复
  • 原文地址:https://blog.csdn.net/weixin_39415598/article/details/125612117
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号