使用clip-path来画不同的形状,三角形,多边形,菱形,六边形等等

news2024/12/24 8:51:41

介绍

单词"clip path"的直译过来就是:裁剪路径

clip-path CSS 属性可以创建一个只有元素的部分区域可以显示的剪切区域。区域内的部分显示,区域外的隐藏。剪切区域是被引用内嵌的 URL 定义的路径或者外部 SVG 的路径。

也就是说,使用 clip-path 可以将一个容器裁剪成任何我们想要的样子。

例如:

div {
    background: deeppink;
    clip-path: polygon(0 0, 100% 0, 0 100%, 0 0);
}

clip-path语法

clip-path: <clip-source> | [ <basic-shape> || <geometry-box> ] | none
其默认值是none。另外简单介绍clip-path几个属性值:

clip-source: 可以是内、外部的SVG的<clipPath>元素的URL引用
basic-shape: 使用一些基本的形状函数创建的一个形状。主要包括circle()、ellipse()、inset()和polygon()。(文末有详解)
geometry-box: 是可选参数。此参数和basic-shape函数一起使用时,可以为basic-shape的裁剪工作提供参考盒子。如果geometry-box由自身指定,那么它会使用指定盒子形状作为裁剪的路径,包括任何(由border-radius提供的)的角的形状。
 

使用polygon()剪切元素

用于定义一个多边形,也可以用来剪裁图形。它的参数是一组坐标对(<shape-arg> <shape-arg>),每一个坐标对代表多边形的一个顶点坐标。浏览器会将最后一个顶点和第一个顶点连接得到一个封闭的多边形。坐标对使用逗号来进行分隔,可以使用绝对单位或百分比单位值。

补充:除了坐标对参数,polygon()函数还可以使用一个可选的关键字fill-rule。该关键字指定如何处理可能相交的多边形形状的区域。可取值有nonzero 和evenodd。默认值为nonzero。

下面都是有效的polygon()函数声明:

polygon(0 0, 100% 100%, 0 100%);
 
 
 
polygon(0 0, 100% 100%, 0 100%);
 
 
 
polygon(50px 0px, 100px 100px, 0px 100px);
 
 
 
polygon(evenodd, 446.33px 452.00px, 443.63px 246.82px, 389.92px 245.63px, ...);



clip-path: polygon(0 0, 100% 0, calc(100% - 15px) 100%,0 100%,0 0 );
 

例如下面的图形:

来个实例:

img {
 
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
 
}

在线辅助工具

可以帮助你设计出不同的图形:Clippy — CSS clip-path maker 

 

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

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

相关文章

LeetCode【11】 盛水最多的容器

题目&#xff1a; 分析&#xff1a; 1、双指针&#xff0c;储水为&#xff08;R-L &#xff09;* 二者较小高度&#xff0c;如题目&#xff0c;(9-2)* 7 49 2、双指针向中间靠&#xff0c;每次移动较矮的指针。 代码&#xff1a; public int maxArea(int[] height) {int l…

STC89C51基础及项目第15天:小车测速、添加语言识别控制

1. 小车测速的原理&#xff08;281.126&#xff09; 测速模块 用途&#xff1a; 广泛用于电机转速检测&#xff0c;脉冲计数,位置限位等。 逻辑&#xff1a; 有遮挡&#xff0c;输出高电平&#xff1b;无遮挡&#xff0c;输出低电平 接线 VCC 接电源正极 3.3 - 5VGND 接电源负…

YOLOv7改进:极简的神经网络模型 VanillaNet---VanillaBlock助力检测,实现暴力涨点 | 华为诺亚2023

💡💡💡本文属于原创独家改进:极简模块VanillaBlock,以极简主义的设计为理念,网络中仅仅包含最简单的卷积计算,去掉了残差和注意力模块,二次创新引入到YOLOv7中取得了不俗的效果。 极简模块VanillaBlock | 亲测在多个数据集实现涨点; 收录: YOLOv7高阶自研专…

【JAVA】最容易忽视的数据类型——枚举

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️初识JAVA】 前言 Java枚举是一个特殊的类一般表示一组常量,比如一年的 4个季节,一年的 12 个月份,一个星期的7天,方向有东南西北等。今天就让我们来学习一下在JAVA中这个特殊的类。 枚举 枚举是一…

LeetCode: 1395. 统计作战单位数

目录 1. 解法一&#xff1a;枚举中点 2. 解法二&#xff1a;树状数组 离散化 优化解法一 原题链接&#xff1a;1395. 统计作战单位数 - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; n 名士兵站成一排。每个士兵都有一个 独一无二 的评分 rating 。 每 3 个士…

【JWT】快速了解什么是jwt及如何使用jwt

一、导言 1、什么是jwt及组成部分 JWT&#xff08;JSON Web Token&#xff09;是一种用于在网络应用间安全传递声明&#xff08;claim&#xff09;的开放标准。它由三部分组成&#xff1a;头部&#xff08;Header&#xff09;、载荷&#xff08;Payload&#xff09;和签名&…

ARM 按键控制 LED灯,蜂鸣器,风扇

