纯CSS写个绿荫足球场,为世界杯喝彩

article/2025/4/25 4:30:49

这里写图片描述
​ 那要写出这样一个界面,首先了解一下球场结构,如图,具体比例就不坐详细说明了自行百度.

​ 颜色上白线绿地没啥问题,发球弧和角球线通过父级的覆盖可以做到部分弧线效果.

先看一下整体效果:

这里写图片描述


具体地:

1 )场地外围我们使用混合色:
background: radial-gradient(sandybrown,maroon);
2 )线条我们要自定义白粗线:
--line: 0.3em solid white; 
border: var(--line);
3 )定下整个container容器之后,field为球场区域作为定位父体,内部span通过absolute定位:
.container{display:block;}
.field{position:relative:width:inherit;height:ingerit;}
4 )位置的具体数值可通过数学关系确定:
calc(计算式子)
5 )css中数值可以通过 –变量名 的形式记录某一数值,后续通过
var(–变量名)调用:
body{--num = calc((100px + 0.7px)/3);top:var(--num);}
6 )然后就是关于角球线,可以两种方法

方法一::before/after在隐藏边角线的应用.

/*:before 选择器在被选元素的内容前面插入内容。请使用 content 属性来指定要插入的内容。*/
.corner-arc::after,
.corner-arc::before{content: '';position: absolute;width: 5em;height: 5em;border: 0.3em solid white;border-radius: 50%;}

方法二:制作两个扇形,定位到相应位置.

.corner-arc-bottom ,
.corner-arc-top{width: 100px;height: 100px;line-height: 100px;text-align: center;border: 0.3em solid white;border-radius:  0  100px 0 0    ;position: absolute;top:880px;left: -20px;}
7 )最后由于半场是关于中线对称,我们可以做好左边,以中点(0,50%)旋转
.right {position: absolute;top: 0px;left: 50%;transform: rotateY(180deg);}

大体思路就这些,下面是css代码和html:

/*中间注释部分为相对定位实现的,但是不能做到响应式*/
<style>body {margin: 100px;/* height: 100px; */display: flex;align-items: center;justify-content: center;/*  项目位于容器的中心*/background: radial-gradient(sandybrown, maroon);--line: 0.3em solid white;}.container {width: 120em;height: 80em;background-color: green;font-size: 5px;padding: 5em;}.container span {display: block;}.field {border: var(--line);position: relative;overflow: hidden;/*角球线隐藏*/width: inherit;height: inherit;z-index: 1;}.halfway-line {width: 60em;height: 80em;border-right: var(--line);}.centre-circle,.penalty-arc {width: 20em;height: 20em;border: var(--line);border-radius: 50%;position: absolute;top: 30em;}.centre-circle {left: calc((120em - 20em - 0.3em)/2);}.centre-mark {width: 2em;height: 2em;background-color: white;border-radius: 50%;position: absolute;top: calc(80em / 2 - 1em);left: calc(120em / 2 - 1em + 0.3em / 2);}.penalty-mark {width: 2em;height: 2em;background-color: white;border-radius: 50%;position: absolute;top: calc(80em / 2 - 1em);left: calc(12em - 2em / 2);}.penalty-area {width: 18em;height: 44em;border: var(--line);position: absolute;top: calc((80em - 44em) / 2);left: -0.3em;background-color: green;}.penalty-arc {left: calc(12em - 20em / 2);z-index: -1;}.goal-area {width: 6em;height: 20em;border: var(--line);position: absolute;top: calc((80em - 20em) / 2);left: -0.3em;}.corner-arc{border:1px solid red;}.corner-arc::after,.corner-arc::before{content: '';position: absolute;width: 5em;height: 5em;border: 0.3em solid white;border-radius: 50%;left:calc(-5em / 2 - 0.3em);}.corner-arc::before {top:calc(-5em / 2 - 0.3em);}.corner-arc::after {bottom:calc(-5em / 2 - 0.3em);}/* .corner-arc-top {width: 100px;height: 100px;line-height: 100px;text-align: center;border: 0.3em solid white;border-radius: 0 0 100px 0;position: absolute;top: -5%;left:-5%;position: absolute;}.corner-arc-bottom {width: 100px;height: 100px;line-height: 100px;text-align: center;border: 0.3em solid white;border-radius: 0 100px 0 0;position: absolute;top: 880px;left: -20px;position: absolute;} */.right {position: absolute;top: 0px;left: 50%;transform: rotateY(180deg);}
</style>

body部分


