整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

只用1个div,你能用CSS绘制:正3、4、5、6、7、8边形吗?

你一个div,你能用CSS绘制一个正三角形、正方形、正五边形、正六边形、正七边形、正八边形吗?

今天我们来玩一个有趣的CSS实验,想象下,只用一个div,你能用CSS绘制一个正三角形、正方形、正五边形、正六边形、正七边形、正八边形吗?今天笔者带着大家一起动手实践下这个有趣的联系,由于正多边形用到不少三角函数计算,为了方便计算,这里正多边形统一设定为100px,为啥只做到正八边形?因为就一个div最多只能做到正八边形。

正三角形

正三角形不需要用到伪元素,只需要设定div本身的边框宽度即可产生,先来看一下正三角形的边长与中线,若边长为100px,则中线四舍五入就是87px ( 100 x sin(60) = 87 )。

因此我们要将div的长宽都设为0,接着把底部border的宽度设为87px,左右的border宽度设为50px (颜色设为透明transparent ),就可以做出一个漂亮的三角形。

width:0;
height:0;
border-width:0 50px 87px ;
border-style:solid;
border-color:transparent transparent #095;

正方形

正方形应该是最简单的,只要设定长宽设定为同样数值就可以了,不过其实还有另外两种方法,第一种你可以把长宽设为0,把上下左右的border设为50px也可以,第二种则是高度设为0,宽度设为100px,然后某个边宽也设为100,都是可以的。

.a{
width:100px;
height:100px;
background:#c00;
}
.b{
width:0;
height:0;
border-width:50px;
border-style:solid;
border-color:#095;
}
.c{
width:100px;
height:0;
border-width:0 0 100px;
border-style:solid;
border-color:#069;
}

正五边形

正五边形就需要进入基本的三角函数领域了,其实知道了原理还是蛮简单的。让我们先把正五边形分解,用原本的div作为上方的三角形,然后用一个伪元素制作下方的梯形,因为正五边形每边的夹角为108度,所以可以藉由三角函数计算出上方三角形的高度为59px ( 100 x cos(54) ),宽度为192px ( 100 x sin(54) x 2 ),下方梯形的高度为95px ( 100 x sin(72) ),长边的宽度跟上面的三角形一样都是192px。

了解原理之后,就可以利用伪元素来搭配制作啰!

.a{
 position:relative;
 width:0;
 height:0;
 border-width:0 81px 59px;
 border-style:solid;
 border-color:transparent transparent #069;
}
.a:before{
 position:absolute;
 content:"";
 top:59px;
 left:-81px;
 width:100px;
 height:0;
 background:none;
 border-width:95px 31px 0;
 border-style:solid; 
 border-color:#069 transparent transparent;
 }

正六边形

正六边形的每个夹角是120度,如果以纯CSS的方向来看的话,就是把正五边形上面的三角形改变一下,就可以做出正六边形,也就是变成上下两个梯形的组合而已,梯形的长边为200px ( 100 x cos(60) x 2 + 100 ),梯形的高度为87px ( 100 x sin(60) )。

所以只要把正五边形的CSS稍作修改就可以做出正六边形了。

.a{
 position:relative;
 width:100px;
 height:0;
 border-width:0 50px 87px;
 border-style:solid;
 border-color:transparent transparent #f80;
}
.a:before{
 position:absolute;
 content:"";
 top:87px;
 left:-50px;
 width:100px;
 height:0;
 background:none;
 border-width:87px 50px 0;
 border-style:solid; 
 border-color:#f80 transparent transparent;
 }

正七边形

正七边形开始就必须再使用after 这个伪元素了,因为正七边形必须要拆解为三个区块,分别是用原本的div 作为上面的三角形,一个伪元素作为中间的梯形,然后另一个伪元素作为底部的梯形,正七边形的夹角比较特殊不是整数,而是128又4/7 度,大概取到小数第二位是128.57,所以计算起来结果就如下图所示,重点就是必须要清楚地知道长宽是多少。

有了长宽之后,就开始用CSS来写啰!

.a{
 position:relative;
 width:0;
 height:0;
 border-width:0 90px 43px;
 border-style:solid;
 border-color:transparent transparent #09c;
}
.a:before{
 position:absolute;
 content:"";
 top:140px;
 left:-112px;
 width:100px;
 height:0;
 border-width:78px 62px 0;
 border-style:solid; 
 border-color:#09c transparent transparent;
 }
 .a:after{
 position:absolute;
 content:"";
 top:43px;
 left:-112px;
 width:180px;
 height:0;
 border-width:0 22px 97px;
 background:none;
 border-style:solid;
 border-color:transparent transparent #09c;
 }

