《CSS3》田字网格背景(外实线内虚线)的实现

news2024/11/15 19:36:40

一、前言

记录一些有趣的CSS实现方式,总所周知,当一段效果可以通过CSS实现的时候,绝不使用Javascript来实现,因此记录一些有意思的CSS效果,一来是方便自己学习,另一来是方便以后在需要使用到的时候能快速找到并使用上~

耐心看完,你也许有所收获~

二、实现效果

大致效果如下,文章结尾有代码,想要的自取,如果想要看demo的可以看这个地址:gitee项目demo地址icon-default.png?t=N7T8https://gitee.com/yin_zhuqun/css-demo

三、CSS要点

这个效果其实没有什么复杂的CSS写法,核心的要点就是对 background属性 的利用;MDN关于background属性的说明icon-default.png?t=N7T8https://developer.mozilla.org/zh-CN/docs/Web/CSS/background

思路大致有两点:

  1. 实线和虚线分开根据不同的尺寸画格子,然后利用background-repeat的铺满效果将整个页面平铺完整;
  2. 实线就是单独的线,虚线的实现则利用transparent这个透明属性进行隔断;

别的好像也没什么特别的点了,剩下的无非就是根据实际场景凑样式换颜色了;

四、实现代码

<!DOCTYPE html>
<html lang="cn">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>CSS网格线,田字格</title>
        <style>
            body,
            html {
                position: relative;

                width: 100%;
                height: 100%;
                margin: 0;
                padding: 0;

                overflow: hidden;
            }
            .text-style {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);

                padding: 12px 20px;

                background-color: #ffffff;
                font-size: 22px;
                font-weight: bold;
                letter-spacing: 2px;
            }

            /* 具体CSS样式部分 */
            :root {
                --gridColor: #888888;
                /* --gridColor: #000000; */
                --gridDottedLine: 20px;
                --gridSolidLine: 60px;
            }
            .dotted-line {
                position: fixed;

                width: 100%;
                height: 100%;
                transform: scale(1.1);

                overflow: hidden;
                z-index: -4;
            }
            .dotted-line::before,
            .dotted-line::after {
                position: absolute;
                top: 0;
                left: 0;

                width: 100%;
                height: 100%;

                opacity: 0.8;
                content: "";
            }
            .dotted-line::before {
                background: linear-gradient(
                        to right,
                        white 1px,
                        transparent 1px
                    ),
                    linear-gradient(
                        to bottom,
                        var(--gridColor) 0.5px,
                        transparent 0.5px
                    );
                background-size: 4px var(--gridDottedLine);
            }
            .dotted-line::after {
                background: linear-gradient(
                        to bottom,
                        white 1px,
                        transparent 1px
                    ),
                    linear-gradient(
                        to right,
                        var(--gridColor) 0.5px,
                        transparent 0.5px
                    );
                background-size: var(--gridDottedLine) 4px;
            }

            .solid-line {
                position: fixed;

                width: 100%;
                height: 100%;
                transform: scale(1.1);

                overflow: hidden;
                z-index: -2;
                background: linear-gradient(
                        to right,
                        var(--gridColor) 0.5px,
                        transparent 0.5px
                    ),
                    linear-gradient(
                        to bottom,
                        var(--gridColor) 0.5px,
                        transparent 0.5px
                    );
                background-size: var(--gridSolidLine) var(--gridSolidLine);
            }
        </style>
    </head>
    <body>
        <div class="dotted-line"></div>
        <div class="solid-line"></div>

        <div class="text-style">田字网格线(外实内虚)</div>
    </body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1421535.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

聊一聊GPT、文心、通义、混元

我使用同一个Prompt提示词“请以记叙文的文体来写”&#xff0c;分别发送给GPT-3.5&#xff08;调用API&#xff09;、文心、通义、混元&#xff0c;下面是它们各自生成的文本内容&#xff0c;大家一看便知了。 GPT-3.5&#xff1a; 在我个人使用GPT模型的过程中&#xff0c;我…

从零开始 Linux(一):基础介绍与常用指令总结

从零开始 Linux 01. 概念理解 1.1 什么是 Linux&#xff1f; Linux 是一个开源免费的 操作系统&#xff0c;具有很好的稳定性、安全性&#xff0c;且有很强的处理高并发的能力 Linux 的应用场景&#xff1a; 可以在 Linux 下开发项目&#xff0c;比如 JavaEE、大数据、Python…

Typecho独家Joe编辑器Joe博客主题二次开发版

Typecho独家Joe编辑器Joe博客主题二次开发版。因为Joe主题作者不再更新&#xff0c;二开基于原主题 7.3.7 最新版开发。 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/88783800 更多资源下载&#xff1a;关注我。

mini-spring 实现应用上下文,自动识别、资源加载、扩展机制

我们不能让面向 Spring 本身开发的 DefaultListableBeanFactory 服务&#xff0c;直接给予用户使用 DefaultListableBeanFactory、XmlBeanDefinitionReader&#xff0c;是我们在目前 Spring 框架中对于服务功能测试的使用方式&#xff0c;它能很好的体现出 Spring 是如何对 xm…

Postman-接口测试教程

接口是软件开发中常用的概念&#xff0c;是软件生产过程中比较核心的任务。对于接口开发者&#xff0c;调试接口是一件较为繁琐的事情&#xff0c;很多时候需要线上线下来回切换。在这里&#xff0c;我就跟大家介绍一个只需要在本地就可以调试接口的方法&#xff0c;即使用post…

Android 使用高德地图

