【css】使用CSS绘制奥运五环--巴黎奥运

news2024/9/25 3:18:18

使用CSS绘制奥运五环

在2024年巴黎奥运会期间,本文来使用 CSS 来画一个奥运五环。奥运五环由五个相互交叠的圆环组成,分别代表五大洲。

奥运五环是相互连接的,因此在视觉上会产生重叠效果,这也是实现五环最有挑战性的部分

在这里插入图片描述

HTML结构

首先,我们创建一个包含五个环的HTML结构,其中黑色环作为父元素,其他颜色的环作为子元素。

<div class="black">
   <div class="ring blue"></div>
   <div class="ring yellow"></div>
   <div class="ring green"></div>
   <div class="ring red"></div>
</div>

CSS样式

接下来,我们通过CSS来定义这些环的样式。

黑环和基本样式

在这里插入图片描述

.black {
   position: relative;
   width: 200px;
   height: 200px;
   border-radius: 50%;
   border-width: 20px;
   border-style: solid;
   border-color: #000; /* 黑色 */
   margin: 0 auto; /* 水平居中 */
}

.ring {
   position: absolute;
   width: 200px;
   height: 200px;
   border-radius: 50%;
   border-width: 20px;
   border-style: solid;
   top: -20px;
   right: -20px;
}

绿环

.green {
   color: #30a751; /* 绿色 */
   top: 70px;
   right: -125px;
   z-index: 2;
}

红环

.red {
   color: #ef314e; /* 红色 */
   right: -230px;
   z-index: 2;
}

在这里插入图片描述

黄环和蓝环

.yellow {
   color: #fcb32e; /* 黄色 */
   top: 70px;
   left: -125px;
   z-index: 2;
}

.blue {
   color: #0082c9; /* 蓝色 */
   left: -230px;
   z-index: 2;
}

伪元素实现环环相扣

为了实现环环相扣的效果,我们使用伪元素来调整环的位置和颜色。
在这里插入图片描述

.black::after {
   content: "";
   position: absolute;
   width: 200px;
   height: 200px;
   border-radius: 100%;
   top: -20px;
   right: -20px;
   border: 20px solid transparent;
   border-right: 20px solid currentcolor;
   z-index: 3;
}

.black::before {
   content: "";
   position: absolute;
   width: 200px;
   height: 200px;
   border-radius: 100%;
   top: -20px;
   right: -20px;
   border: 20px solid transparent;
   border-bottom: 20px solid currentcolor;
   z-index: 1;
}

.red::after {
   border-bottom: 20px solid currentcolor;
}

.blue::after {
   border-right: 20px solid currentcolor;
}

完整示例

将上述HTML和CSS代码组合,我们就可以得到一个视觉上环环相扣的奥运五环标志。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Olympic Rings</title>
    <style>
        .black {
            position: relative;
            width: 200px;
            height: 200px;
            border-radius: 50%;
            border-width: 20px;
            border-style: solid;
            border-color: #000; /* 黑色 */
            margin: 0 auto; /* 水平居中 */
        }

        .ring {
            position: absolute;
            width: 200px;
            height: 200px;
            border-radius: 50%;
            border-width: 20px;
            border-style: solid;
            top: -20px;
            right: -20px;
        }

        .green {
            color: #30a751; /* 绿色 */
            top: 70px;
            right: -125px;
            z-index: 2;
        }

        .red {
            color: #ef314e; /* 红色 */
            right: -230px;
            z-index: 2;
        }

        .yellow {
            color: #fcb32e; /* 黄色 */
            top: 70px;
            left: -125px;
            z-index: 2;
        }

        .blue {
            color: #0082c9; /* 蓝色 */
            left: -230px;
            z-index: 2;
        }

        .black::after, .black::before {
            content: "";
            position: absolute;
            width: 200px;
            height: 200px;
            border-radius: 100%;
            top: -20px;
            right: -20px;
            border: 20px solid transparent;
        }

        .black::after {
            border-right: 20px solid currentcolor;
            z-index: 3;
        }

        .black::before {
            border-bottom: 20px solid currentcolor;
            z-index: 1;
        }

        .red::after {
            border-bottom: 20px solid currentcolor;
        }

        .blue::after {
            border-right: 20px solid currentcolor;
        }
    </style>
