当前位置:网站首页>Using clip path to draw irregular graphics
Using clip path to draw irregular graphics
2022-07-06 19:28:00 【Buer blog】
In the daily development process UI Designers will have irregular shapes and designs , In most cases, we use background images to render irregular shapes , But this is related to performance optimization Reduce HTTP request The principle of is contrary .
for instance UI The designer wants us to render a diamond with gradient colors .

Maybe you think you can pass transform: skew(-10deg) Function to tilt the graph , This seems to be a good plan , But we want to add some content .

As shown on the right side of the figure below, we use transform: skew(-10deg) Change the tilt angle of your element , But its internal elements also inherit the parent transform Attribute is skewed . Obviously this is not UI The effect the designer wants .
At this moment, there must be a witty partner saying , Since the child element inherits the parent element transform: skew(-10deg) attribute , So let's set the sub element transform: skew(10deg) Attribute is OK ?

At this moment, there is a new problem , Although we have made the sub elements display horizontally , But the midpoint of our element also tilts , Also can't reach UI The designer's requirements .
And it's actually very simple to achieve the effect , We just need clip-path To replace transform that will do .
// transform: skew(-10deg);
clip-path: polygon(0% 100%, 15% 0%, 100% 0%, 85% 100%);
clip-path
seeing the name of a thing one thinks of its function ,clip-path Is a clipping path , Display in the path , Hidden outside the path .
inset rectangular

circle circular

ellipse The ellipse

polygon polygon

What about? , Now see the above properties , Reflect on the previous project , There will be clip-path Places that can be replaced or simplified .
Here is a recommendation clip-path Visualization tools , It can help us quickly build the desired graphics .
https://bennettfeely.com/clippy/

url route
In addition to the above basic graphics , We can also set svg Cut as our path .
<!-- love svg -->
<svg>
<clipPath id="love" clipPathUnits="objectBoundingBox">
<path
d="M0.5,1
C 0.5,1,0,0.7,0,0.3
A 0.25,0.25,1,1,1,0.5,0.3
A 0.25,0.25,1,1,1,1,0.3
C 1,0.7,0.5,1,0.5,1 Z"
/>
</clipPath>
</svg>
<style>
div {
clip-path: url(#love);
}
</style>

extend
That's all clip-path Some commonly used properties of , So can we pass clip-path What effect is achieved ?
For example, let's draw a chat window containing bubble messages .

<div class="message">
<div class="message-pohoto">
<img src="./logo.png" alt="" />
</div>
<div class="message-text">
There is nothing like keeping yourself excellent all the time, which makes people feel hard . From this day onwards , Give up your obsession with excellence . Instead of clinging to excellence , Let yourself have the courage not to escape anything . No fear of failure , Push forward the work decisively , Let yourself become the brave one who dares to face everything as soon as possible .
</div>
</div>
<style>
body,
html {
background-color: #f9f9f9;
}
.message {
display: flex;
align-items: flex-start;
padding: 20px 10px;
}
.message-pohoto {
padding-right: 20px;
}
.message-pohoto > img {
width: 46px;
height: 46px;
border-radius: 50%;
}
.message-text {
display: inline-block;
position: relative;
min-height: 46px;
box-sizing: border-box;
display: flex;
align-items: center;
color: #fff;
font-size: 14px;
padding: 10px 10px 10px 15px;
--bg: linear-gradient(45deg, #ff3c41, #ff9800);
filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.5));
}
.message-text::before,
.message-text::after {
content: "";
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
background: var(--bg);
z-index: -1;
}
.message-text::before {
clip-path: inset(0 0 0 5px round 5px);
}
.message-text::after {
clip-path: polygon(0% 23px, 5px calc(23px + 5px), 5px calc(23px - 5px));
}
summary
clip-path You can cut out all kinds of irregular shapes , Good use can simplify our work , At the same time, it can also achieve many special effects , It is very worthy of everyone to learn and apply ~
Last
Thanks for reading ~
If you find this article helpful , give the thumbs-up 、 Watching is the biggest support !
边栏推荐
- How to do smoke test
- Dark horse -- redis
- Characteristic colleges and universities, jointly build Netease Industrial College
- 【翻译】供应链安全项目in-toto移至CNCF孵化器
- 数学知识——高斯消元(初等行变换解方程组)代码实现
- 三面蚂蚁金服成功拿到offer,Android开发社招面试经验
- Camel case with Hungarian notation
- ROS custom message publishing subscription example
- Application of clock wheel in RPC
- Yutai micro rushes to the scientific innovation board: Huawei and Xiaomi fund are shareholders to raise 1.3 billion
猜你喜欢

Solution of commercial supply chain management platform for packaging industry: layout smart supply system and digitally integrate the supply chain of packaging industry

Zero foundation entry polardb-x: build a highly available system and link the big data screen

Analysis of frequent chain breaks in applications using Druid connection pools
受益匪浅,安卓面试问题

How word displays modification traces

CCNP Part 11 BGP (III) (essence)

Reflection and illegalaccessexception exception during application

Help improve the professional quality of safety talents | the first stage of personal ability certification and assessment has been successfully completed!

Cereals Mall - Distributed Advanced p129~p339 (end)

Digital "new" operation and maintenance of energy industry
随机推荐
GCC【7】- 编译检查的是函数的声明,链接检查的是函数的定义bug
ROS自定义消息发布订阅示例
Problems encountered in using RT thread component fish
反射及在运用过程中出现的IllegalAccessException异常
谷粒商城--分布式高级篇P129~P339(完结)
Swiftui game source code Encyclopedia of Snake game based on geometryreader and preference
zabbix 代理服务器 与 zabbix-snmp 监控
Black Horse - - Redis Chapter
三面蚂蚁金服成功拿到offer,Android开发社招面试经验
RT-Thread 组件 FinSH 使用时遇到的问题
Mathematical knowledge -- code implementation of Gaussian elimination (elementary line transformation to solve equations)
In depth analysis, Android interview real problem analysis is popular all over the network
JDBC details
Leetcode topic [array] - 119 Yang Hui triangle II
short i =1; i=i+1与short i=1; i+=1的区别
How word displays modification traces
五金机电行业供应商智慧管理平台解决方案:优化供应链管理,带动企业业绩增长
Simple application of VBA script in Excel
思维导图+源代码+笔记+项目,字节跳动+京东+360+网易面试题整理
Druid 数据库连接池 详解