不一样的css(三)

目录

一、前言

二、五角星

1.五角星,叠盖法:

2.五角星,拼凑法: 

3.五角星,svg画法:

4.五角星,利用clip-path属性进行裁剪

三、结束语


一、前言

通过上两节的内容我们对css画小图标有了新的理解,同时也提高了我们的css水平,那么今天我们继续来学习css画小图标系列,来看不一样的css。

二、五角星

1.五角星,叠盖法:

将一个向上三角型与一个向下三角形进行交叉定位,再利用一个与背景色形同的三角形叠盖到向上三角型上,就完成了一个五角星,具体查看下列代码。

 步骤一:制作向下与向上 的三角形

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.star{/*制作向下三角型,看不懂的可以参考不一样的css(一)*/width: 0;height: 0;border-top:40px solid  red;border-bottom:40px solid  transparent;border-right:40px solid  transparent;border-left:40px solid  transparent;
/*			让盒子进行居中展示*/margin: 100px auto;
/*			设置定位*/position: relative;}.star::before{
/*			利用伪元素减少html代码,来制作一个向上三角形*/content: "";display: block;width: 0;height: 0;border-top: 40px solid transparent;border-bottom: 69px solid red;border-right: 40px solid transparent;border-left: 40px solid transparent;
/*		    设置向上三角形的位置*/position: absolute;top: -105px;left: -39px;}</style>
</head>
<body><div class="star"></div>
</body>
</html>

结果展示

这里我们可以清楚的看到,下面的角是平着的,我们可以通过设置一个与背景颜色相同的三角形进行叠盖,覆盖在大的向上的三角形上,就可以在视觉上形成一个五角星,那么我们继续往下看:

 新增的代码为新添加的伪元素after的内容:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.star{/*制作向下三角型,看不懂的可以参考不一样的css(一)*/width: 0;height: 0;border-top:40px solid  red;border-bottom:40px solid  transparent;border-right:40px solid  transparent;border-left:40px solid  transparent;
/*			让盒子进行居中展示*/margin: 100px auto;
/*			设置定位*/position: relative;}.star::before{
/*			利用伪元素减少html代码,来制作一个向上三角形*/content: "";display: block;width: 0;height: 0;border-top: 40px solid transparent;border-bottom: 69px solid red;border-right: 40px solid transparent;border-left: 40px solid transparent;
/*		    设置向上三角形的位置*/position: absolute;top: -105px;left: -39px;}.star::after{
/*			利用伪元素制作覆盖在上面的小三角型 这里是相对上面代码新增的内容*/content: "";display: block;position: absolute;width: 0;height: 0;border-top: 54px solid transparent;border-bottom: 16px solid white;border-right: 40px solid transparent;border-left: 40px solid transparent;
/*		    设置三角型的位置*/top: -66px;left: -39px;}</style>
</head>
<body><div class="star"></div>
</body>
</html>

运行结果:

这样我们就得到了一个五角星,这样来看我们五角星,有些别扭,那么我们继续来学习下一种方法,来制作五角星。 

2.五角星,拼凑法: 

通过利用三个三角形,进行拼凑,旋转定位来实现一个五角星。

步骤一:写一个钝角的等腰三角形

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.star{margin: 100px auto;/*设置盒子距离顶部100px 居中显示*/width: 0;/*写一个三角星*/height: 0;border-top: 30px solid red;/*让顶部边框距离变小,其余大于顶部边框且相等就可以得到一个钝角的等腰三角星*/border-left: 40px solid transparent;border-bottom: 40px solid transparent;border-right: 40px solid transparent;transform: rotate(-140deg);/*将得到的图形进行旋转*/position: relative;/*设置定位便于后续盒子进行位置确定*/}</style>
</head>
<body><div class="star"></div></body>
</html>

结果:

步骤二:写第二个三角形进行拼凑

通过伪元素,来写第二个三角型,道理相同,制作一个三角型,对其进行旋转,定位,放在合适的位置

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.star{margin: 100px auto;width: 0;height: 0;border-top: 30px solid red;border-left: 40px solid transparent;border-bottom: 40px solid transparent;border-right: 40px solid transparent;transform: rotate(-140deg);position: relative;}.star::before{content: "";display: inline-block;width: 0;height: 0;border-top: 30px solid red;border-left: 40px solid transparent;border-bottom: 40px solid transparent;border-right: 40px solid transparent;transform: rotate(280deg);position: absolute;top: -50px;left: -15px;}</style>
</head>
<body><div class="star"></div></body>
</html>

 结果如下图:

步骤三:画出第三个三角形,进行最后的拼凑

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.star{margin: 100px auto;width: 0;height: 0;border-top: 30px solid red;border-left: 40px solid transparent;border-bottom: 40px solid transparent;border-right: 40px solid transparent;transform: rotate(-140deg);position: relative;}.star::before{content: "";display: inline-block;width: 0;height: 0;border-top: 30px solid red;border-left: 40px solid transparent;border-bottom: 40px solid transparent;border-right: 40px solid transparent;transform: rotate(280deg);position: absolute;top: -50px;left: -15px;}.star::after{content: "";display: inline-block;width: 0;height: 0;border-top: 30px solid red;border-left: 40px solid transparent;border-bottom: 40px solid transparent;border-right: 40px solid transparent;transform: rotate(426deg);position: absolute;top: -43px;left: -57px;}</style>
</head>
<body><div class="star"></div></body>
</html>