</head>
<body>
    <div class="black">
        <div class="ring blue"></div>
        <div class="ring yellow"></div>
        <div class="ring green"></div>
        <div class="ring red"></div>
    </div>
</body>
</html>

通过上述步骤,我们成功地使用CSS绘制了奥运五环的标志。这个方法不仅展示了CSS的强大能力,也体现了前端开发中对细节的关注和对视觉效果的追求。

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

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

相关文章

Linux -软件包管理 下载与安装方式

1. wget下载 先下载再安装 wget命令是Linux系统用于从Web下载文件的命令行工具&#xff0c;支持 HTTP、HTTPS及FTP协议下载文件 当然现在更多支持用yum工具的&#xff0c;不过有的时候一些镜像站点不再维护一些旧版本的软件时&#xff0c;这时候就可以用wget可以先获取&…

Unity补完计划 之 SpriteEditer Multiple

本文仅作笔记学习和分享&#xff0c;不用做任何商业用途 本文包括但不限于unity官方手册&#xff0c;unity唐老狮等教程知识&#xff0c;如有不足还请斧正 1. SpriteEditer Multiple Automatic slicing - Unity 手册 这是用于裁剪图集的模式 应用之后精灵编辑器会看到Slice亮…

CSP-J 复赛 模拟题7 and 解析

1.超级素数&#xff1a; 题目描述 素数&#xff0c;又称质数&#xff0c;是指除 11 和其自身之外&#xff0c;没有其他约数的正整数。例如 2,3,5,132,3,5,13 都是素数&#xff0c;而 4,9,12,184,9,12,18 则不是。特别地&#xff0c;规定 11 不是素数&#xff08;因此自然数的…

【C++进阶学习】第十二弹——C++ 异常处理:深入解析与实践应用

前言&#xff1a; 在C编程语言中&#xff0c;异常处理是一种重要的机制&#xff0c;它允许程序员在运行时捕获和处理错误或异常情况。本文将详细介绍C异常处理的相关知识点&#xff0c;包括异常的定义、抛出与捕获、异常处理的原则、以及在实际编程中的应用。 目录 1. 异常处理…

算法力扣刷题记录 六十九【动态规划基础及509. 斐波那契数】

前言 调整一下做题顺序&#xff0c;多个章节同步进行&#xff0c;穿插练习。可以在各章节的专栏中找同一类。 记录 六十九【动态规划基础】。 一、动态规划理论基础学习 参考学习链接 二、509. 斐波那契数 2.1 题目阅读 斐波那契数 &#xff08;通常用 F(n) 表示&#x…

屏蔽浏览器搜索出csdn相关内容的方法

屏蔽csdn搜索结果的方法 前言 鉴于你对知识质量的渴望&#xff0c;以及对挖掘知识金子的欲求&#xff0c;你一定想在浏览器结果中去除有关Csdn的全部内容&#x1f608;**(确信)**&#xff0c;但是当你在用bing或者google搜索有没有可以屏蔽CSDN搜索结果的方法时&#xff0c;通…

一套基于tailwindcss的后台管理系统模板Chakra UI + React + TS

下载地址给你们&#xff1a; https://horizon-ui.com/#version

算法混合杂项

基础类型 可用template 投影 是有方向的 求俩直线交点 推公式 q我们不知道&#xff0c;已知p1 p2&#xff0c;正弦定理&#xff0c;α可以用叉积表示出来 β同理 所以我们能求出p1q 已知piq 回归到我们上一个问题&#xff0c;已知方向和长度&#xff0c;我们就能够求出Voq …

24/8/8算法笔记 不同分类算法的差异

import numpy as np from sklearn.tree import DecisionTreeClassifier from sklearn.linear_model import LogisticRegression from sklearn.svm import SVCfrom sklearn import datasets 加载数据 我们加载的是啤酒的数据 wine datasets.load_wine() wine LR逻辑斯蒂回归…

【数据结构】数组复习-二分查找法