<body><div class="container"><div class="field"><div class="left"><span class="halfway-line"></span><span class="centre-circle"></span><span class="centre-mark"></span><span class="penalty-area"></span><span class="penalty-mark"></span><span class="penalty-arc"></span><span class="goal-area"></span><span class="corner-arc-top"></span><span class="corner-arc-bottom"></span></div><div class="right"><span class="halfway-line"></span><span class="centre-circle"></span><span class="centre-mark"></span><span class="penalty-area"></span><span class="penalty-mark"></span><span class="penalty-arc"></span><span class="goal-area"></span><span class="corner-arc-top"></span><span class="corner-arc-bottom"></span></div></div></div>
</body>
border="0" width="330" height="86" src="//music.163.com/outchain/player?type=2&id=29750517&auto=1&height=66">

http://chatgpt.dhexx.cn/article/qXXPXBXw.shtml

相关文章

历届世界杯冠军

1930年7月13日&#xff0c;第一届世界足球锦标赛&#xff08;后称世界杯赛&#xff09;&#xff0c;在乌拉圭首都蒙得维的亚的“百周年纪念”体育场&#xff08;1930年正值乌拉圭独立一百周年&#xff0c;由此得名&#xff09;隆重开幕。玻利维亚、巴西、智利、墨西哥、巴拉圭、…

世界杯看不明白?没事咱们还会画足球吗。

2022卡塔尔世界杯如期而至&#xff0c;看到朋友圈&#xff0c;群聊里大家对“战况”分析的头头是道&#xff0c;我只能在一旁干瞪眼&#xff0c;插不上嘴。我的世界杯记忆源自于2014巴西世界杯&#xff0c;球员记忆也只有梅西&#xff0c;可以说是个“球盲”了。眼看自己没啥参…

CSS 绘制世界杯足球场

写在之前的话 花有重开日&#xff0c;人无再少年。 疯狂无大小&#xff0c;热爱即疯狂&#xff01; 足球⚽️&#xff0c;是我大学时期的一门选修课&#xff0c;足球需要场地&#xff0c;场地绘制现在就开始&#xff01;&#xff01;&#xff01; 四年一次的世界杯再卡塔尔进行…

c语言结构体世界杯,世界杯冷知识 | 12座球场的结构巡礼

原标题&#xff1a;世界杯冷知识 | 12座球场的结构巡礼 2018世界杯开赛一周&#xff0c;32只球队都已亮相完毕(有些球队在买回家机票了&#xff1f;)&#xff0c;同时12座赛场也都和大家见过面了&#xff0c;也许专(he)心(jiu)看(lu)球(chuan er)的你并没有注意到它们&#xff…

linux Vi搜索和替换字符串

一. 搜索字符串 1. 打开文件 vi sources.list 2. 进入命令模式 用ESC键进入命令模式。 3. 输入搜索的字符串"/http",点击enter键开始搜索&#xff0c;光标指向第一个被搜到的字符串 /http 4. 点击键盘n搜索下一个 二. 搜索并退出字符串 1. 打开文件 sudo vi …

linux vi修改相同的字符,UNIX/Linux下的vi/vim编辑器快速替换字符串

在UNIX/Linux中的vi/vim编辑中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换&#xff0c;今天发现该命令有很多种写法&#xff0c;而且作用十分强大&#xff0c;还有很多需要学习&#xff0c;记录几种常用的在此&#xff0c;方便以后查询。 :s/procat/law/ 替…

linux用vi查找字符串替换,Linux中vi进行字符替换

Linux环境下vi/vim 可以使用 :s 命令来替换字符串。以前只会使用编辑软件进行替换&#xff0c;今天发现该命令有很多种写法(vi 真是强大啊&#xff0c;还有很多需要学习)&#xff0c;记录几种在此&#xff0c;方便以后查询。 :s/well/good/ 替换当前行第一个 well 为 good :s/w…

查看GitHub项目的星星排行榜(GitHub排行榜)

如图&#xff1a;打开GitHub&#xff0c;在输入框输入 stars:>10000 这里的10000是搜索的星星数的项目

如何查看github star排行榜?

输入location:China 可以搜索指定地区用户USER 输入 指定 star数 比如说 stars:>50000,查找star数大于5万的项目 找到优秀的开源项目, 学习它的源码, 是提高编程能力最快的方法, 即使你不是程序员, 也能从github找到一些好的开源工具, 提升你的工作效率, 当你对github有一…

githubRank: Github 项目和用户排行榜