正八边形

正八边形其实就是把正七边形上面的三角形变成梯形,然后中间的梯形变成矩形就搞定了,正八边形的夹角为135 度,计算出来的各个区域长宽如下图。

同样的了解原理,CSS做起来就简单多啰!

.a{
 position:relative;
 width:100px;
 height:0;
 border-width:0 71px 71px;
 border-style:solid;
 border-color:transparent transparent #f69;
}
.a:before{
 position:absolute;
 content:"";
 top:171px;
 left:-71px;
 width:100px;
 height:0;
 border-width:71px 71px 0;
 border-style:solid; 
 border-color: #f69 transparent transparent;
 }
 .a:after{
 position:absolute;
 content:"";
 top:71px;
 left:-71px;
 width:242px;
 height:0;
 border-width:0 0 100px;
 background:none;
 border-style:solid;
 border-color:transparent transparent #f69;
 }

加点料:动起来!

以上就是纯粹利用CSS做出来的单一div的正多边形变换,是不是很好玩,一个div能做出来这么多形状,是不是很过瘾,不过瘾的话,我们加点料来点动画,其实加上动画效果,就可以做出像下面范例这个样子的变换动画啰!不过下面的范例笔者再最外层另外用一个div进行包裹,避免因为大小的变换造成衔接处的不自然,大家可以参考看看喔!

css部分

 body{
 margin:100px;
 }
 .s{
 position:absolute;
 -webkit-animation:s 5s infinite linear alternate;
 }
 .a{
 position:relative;
 width:0;
 height:0;
 border-width:0 50px 87px ;
 border-style:solid;
 border-color:transparent transparent #095;
 -webkit-animation:a 5s infinite linear alternate;
 }
 .a:before,.a:after{
 position:absolute;
 content:"";
 border-width:0;
 border-style:solid;
 }
 .a:before{
 -webkit-animation:ab 5s infinite linear alternate;
 }
 .a:after{
 -webkit-animation:af 5s infinite linear alternate;
 }
 @-webkit-keyframes a{
 0%,5%{
 width:0;
 height:0;
 border-width:0 50px 87px ;
 border-color:transparent transparent #095;
 }
 23%{
 width:0;
 height:0;
 border-width:0 50px 0 ;
 border-color:transparent transparent #c00;
 }
 42%{
 width:0;
 height:0;
 border-width:0 81px 59px;
 border-color:transparent transparent #069;
 }
 61%{
 width:100px;
 height:0;
 border-width:0 50px 87px;
 border-color:transparent transparent #f80;
 }
 80%{
 width:0;
 height:0;
 border-width:0 90px 43px;
 border-color:transparent transparent #09c;
 }
 95%,100%{
 width:100px;
 height:0;
 border-width:0 71px 71px;
 border-color:transparent transparent #f69;
 }
 }
 @-webkit-keyframes ab{
 0%,5%{
 top:87px;
 left:-50px;
 width:100px;
 height:0;
 background:#095;
 border-width:0;
 border-color:#095 transparent transparent;
 }
 22.99%{
 top:0;
 left:-50px;
 width:100px;
 height:100px;
 background:#c00;
 border-width:0;
 border-color:#c00 transparent transparent;
 }
 23%{
 top:0;
 left:-50px;
 width:100px;
 height:0;
 background:none;
 border-width:100px 0 0;
 border-color:#c00 transparent transparent;
 }
 42%{
 top:59px;
 left:-81px;
 width:100px;
 height:0;
 background:none;
 border-width:95px 31px 0;
 border-color:#069 transparent transparent;
 }
 61%{
 top:87px;
 left:-50px;
 width:100px;
 height:0;
 border-width:87px 50px 0;
 border-color:#f80 transparent transparent;
 }
 80%{
 top:140px;
 left:-112px;
 width:100px;
 height:0;
 border-width:78px 62px 0;
 border-color:#09c transparent transparent;
 }
 95%,100%{
 top:171px;
 left:-71px;
 width:100px;
 height:0;
 border-width:71px 71px 0;
 border-color: #f69 transparent transparent;
 }
 }
 @-webkit-keyframes af{
 0%,61%{
 top:87px;
 left:-50px;
 width:200px;
 height:0;
 border-width:0;
 background:none;
 border-color:transparent transparent #f80;
 }
 80%{
 top:43px;
 left:-112px;
 width:180px;
 height:0;
 border-width:0 22px 99px;
 background:none;
 border-style:solid;
 border-color:transparent transparent #09c;
 }
 95%,100%{
 top:71px;
 left:-71px;
 width:242px;
 height:0;
 border-width:0 0 100px;
 background:none;
 border-style:solid;
 border-color:transparent transparent #f69;
 }
 }
 @-webkit-keyframes s{
 0%,5%{
 -webkit-transform:translateX(0) translateY(0) scale(1);
 }
 23%{
 -webkit-transform:translateX(-15px) translateY(-10px) scale(.9);
 }
 42%{
 -webkit-transform:translateX(-50px) translateY(-20px) scale(.8);
 }
 61%{
 -webkit-transform:translateX(-70px) translateY(-25px) scale(.7);
 }
 80%{
 -webkit-transform:translateX(-80px) translateY(-25px) scale(.6);
 }
 95%,100%{
 -webkit-transform:translateX(-100px) translateY(-25px) scale(.5);
 }
 }