main.c: #include "uart.h" #include "key_it.h" int main() {all_led_init();uart4_init();//串口初始化//中断初始化key_it_config();key3_it_config();buzzer_init();fan_init();while(1){//保证主程序不结束}return 0; }src/key_it.c: #include"…

嵌入式面试常见问题(一)

目录 1.什么情况下会出现段错误&#xff1f; 2.swap() 函数为什么不能交换两个变量的值 3.一个函数有六个参数 分别放在哪个区&#xff1f; 4.定义一个变量&#xff0c;赋初值和不赋初值分别保存在哪个区&#xff1f; 5.linux查看端口状态的命令 6.结构体中->和.的区…

简单多状态dp【动态规划】

目录 一、按摩师 二、打家劫舍 三、删除并获得点数 四、粉刷房子 五、买卖股票的最佳时机 六、买卖股票的最佳时机&#xff08;含手续费&#xff09; 七、买卖股票的最佳时机III 八、买卖股票的最佳时机IV 一、按摩师 class Solution { public:int massage(vector<int>…

Avalonia如何更改全局背景色

1.项目下载地址&#xff1a;https://gitee.com/confusedkitten/avalonia-demo 2.UI库Semi.Avalonia&#xff0c;项目地址 https://github.com/irihitech/Semi.Avalonia 3.ColorView&#xff0c;使用Semi.Avalonia.ColorPicker&#xff0c;Nuget获取就行 4.样式预览 以下是…

MyCat实战

概念介绍 在 MyCat 的整体结构中&#xff0c;分为两个部分&#xff1a;上面的逻辑结构、下面的物理结构。 在 MyCat 的逻辑结构主要负责逻辑库、逻辑表、分片规则、分片节点等逻辑结构的处理&#xff0c;而具体的数据存储还是在物理结构&#xff0c;也就是数据库服务器中存储的…

云原生之使用Docker部署开源建站工具Halo-V2.10版本

云原生之使用Docker部署开源建站工具Halo-V2.10版本 一、Halo-V2.10介绍1.1 Halo简介1.2 Halo特点 二、本次实践规划2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Halo镜像五、部署Halo5.1…

以数据为中心 的AI v.s. 以模型为中心的AI

原文&#xff1a;Data-Centric AI vs. Model-Centric AI Introduction to Data-Centric AI 当你学习关于机器学习相关的课程时&#xff0c;通常是给你一个清洁好的数据,你的任务是利用这个数据集训练出一个最好的模型。所有在机器学习课程教的技巧都是为了这个目标&#xff1…

RT-Thread SMP介绍与移植(学习)

RT-Thread SMP介绍与移植 SMP&#xff1a;对称多处理&#xff08;Symmetrical Multi-Processing&#xff09;简称SMP&#xff0c;是指在一个计算机上汇集了一组处理器&#xff08;多CPU&#xff09;&#xff0c;各CPU之间共享内存子系统以及总线结构。 RT-Thread自4.0.0版本开…

Burstormer论文阅读笔记

这是CVPR2023的一篇连拍图像修复和增强的论文&#xff0c;一作是阿联酋的默罕默德 本 扎耶得人工智能大学&#xff0c;二作是旷视科技。这些作者和CVPR2022的一篇BIPNet&#xff0c;同样是做连拍图像修复和增强的&#xff0c;是同一批。也就是说同一个方向&#xff0c;22年中了…

基于SpringBoot的精准扶贫管理系统

目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 贫困户信息管理 新闻类型管理 志愿者招聘管理 志愿者招聘 留言反馈管理 贫困户 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息…

【笔记】【信息论与编码】第三章 离散信源

本文是笔者在学习《信息论与编码》课程中所做的笔记&#xff0c;供个人学习记忆使用。 第三章 离散信源 文章目录 一、离散信源概念离散无记忆信源K重符号序列离散信源 二、离散信源的熵单符号离散无记忆信源熵K重符号序列离散无记忆信源熵K重符号序列离散有记忆信源熵马尔可夫…

如何在Docker部署Drupal并结合内网穿透实现远程访问

文章目录 前言1. Docker安装Drupal2. 本地局域网访问3 . Linux 安装cpolar4. 配置Drupal公网访问地址5. 公网远程访问Drupal6. 固定Drupal 公网地址 前言 Dupal是一个强大的CMS&#xff0c;适用于各种不同的网站项目&#xff0c;从小型个人博客到大型企业级门户网站。它的学习…

NZ系列工具NZ05:VBA不打开工作簿获取其内容

我的教程一共九套及VBA汉英手册一部&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到数据库&#xff0c;到字典&#xff0c;到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑&#xff0c;这么多知识点该如何组织…

Linux 测试端口是否放行

Linux 测试端口是否放行 1、准备2、在 CentOS 7 上放行端口&#xff0c;你可以使用以下方法&#xff1a;4、错误解决&#xff1a;[rootlocalhost backup]# netcat -l -p 11111 netcat: cannot use -p and -l 装了netcat不能用5、能用telnet去测试吗6、效果&#xff1a; 1、准备…