自己平时比较喜欢逛 Github&#xff0c;也热衷于发现各种各样神奇的仓库&#xff0c;所以干脆用官方的接口自己整合一下&#xff0c;便诞生了—— githubRank&#xff0c;这样一个展示仓库与用户排行的网站&#xff0c;虽然已经存在了很多基于官方接口的 github 项目排行的网站…

GitHub 中文排行榜,高分优秀中文项目一网打尽!

点击上方“AI有道”&#xff0c;选择“星标”公众号 重磅干货&#xff0c;第一时间送达 GitHub 是每个程序员经常逛的地方。在 GitHub 里&#xff0c;我们经常能发现一些优秀的开源且高分项目&#xff01;有时候为了找到最优秀的开源项目&#xff0c;却往往要在 GitHub 上寻找很…

超级盘点 | Github年终各大排行榜

2018 年还有半月就要结束了&#xff0c;这一年&#xff0c;大家都学了些什么&#xff1f;在 Github 上度过了多少时间&#xff1f;收藏了多少开源项目&#xff1f;加入了哪些开源社区&#xff1f;是否为哪个项目或社区贡献了自己的一份力量呢&#xff1f;今天&#xff0c;为大家…

很强!GitHub 中文项目排行榜新鲜出炉!

关注 “GitHubDaily” 设为 “星标”&#xff0c;每天带你逛 GitHub&#xff01; 本文转自机器之心 没事逛一逛中文项目排行榜&#xff0c;什么下载插件、投资理财、求职面试、买房指南&#xff0c;你会打开 GitHub 的新世界大门。 当然&#xff0c;还是有编程指南、机器学习之…

如何查看github热门趋势和star排行榜

文章目录 1. 查看github热门趋势2. 查看github star排行榜3. 通过关键词查找需要的项目4. 几个查看github热点的工具4.1 掘金4.2 百度开发者搜索 5 如何查看开源项目star增长曲线 1. 查看github热门趋势 查看全类&#xff1a;https://github.com/trending 只看java类&#xff…

GITHUB排行榜C位出道-手把手教你玩转V语言版的俄罗斯方块

最近 V 语言-一个GO语言最吸晴的项目&#xff0c;在千呼万唤之后&#xff0c;终于迎来开源&#xff0c;并正式发布了首个可用版本&#xff0c;其一经推出&#xff0c;便强势登顶 GitHub的榜首&#xff0c;引来各方热议。目前V已经可以实现自我编译迭代&#xff0c;笔者大致了解…

毫无争议的 GitHub 顶级有用的开源项目排行榜

TOP 14. 假装自己中病毒软件 ❝ 链接&#x1f517;&#xff1a;https://github.com/bitdust/WamaCry 这个用途可太广泛了&#xff1a; 明天就是 deadline 了可是论文还没写完怎么办这稿子还想再拖一周可是借口都用完了怎么办不想加班&#xff0c;又找不到理由开溜怎么办别人都中…

8月,Github 最热开源项目排行榜来啦

【第八期】 哈喽&#xff0c;大家好&#xff0c;我是开源君&#xff0c;一个资深的互联网玩家&#xff0c;致力于为大家分享各领域优质开源项目。 今天梳理一下本周的 Github 热榜项目。及时挖掘和发现有用的项目&#xff0c;发现趋势热点&#xff0c;让我们比其他人走的更快一…

6月份Github上最热门的开源项目排行出炉

6月份Github上最热门的开源项目排行出炉&#xff0c;一起来看看本月上榜的开源项目有哪些&#xff1a; 1. the-art-of-command-line https://github.com/jlevy/the-art-of-command-line Star 59040 这份指南是许多作者和译者的共同成果&#xff0c;部分内容首次出现于…

学习资源分享——GitHub排行榜

今天偶然看到github上kon9chunkit整理的GitHub中文库的排行榜,有1个总榜(所有语言项目汇总排名),也有18个分榜(单个语言项目排名)。 项目每周更新, https://github.com/kon9chunkit/GitHub-Chinese-Top-Charts#All-Language 然后在Gihub上也有不限语言的一个总榜,覆盖…

卧槽!GitHub排行榜即将下线;酷炫的Python热重载工具;开发者体验·电子书;C++最佳实践合辑;前沿论文 | ShowMeAI资讯日报

&#x1f440;日报合辑 | &#x1f4c6;电子月刊 | &#x1f514;公众号下载资料 | &#x1f369;韩信子 &#x1f440;日报合辑 | &#x1f4c6;电子月刊 | &#x1f514;公众号下载资料 | &#x1f369;韩信子 &#x1f4e2; 卧槽&#xff01;GitHub Trendind板块即将下线&am…