运行结果:

 

 以上就是利用拼凑法将三个三角型进行拼凑,从而得到一个五角星

3.五角星,svg画法:

利用svg标签,设置其路径,来完成一个五角星:

HTML部分:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 作为背景图通过css进行插入 */.icon_svg{width: 400px;height: 400px;background: #ccc;border: 3px solid pink;background: url(./svg/index.svg);}</style>
</head>
<body><div class="icon_svg"></div></body>
</html>

svg文件部分

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100.94232177734375" height="93.56983947753906" viewBox="0 0 100.94232177734375 93.56983947753906" fill="none"><path d="M1.70058 36.2561L99.2006 36.2561L9.70058 92.2561L51.7006 1.25607L88.7006 92.2561L1.70058 36.2561Z" stroke="rgba(255, 161, 161, 1)" stroke-width="1"      fill="#FF0000" ></path>
</svg>

运行结果:

利用svg呢我们就可以实现一个比较完美的五角星

4.五角星,利用clip-path属性进行裁剪

代码如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.star {width: 100px;height: 100px;background: red;/* 绘制路径 */clip-path:polygon(50% 0,65% 40%, 100% 40%,72% 60%,85% 100%,50% 75%,15% 100%,28% 60%,0 40%,35% 40%);}</style>
</head>
<body><div class="star"></div></body>
</html>

 结果展示

三、结束语

本节内容我们主要讲解了四种纯css画五角星的方法,那么下一节我们继续来学习纯css画小图标,而且我们会学习一个新的内容,svg,通过svg我们可以更加快速的去得到一个css小图标,我们下一节再见。 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

autogen框架中使用chatglm4模型实现react

本文将介绍如何使用使用chatglm4实现react&#xff0c;利用环境变量、Tavily API和ReAct代理模式来回答用户提出的问题。 环境变量 首先&#xff0c;我们需要加载环境变量。这可以通过使用dotenv库来实现。 from dotenv import load_dotenv_ load_dotenv()注意.env文件处于…

Neural Magic 发布 LLM Compressor:提升大模型推理效率的新工具

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

LabVIEW实现TCP/IP通信

目录 1、TCP通信原理 2、硬件环境部署 3、云端环境部署 4、TCP通信函数 5、程序架构 6、前面板设计 7、程序框图设计 8、测试验证 本专栏以LabVIEW为开发平台&#xff0c;讲解物联网通信组网原理与开发方法&#xff0c;覆盖RS232、TCP、MQTT、蓝牙、Wi-Fi、NB-IoT等协议。 结合…

Linux系统Docker部署开源在线协作笔记Trilium Notes与远程访问详细教程

目录 ⛳️推荐 前言 1. 安装docker与docker-compose 2. 启动容器运行镜像 3. 本地访问测试 4.安装内网穿透 5. 创建公网地址 6. 创建固定公网地址 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下…

Linux关于vim的笔记

Linux关于vim的笔记&#xff1a;(vimtutor打开vim 教程) --------------------------------------------------------------------------------------------------------------------------------- 1. 光标在屏幕文本中的移动既可以用箭头键&#xff0c;也可以使用 hjkl 字母键…

Swift 实现链表重新排列:L0 → Ln → L1 → Ln-1

前言 本题由于没有合适答案为以往遗留问题&#xff0c;最近有时间将以往遗留问题一一完善。 143. 重排链表 不积跬步&#xff0c;无以至千里&#xff1b;不积小流&#xff0c;无以成江海&#xff0c;Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言&#xff0c;我们会…

C++ —— 以真我之名 如飞花般绚丽 - 智能指针

目录 1. RAII和智能指针的设计思路 2. C标准库智能指针的使用 2.1 auto_ptr 2.2 unique_ptr 2.3 简单模拟实现auto_ptr和unique_ptr的核心功能 2.4 shared_ptr 2.4.1 make_shared 2.5 weak_ptr 2.6 shared_ptr的缺陷&#xff1a;循环引用问题 3. shared_ptr 和 unique_…

Macos远程连接Linux桌面教程;Ubuntu配置远程桌面;Mac端远程登陆Linux桌面;可能出现的问题

文章目录 1. Ubuntu配置远程桌面2. Mac端远程登陆Linux桌面3. 可能出现的问题1.您用来登录计算机的密码与登录密钥环里的密码不再匹配2. 找不到org->gnome->desktop->remote-access 1. Ubuntu配置远程桌面 打开设置->共享->屏幕共享。勾选允许连接控制屏幕&…

ElasticSearch学习了解笔记

搜索引擎的原理&#xff1a; 1、查询分析&#xff08;自然语言处理&#xff09;理解用户需求 2、分词技术 3、关键词搜索匹配 4、搜索排序 lucence Lucene 是一个成熟的权威检索库 Elasticsearch 的搜索原理简单过程是&#xff0c;索引系统通过扫描文章中的每一个词&#xff…

GoF设计模式——结构型设计模式分析与应用

文章目录 UML图的结构主要表现为&#xff1a;继承&#xff08;抽象&#xff09;、关联 、组合或聚合 的三种关系。1. 继承&#xff08;抽象&#xff0c;泛化关系&#xff09;2. 关联3. 组合/聚合各种可能的配合&#xff1a;1. 关联后抽象2. 关联的集合3. 组合接口4. 递归聚合接…

【C++】C++11新特性详解:可变参数模板与emplace系列的应用

C语法相关知识点可以通过点击以下链接进行学习一起加油&#xff01;命名空间缺省参数与函数重载C相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C内存管理模板初阶String使用String模拟实现Vector使用及其模拟实现List使用及其模拟实现容器适配器Stack与QueuePriori…

多模态大型语言模型(MLLM)综述

目录 多模态大语言模型的基础 长短期网络结构(LSTM) 自注意力机制 基于Transformer架构的自然语言处理模型 多模态嵌入的关键步骤 TF-IDF TF-IDF的概念 TF-IDF的计算公式 TF-IDF的主要思路 TF-IDF的案例 训练和微调多模态大语言模型(MLLM) 对比学习 (CLIP, ALIG…

Otter 安装流程

优质博文&#xff1a;IT-BLOG-CN 一、背景 随着公司的发展&#xff0c;订单库的数据目前已达到千万级别&#xff0c;需要进行分表分库&#xff0c;就需要对数据进行迁移&#xff0c;我们使用了otter&#xff0c;这里简单整理下&#xff0c;otter 的安装过程&#xff0c;希望对…

Web3 游戏周报(11.17 - 11.23)

回顾上周的区块链游戏概况&#xff0c;查看 Footprint Analytics 与 ABGA 最新发布的数据报告。 【11.17 - 11.23】Web3 游戏行业动态&#xff1a; 加密游戏开发商 Gunzilla Games 发推表示&#xff0c;其已与 Coinbase Ventures 达成合作并获得其投资。 国际足联将与 Mythica…

【linux学习指南】初识Linux进程信号与使用

文章目录 &#x1f4dd;信号快速认识&#x1f4f6;⽣活⻆度的信号&#x1f4f6; 技术应⽤⻆度的信号&#x1f309; 前台进程&#xff08;键盘&#xff09;&#x1f309;⼀个系统函数 &#x1f4f6;信号概念&#x1f4f6;查看信号 &#x1f320; 信号处理&#x1f309; 忽略此信…

3DEXPERIENCE软件是干什么的—3DE软件代理商微辰三维

在当今数字化转型浪潮席卷全球各个行业的大背景下&#xff0c;3DEXPERIENCE 软件宛如一颗璀璨的明星&#xff0c;闪耀在产品设计、制造以及协同创新等诸多领域。它是由达索系统公司推出的一款综合性的、功能强大的商业软件平台&#xff0c;为企业的整个产品生命周期管理带来了前…

【大数据学习 | Spark-Core】广播变量和累加器

1. 共享变量 Spark两种共享变量&#xff1a;广播变量&#xff08;broadcast variable&#xff09;与累加器&#xff08;accumulator&#xff09;。 累加器用来对信息进行聚合&#xff0c;相当于mapreduce中的counter&#xff1b;而广播变量用来高效分发较大的对象&#xff0c…

STM32编程小工具FlyMcu和STLINK Utility 《通俗易懂》破解

FlyMcu FlyMcu 模拟仿真软件是一款用于 STM32 芯片 ISP 串口烧录程序的专用工具&#xff0c;免费&#xff0c;且较为非常容易下手&#xff0c;好用便捷。 注意&#xff1a;STM32 芯片的 ISP 下载&#xff0c;只能使用串口1&#xff08;USART1&#xff09;&#xff0c;对应的串口…

MTK主板_安卓主板方案_MTK联发科主板定制开发

联发科(MTK)主板以其强大的性能和多样化的功能而受到广泛关注。该平台包括多个型号&#xff0c;例如MT6761、MT8766、MT6762、MT6765、MT8768和MT8788等&#xff0c;均配置了四核或八核64位处理器&#xff0c;主频可高达2.0GHz。采用先进的12nm工艺&#xff0c;搭载Android 11.…

信息收集(1)

学习视频引路信息收集&#xff08;1&#xff09;_哔哩哔哩_bilibili View信息收集&#xff08;1&#xff09; 分享一个漏洞挖掘平台&#xff1a;补天 以吉林通用航空职业技术学院|官网 (jlthedu.com)为目标 第一步&#xff1a;查看cdn和域名被注册的信息 可以查询域名信息的…