写这篇博客的起因&#xff1a; 刚开始刷力扣&#xff0c;发现没有一个很好的做题方法&#xff0c;在网络上发现了这个博主的评论&#xff0c;如下。感觉挺适合我&#xff0c;所以开始复习一下数据结构。 c基础主要是看&#xff1a; 1.bilibili上青岛大学王卓第02周03--2.3线…

算法 二

求中点 LR&#xff0c;可能溢出 除以2&#xff0c;等同于右移一位 递归、递归的时间复杂度 母问题的规模 子问题的规模&#xff0c;且都相等 调用次数 不用展开看&#xff0c;就看一层。 归并排序 时间复杂度降低的原因&#xff1a;没有浪费比较。比如选择排序&#xff…

48天笔试训练错题——day44

目录 选择题 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 编程题 1. 单词倒排 选择题 1. A 类 IP 地址&#xff1a;0.0.0.0 ~ 127.255.255.255 1 字节网络号&#xff0c;3 字节主机号 B 类 IP 地址&#xff1a;128.0.0.0 ~ 191.255.255.255 2…

服务器网络磁盘挂载

一、Ping测试 先测试磁盘网络的连通性 例如&#xff1a;这里申请的网络磁盘是&#xff1a; 127.0.0.1:/shareData ping 127.0.0.1二、挂载 确认连通后&#xff0c;确定需要挂载的目录&#xff0c;这里服务器的挂载目录为&#xff1a;/data/share &#xff08;自主选择创建目录…

【食物链】

题目 代码 #include<bits/stdc.h> using namespace std; const int N 5e410; int n, k; int p[N], d[N]; int find(int x) {if(p[x] ! x){int root find(p[x]);d[x] d[p[x]];p[x] root;}return p[x]; } int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)…

RaiDrive / Cyberduck 的安装破解

安装完成后&#xff0c;使用方法可以去这里看&#xff1a; Synology DS920 【外网访问】 这篇文章主要是为了解决 RaiDrive 的登录付费和 Cyberduck 的语言 所以可以尽管下载&#xff0c;盘中 RaiDrive 的免登录免费和 Cyberduck 的中文语言是没有问题的 硬盘映射程序 提…

专题 | IAM业界热度不减,2024市场持续井喷(一)

面对无边界、无规则、无差别&#xff08;企业规模&#xff09;的攻防时代&#xff0c;身份安全在网络安全的重要性日益增强。 身份安全是Gartner最近几年来频繁提及的重要未来趋势之一。RSAC 2023上RSA CEO Rohit Ghai 甚至发表了主题为《迫在眉睫的身份危机&#xff09;》的开…

DAMA学习笔记(十二)-数据质量

1.引言 数据管理能力包括为各类应用设计数据模型、安全存储和访问数据、适当地共享数据、从数据中获得知识&#xff0c;以及保障满足业务需求的能力等。但实现数据价值的前提是数据本身是可靠和可信的&#xff0c;换句话说&#xff0c;数据应是高质量的。 导致低质量数据产生的…

聚焦光热型太阳光模拟器助力多晶硅均匀加热

晶圆均匀加热技术综述 晶圆均匀加热是半导体制造过程中的关键技术之一&#xff0c;直接影响着晶圆上各种加工工艺的质量和稳定性。晶圆加热的目的在于化学气相沉积、退火、氧化等工艺中&#xff0c;通过对晶圆进行必要的热处理&#xff0c;以促进或优化后续工艺步骤。不均匀的…

嵌入式软件--C语言项目 客户信息管理系统

考虑到目前C语言的学习是以为嵌入式做基础而进行的&#xff0c;项目所使用到的语法和结构都是嵌入式常用到的&#xff0c;这是较为特殊和针对性的项目&#xff0c;不与其他同名项目作比较。若有参考着谨慎借鉴。 实现一个客户信息管理系统&#xff0c;功能包括添加客户、修改客…

CTFHUB-web-RCE-远程包含

开启题目 点击下面的 phpinfo 跳转之后发现查看到了 PHP版本&#xff0c;根据源码可以感觉到这里有文件包含&#xff0c;查看之后发现 allow 的配置都开着 抓包之后把 GET 换成 POST&#xff0c;构造 payload 发包&#xff0c;发现根目录有一个 flag 文件 <?php system(ls…