html部分

<div class="s">
 <div class="a"></div>
</div>

小节

今天的内容就到这里,我们的确用一个div,再结合三角函数的相关知识,一口气绘制完了正三角形、正方形、正五边形、正六边形、正七边形、正八边形,是不是很有趣呢。你不妨按照上述示例,亲自动手试试哦。

天手动配置成功,分享一下,欢迎各位讨论,不是极客。

现在很多家用光纤网络很多朋友都说卡顿,网速慢。大部分原因:

1.百兆带宽用百兆路由

2.光猫端网线在百兆口上

3.千兆路由网线在百兆口上

4.用的不是千兆网线

5.光猫配置低兼职任务多

解决办法

1.确定是家里宽带是百兆以上就要换千兆路由器

2.3.看清楚标识,一般机器上边有提示,路由器选购的时候注意介绍

4.六类或超六类千兆网线,连接光猫千兆口和路由器WAN口

5.这个有一点复杂,现在很多光猫来拨号,发射无线信号,还兼职dhcp,iptv,voip,然而配置都没有路由器高,所以会有死机一样的情况,网络突然断了。。。

解决办法,光猫桥接,方法需要百度或者某宝有做光猫破解的,如果你有动手能力也不复杂,改动1个地方就行。然后停了光猫的dhcp,wlan等。让光猫做好自己的信号转换工作就可以。

我是用的联通,iptv用户请谨慎操作,我没用着iptv,光猫zte f677v2,登录光猫后台,192.168.1.1/cu.html,用的管理员登录,密码一般是默认密码,也有破解方法,百度。tr069,我没删,说是联通用来广发配置信息用的,远程管理,一般不会针对某个账户下发配置。把ipv4/v6下的internet链接改为桥接,删除原来那个就可以。重启以后路由拨号。完成。

有什么问题,欢迎指点讨论

“撞树”“葛优躺”之后

魔都“公园养生族”们

又有了新玩法

最近

上海多座公园出现了很多

“晒背族”

公园栈道上的晒背族 新民晚报记者 金旻矣 摄(除注明外,下同)

现场:女士撩衣被指“辣眼睛”

昨天(8月2日)9时多,记者来到上海和平公园。空中栈道上,有三位女士戴着遮阳帽和墨镜,面前架着遮阳伞,脱下鞋袜坐在自带的布上晒背。其中两人将后背上衣撩起,内衣解开,整个背部暴露在阳光下,皮肤已微微发红。虽然她们选择了栈道尽头,但从地面望去,仍能看到裸露的身体。

“你去网上搜,现在很流行的。我们晒了好几天了,比桑拿还舒服,既不闷,又排湿气,效果很好。”面对记者搭讪,一名女士说。她还表示,架伞是为了不被面前的探头拍到。至于为何不在家里晒,对方称“公园空气好呀!”

从地面望去,可以清楚看到女士们的后背

附近一名保安表示,最近几周“晒背族”一下子多了起来,每天上午八九时前和下午三四时后是高峰。

另一名保安说,有些女士直接撩起上衣晒,看到保安又迅速将上衣放下,若无其事坐在垫子上。因此,对于特别不雅观的“晒背族”,保安都会用执法记录仪取证后再去劝阻。

