CSS实现三种常用的三角形效果

目录

前言

一、实现普通三角形效果

二、实现三角形的气泡框效果

三、实现空心三角形效果

四、总结 

往期回顾


前言

CSS 提供了出色的方法可以实现基本的形状。本文就来看看如何使用这些方法来实现项目中常用的三种三角形效果。 

一、实现普通三角形效果

实现步骤 :设置一个div不设宽高,设置透明,通过调整不同方向边框的值来实现不同方向和大小的三角形

<style>/* 向上效果 */.up {width: 0;height: 0;border-top: 100px solid transparent; border-right: 100px solid transparent;border-left: 100px solid transparent;border-bottom: 100px solid green;}/* 向下效果 */.down {width: 0;height: 0;border-top: 100px solid orangered; border-right: 100px solid transparent;border-left: 100px solid transparent;border-bottom: 100px solid transparent;}/* 向左效果 */.left {width: 0;height: 0;border-top: 100px solid transparent; border-right: 100px solid burlywood;border-left: 100px solid transparent;border-bottom: 100px solid transparent;}/* 向右效果 */.right {width: 0;height: 0;border-top: 100px solid transparent; border-right: 100px solid transparent;border-left: 100px solid rebeccapurple;border-bottom: 100px solid transparent;}
</style>
<div class="up"></div>
<div class="down"></div>
<div class="left"></div>
<div class="right"></div>

二、实现三角形的气泡框效果

先看效果:

带三角形的气泡框,可拆分为一个盒子和一个空心三角形。这时可同时设置before和after。各自设置好边框组成三角形相互掩盖即可达到效果。

代码如下:

