php中国结代码菱形,如何使用css实现中国结的效果(代码)

这篇文章给大家带来的内容是关于如何使用css实现中国结的效果(代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

今天跟大家分享一个用 css 画中国结的教程。

最终效果如下:

3dbee5a7fffad39d3356a3006bb205fb.png

首先,我们定义好画中国结需要的结构:

然后开始写样式,让中国结居中显示:body {

margin: 0;

padding: 0;

height: 100vh;

display: flex;

align-items: center;

justify-content: center;

}

设置装中国结的容器样式:.knot {

box-sizing: border-box;

font-size: 100px;

width: 2em;

height: 1.6em;

background: skyblue;

display: flex;

align-items: center;

justify-content: center;

}

我把中国结的基础样式拆分成4个长方形,首先来定义长方形的基础样式:.box {

position: absolute;

box-sizing: border-box;

width: 1em;

height: 0.4em;

border: var(--b) solid firebrick;

--b: 0.1em;

}

然后我们来调整每一个长方形的样式,把它们组合成结的基础样子:.knot .box:nth-child(1) {

transform: rotate(45deg) translate(-15%, -38%);

border-radius: 20% 0% 0% 20% / 50% 0 0 50%;

}

.knot .box:nth-child(2) {

transform: rotate(45deg) translate(15%, 37%);

border-radius: 0% 20% 20% 0% / 0% 50% 50% 0%;

}

.knot .box:nth-child(3) {

transform: rotate(-45deg) translate(15%, -38%);

border-radius: 0% 20% 20% 0% / 0% 50% 50% 0%;

}

.knot .box:nth-child(4) {

transform: rotate(-45deg) translate(-15%, 37%);

border-radius: 20% 0% 0% 20% / 50% 0 0 50%;

}

最后,我们利用第一个和第二个长方形的伪元素来画出余下的那两个小圆圈:.knot .box:nth-child(1)::after {

box-sizing: border-box;

content: '';

position: absolute;

width: 0.4em;

height: 0.4em;

border: var(--b) solid firebrick;

border-radius: 50% 50% 50% 0%;

top: -0.4em;

right: -0.4em;

}

.knot .box:nth-child(2)::after {

box-sizing: border-box;

content: '';

position: absolute;

width: 0.4em;

height: 0.4em;

border: var(--b) solid firebrick;

border-radius: 50% 0% 50% 50%;

top: 0.2em;

right: 0.8em;

}

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值