一、获取高德平台key 【1】基于application包名&sha1值在高德控制台获取key值&#xff0c;详情参考&#xff1a; 获取Key-创建工程-开发指南-Android 地图SDK | 高德地图API 【2】在manifest中声明权限 【3】将拿到的key值在manifest中进行声明 <!--允许程序打开网络…

React-Native跟Android交互--简单示例记录

/** * 使用命令 npx react-nativelatest init DemoRN创建项目 * * "react": "18.2.0", * "react-native": "0.73.2" * * 官网有详细教程&#xff1a;https://reactnative.dev/docs/native-modules-android */ 一、RN invoke androi…

机器学习复习(3)——分类神经网络与drop out

完整的神经网络 以分类任务为例&#xff0c;神经网络一般包括backbone和head&#xff08;计算机视觉领域&#xff09; 下面的BasicBlock不是一个标准的backbone,标准的应该是复杂的CNNs构成的 Classfier是一个标准的head,其中output_dim表示分类类别&#xff0c;一般写作num…

三步实现 Sentinel-Nacos 持久化

一、背景 版本&#xff1a;【Sentinel-1.8.6】 模式&#xff1a;【Push 模式】 参照官网介绍&#xff1a;生产环境下使用Sentinel &#xff0c;规则管理及推送模式有以下3种模式&#xff1a; 比较之后&#xff0c;目前微服务都使用了各种各样的配置中心&#xff0c;故采用Pus…

手机屏幕生产厂污废水处理需要哪些工艺设备

随着手机行业的快速发展&#xff0c;手机屏幕生产厂的规模也越来越大&#xff0c;但同时也带来了大量的污废水排放问题。为了保护环境和人类的健康&#xff0c;手机屏幕生产厂需要采取适当的工艺设备来处理污废水。本文将介绍手机屏幕生产厂污废水处理所需的工艺设备。 首先&am…

【环境配置】安装了pytorch但是报错torch.cuda.is_availabel()=Flase

解决思路&#xff1a;import torch正常&#xff0c;说明torch包安装正常&#xff0c;但是不能和gpu正常互动&#xff0c;猜测还是pytroch和cuda的配合问题 1.查看torch包所需的cuda版本 我的torch是2.0.1&#xff0c;在现在是比较新的包&#xff0c;需要12以上的cuda支持&…

【算法与数据结构】198、213、337LeetCode打家劫舍I, II, III

文章目录 一、198、打家劫舍二、213、打家劫舍 II三、337、打家劫舍III三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、198、打家劫舍 思路分析&#xff1a;打家劫舍是动态规划的的经典题目。本题的难点在于递归公式…

Android开发之UI控件

TextView 实现阴影效果的textview android:shadowColor"#ffff0000" 设置阴影颜色为红色android:shadowRadius"3" 设置阴影的模糊程度为3android:shadowDx"10" 设置阴影在水平方向的偏移android:shadowDy"10" 设置阴影在竖直方向的偏…

iOS17使用safari调试wkwebview

isInspectable配置 之前开发wkwebview的页面的时候一直使用safari调试&#xff0c;毕竟jssdk交互还是要用这个比较方便&#xff0c;虽说用一个脚本插件没问题。不过还是不太方便。 但是这个功能突然到了iOS17之后发现不能用了&#xff0c;还以为又是苹果搞得bug&#xff0c;每…

Unity 状态模式(实例详解)

文章目录 简介示例1&#xff1a;基础角色状态切换示例2&#xff1a;添加更多角色状态示例3&#xff1a;战斗状态示例4&#xff1a;动画同步状态示例5&#xff1a;状态机管理器示例6&#xff1a;状态间转换的条件触发示例7&#xff1a;多态行为与上下文类 简介 Unity 中的状态模…

一个产品是怎么诞生的

一个产品的诞生&#xff0c;首先从假设需求开始&#xff0c;或者从玩耍的创客开始。 假设需求往往风险很大&#xff0c;你如果没有结合实际的生活经验或者是玩耍经验&#xff0c;凭空在脑子里想到一个东西&#xff0c;要把它创造出来&#xff0c;这样的东西极有可能会遭遇商业上…

ASP.NET Core 使用 SignalR 的简单示例

写在前面 ASP.NET SignalR 是一个开源代码库&#xff0c;简化了Web实时通讯方案&#xff0c;可以实时地通过服务端将信息同步推送到各个客户端&#xff0c;可应用于 需要从服务器进行高频更新的应用&#xff1a;包括游戏、社交网络、投票、拍卖、地图和GPS应用&#xff1b; 仪…

Servlet过滤器个监听器

过滤器和监听器 过滤器 什么是过滤器 当浏览器向服务器发送请求的时候&#xff0c;过滤器可以将请求拦截下来&#xff0c;完成一些特殊的功能&#xff0c;比如&#xff1a;编码设置、权限校验、日志记录等。 过滤器执行流程 Filter实例 package com.by.servlet;import jav…

2024年航海制造工程与海洋工程国际会议(ICNMEME2024)

一、【会议简介】 2024年航海制造工程与海洋工程国际会议(ICNMEME2024)旨在将研究人员、工程师、科学家和行业专业人士聚集在一个开放论坛上&#xff0c;展示他们在导航制造工程与海洋工程领域的激励研究和知识转移理念。然而&#xff0c;我们也认识到&#xff0c;工程师的未来…

【操作系统·考研】虚拟内存管理

1.概述 传统存储管理方式具有两个特征 一次性&#xff1a;作业必须一次性全部装入内存后&#xff0c;才能开始运行。驻留性&#xff1a;作业被装入内存后&#xff0c;就一直驻留在内存中&#xff0c;在其运行期间作业的任何部分都无法被换出。 显然&#xff0c;这两个特性非…