<style>.bubble{width:300px;height:300px;border: 10px solid burlywood;position: relative;}.bubble::after{content: "";position: absolute;right:60px;top:300px;width:0px;height:0px;border:30px solid transparent;border-top: 30px solid burlywood;}.bubble::before{content: "";position: absolute;top:295px;left:180px;z-index: 1;width:0px;height: 0px;border: 30px solid transparent;border-top:30px solid #fff;  }
</style>
<div class="bubble"></div>

三、实现空心三角形效果

先看效果:

使用三角形,加上伪类选择器before或after。before或after里设计一个三角形,其中一个背景颜色与环境颜色相同(一般为白色),用白色的三角形掩盖住另一个三角形即可达到三角形空心的目的。代码如下

<style>.hollow{width:0px;height:0px;border: 100px solid transparent;border-bottom-color: burlywood;position: relative;}.hollow::after{content: "";position: absolute;right:-100px;top:-80px;width:0px;height:0px;border:100px solid transparent;border-bottom-color: #fff ;z-index: 2;}
</style>
<div class="hollow"></div>

四、总结 

以上主要总结了项目中常用三角形效果方案,是否有你需要的一款呢?欢迎大家在评论区交流。如果文章对你有所帮助,❤️关注+点赞❤️鼓励一下博主会持续更新。。。。

 我的博客:前端小阳仔_Html,CSS,JavaScript,Vue,React,Angular领域博主

往期回顾

 css实现元素居中的6种方法 

Angular8升级至Angular13遇到的问题

前端vscode必备插件(强烈推荐)

Webpack性能优化

vite构建如何兼容低版本浏览器

前端性能优化9大策略(面试一网打尽)!

vue3.x使用prerender-spa-plugin预渲染达到SEO优化

 vite构建打包性能优化

 vue3.x使用prerender-spa-plugin预渲染达到SEO优化

 ES6实用的技巧和方法有哪些?

 css超出部分显示省略号

vue3使用i18n 实现国际化

vue3中使用prismjs或者highlight.js实现代码高亮

什么是 XSS 攻击?什么是 CSRF?什么是点击劫持?如何防御

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

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

相关文章

cookie in selenium 定时更新token

1.selenium添加cookie访问 需要登录才能访问的链接 selenium 访问 “https://developer.org.com”&#xff0c;如果没登陆,则跳转到"https://console.org.com/login"&#xff0c;此时selenium取到的cookie的domain是&#xff1a;.console.org.com。 而domain 是 .c…

【Docker】Docker学习⑦ - Docker仓库之单机Dokcer Registry

【Docker】Docker学习⑦ - Docker仓库之单机Dokcer Registry 七、 Docker仓库之单机Dokcer Registry1 下载docker registry镜像2 搭建单机仓库2.1 创建授权使用目录2.2 创建用户2.3 验证用户密码2.4 启动docker registry2.5 验证端口和容器2.6 测试登录仓库2.7 在Server1登陆后…

每日一题——LeetCode1313.解压缩编码列表

这么简单的题目要说的这么复杂 nums里每相邻的两个元素nums[i]、nums[j]为一对&#xff0c;nums[i]表示nums[j]的次数 var decompressRLElist function(nums) {let res[]for(let i0,j1;j<nums.length-1;i2,j2){while(nums[i]--){res.push(nums[j])}}return res }; 消耗时…

Hudi0.14.0集成Spark3.2.3(Spark SQL方式)

1 整合Hive For users who have Spark-Hive integration in their environment, this guide assumes that you have the appropriate settings configured to allow Spark to create tables and register in Hive Metastore. 我们使用 Hive添加第三方jar包方式总结 中**{HIVE_H…

python实例100第36例:求100之内的素数

题目&#xff1a;求100之内的素数。 程序分析&#xff1a;素数是只能被1和他本身除尽的书。 程序源代码&#xff1a; 实例 #!/usr/bin/python # -*- coding: UTF-8 -*-# 输出指定范围内的素数# 用户输入数据 lower int(input("输入区间最小值: ")) upper int(i…

应用集成(iPaaS)和数据集成(ETL)高效协同的最佳实践

随着企业数字化的步伐加快&#xff0c;企业IT工程师和数据工程师在应用和数据集成方面的工作变得日益密切。IT工程师通常利用iPaaS&#xff08;Integration Platform as a Service&#xff09;来进行异构应用和数据的集成&#xff0c;而数据工程师则倾向于使用ELT/ETL&#xff…

Dify学习笔记-入门学习(二)

1、官方文档链接 https://docs.dify.ai/v/zh-hans/getting-started/readme 2、 Dify基础介绍 Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务&#xff08;Backend as Service&#xff09;和 LLMOps 的理念&#xff0c;使开发者可以快速搭建生产级的生成…

【深度学习:Collaborative filtering 协同过滤】深入了解协同过滤:技术、应用与示例

此图显示了使用协作筛选预测用户评分的示例。起初&#xff0c;人们会对不同的项目&#xff08;如视频、图像、游戏&#xff09;进行评分。之后&#xff0c;系统将对用户对项目进行评分的预测&#xff0c;而用户尚未评分。这些预测基于其他用户的现有评级&#xff0c;这些用户与…

在Vite5.x中使用monaco-editor

Uncaught (in promise) Error: Unexpected usage at _EditorSimpleWorker.loadForeignModule 如果你像我这样报错,那一般是getWorker部分出问题了. 首先推个帖子: https://github.com/vitejs/vite/discussions/1791 然后是代码 不需要在vite.config.ts中做任何设置,也不用…

硬件基础:数字电路概述与基础门电路

什么是数字逻辑电路 数字电路是一种利用离散信号进行信息处理的电子电路系统。 它的核心特点是使用数字信号来执行算术运算和逻辑运算。数字电路的工作信号是离散的&#xff0c;通常只取两个值&#xff1a;高电平和低电平&#xff0c;分别代表数值“1”和“0”。 这种电路的基础…

CSS基本知识总结

目录 一、CSS语法 二、CSS选择器 三、CSS样式表 1.外部样式表 2.内部样式表 3.内联样式 四、CSS背景 1.背景颜色&#xff1a;background-color 2.背景图片&#xff1a;background-image 3.背景大小&#xff1a;background-size 4.背景图片是否重复&#xff1a;backg…

活动回顾丨云原生技术实践营上海站「云原生 AI 大数据」专场(附 PPT)

AI 势不可挡&#xff0c;“智算”赋能未来。2024 年 1 月 5 日&#xff0c;云原生技术实践营「云原生 AI &大数据」专场在上海落幕。活动聚焦容器、可观测、微服务产品技术领域&#xff0c;以云原生 AI 工程化落地为主要方向&#xff0c;希望帮助企业和开发者更快、更高效地…

大数据学习之Flink算子、了解(Transformation)转换算子(基础篇三)

Transformation转换算子&#xff08;基础篇三&#xff09; 目录 Transformation转换算子&#xff08;基础篇三&#xff09; 三、转换算子&#xff08;Transformation&#xff09; 1.基本转换算子 1.1 映射&#xff08;Map&#xff09; 1.2 过滤&#xff08;filter&#xf…

Redis应用(1)缓存(1.2)------Redis三种缓存问题

三者出现的根本原因是&#xff1a;Redis缓存命中率下降&#xff0c;请求直接打到DB上了。 一、 缓存穿透&#xff1a; 1、定义&#xff1a; 缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在&#xff0c;这样缓存永远不会生效&#xff0c;这些请求都会打到数据库。…

C++PythonC# 三语言OpenCV从零开发(4):视频流读取

文章目录 相关链接视频流读取CCSharpPython 总结 相关链接 C&Python&Csharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程&#xff08;附带课程课件资料课件笔记&#xff09; OpenCV 教程中文文档|OpenCV中文 OpenCV教程中文文档|W3Csc…

深入理解Linux wall命令:一键向所有用户发送消息(附实例详解和注意事项)

Linux wall命令介绍 wall 是一款命令行工具&#xff0c;主要用于在所有已登录用户的终端上显示消息。你可以直接输入消息或者通过文件传入。 Linux wall命令适用的Linux版本 wall命令在大多数Linux发行版&#xff08;如Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、Red…

RabbitMQ 入门到精通

RabbitMQ入门到精通 一、了解RabbitMQ1.基础知识2.多种交换机模型详解 二、服务端搭建1.简单搭建2.信息持久化到容器外部 三、消息生产者和消费者1.消息生产者2.消息消费者3.RabbitTemplate 详解4.RabbitListener详解5.其他注解 四、如何保证消息可靠性1.发送方进行消息发送成功…

print会默认调用__str__方法吗

一、现象描述&#xff1a; 打印Mongodb自己生成的id&#xff1a; print(res[_id]) res[_id]输出&#xff1a; 659faa6670433c2c86986861 ObjectId(‘659faa6670433c2c86986861’) 二、为什么会不一样呢 在 MongoDB 中&#xff0c;_id 字段通常是一个 ObjectId 类型的实例。…

物联网中南向协议、北向协议是什么?南向协议、北向协议的区别

南向协议通常是用于管控其他厂商设备的数据接口&#xff0c;即向下对接的数据接口。 通过该协议&#xff0c;实现对底层设备上报信息的集中监控、统计&#xff0c;此外可让控制器利用南向协议的下行通道&#xff0c;对设备实现控制功能。 北向协议是借助控制模块向上层业务应用…

Go 虚拟环境管理工具 gvm 原理介绍与使用指南

本文谈下我对 Go 版本管理的一些想法。让后&#xff0c;我将介绍一个小工具&#xff0c;gvm。这个话题说起来也很简单&#xff0c;但如果想用的爽&#xff0c;还是要稍微梳理下。 背景介绍 Go 的版本管理&#xff0c;并非包的依赖管理&#xff0c;而且关于如何在不同的 Go 版…