当天下午1时多,记者又来到复兴公园。或许是被40℃的高温吓退,在园内转了大半圈并没有发现“晒友”。一名保安说:“这个点这么热,没有人晒。一般都是上午8时到10时,下午3时到5时,会有人在草坪和长椅上晒背。如果看到他们脱掉衣服,我们是会上前制止的。”

线上:约“晒友”一起“海豹趴”

在社交平台上

“三伏晒背”

俨然成了时下最流行的养生方式

图片来源:小红书网友

在小红书上

以“晒背,上海”为关键词搜索

已有1800多篇笔记

其中,去公园晒背更是流行

中山公园、世纪公园、

和平公园、世博文化公园等

因有大草坪或景色优美而被频频提及

不少网友征集“晒友”

一起约“公园瑜伽晒背局”

和众多“晒友”一起

哪怕社恐也无须害怕

网友发布的照片显示

公园“晒背族”中

年轻女孩多身着瑜伽服趴着晒

男士喜欢赤裸上身穿短裤坐着晒

也有上年纪的女性解开内衣晒

园方:两边投诉我们很为难

针对这种新现象

公园管理方怎么看?

和平公园园长胡聿丞坦言

公园一向以包容的心态

满足游客需求

近期却被“晒背”搞得心力交瘁

来公园晒背的

由于衣着暴露常被其他游客投诉

然而园方劝阻后

又常被“晒背族”投诉

很多年轻家长很反感,觉得这些人不穿内衣撩起衣服晒,影响小孩身心健康。一些老年人也常和保安反映‘太难看’,让他们快去管管。

根据我们公园的实际情况,园内不允许铺瑜伽垫,但对方非要我们拿出‘红头文件’,不然就投诉。针对赤膊的,我们管理收效也很差,因为保安没有执法权,多劝几句就被投诉态度恶劣。有些老人趴着晒,长时间不动,保安担心他们中暑,只好经常去问问,结果反被投诉骚扰。

两边都来投诉

我们成了‘三夹板’

......

黄浦区绿化管理所

公园管理科科长臧军表示

目前一般是从文明游园

或保护个人隐私的角度

去劝晒背族们不要赤膊或暴露敏感部位

甚至有的公园在无奈之下

只能派几名保安

将“辣眼睛”的“晒友”围起来

为其充当“人肉屏风”

中医认为三伏天晒背,确实可以祛除湿气和寒气,但也有医生指出部分人群并不适宜晒背,例如阳亢或阴虚者。有网友称,晒背后出现了晒伤甚至中暑的症状,提醒大家“晒背需谨慎”,最好不要光膀子,可穿一件薄衣。

“我们也很担心,在高温下暴晒20分钟,且不说会不会晒伤,这是很可能得热射病的!”臧军说。

采访对象供图

市民:个人喜好勿影响别人

新民晚报记者从上海公园管理部门获悉,“公园晒背风”今夏突然盛行,这两周愈演愈烈,相应的投诉也增多,给管理带来了新挑战。虽然《上海市公园文明游园守则》(2018版)第五条明确,游客应“自觉维护游园秩序,不随意卧躺,不赤膊游园”,但针对“晒背”这一新现象,并没有相关条文禁止,因此在实际管理时面临“无据可依”的困境。

记者在采访中发现,很多市民并不赞同这种做法,认为公共场合衣着裸露“太不雅观”。一位正在遛娃的家长表示,公园里孩子很多,有些“晒背族”穿得非常暴露,担心会对孩子造成不良影响。“公园是公共空间,虽然这是个人喜好,但前提和底线应该是不能影响别人的游园体验。”她说。

采访对象供图

而在12345市民服务热线中,7月以来也有针对“赤膊晒背”的投诉。比如一位市民反映,康健公园早晨常有男子赤膊晒背,在公共场合这样,既不文明也不雅观。

“公园不单是锻炼、养生的场所,也是很多人散步或欣赏花草的地方。虽然‘晒背族’认为自己躲在偏僻角落无碍观瞻,但公园的每个角落都会有游客去走走逛逛。”胡聿丞表示,目前从游客反响来看,反对不雅晒背的呼声更高,希望“晒背族”能遵守公序良俗,在适宜的场所养生。

公园“晒背族”的出现

你怎么看?

新民晚报(记者 金旻矣 志愿者 张梦滑),综合小红书网友

来源: 新民晚报