CSS3 低多边形(Low Poly)设计及开发实例 - 简单的字母

Low Poly是计算机主流设计风格的一种。


当前主流设计风格包括:

1.拟物(Skeuomorph)

2.平面化(Flat Design)

3.长阴影(Long Shadow)

4.响应式(Responsive)

5.原质化(Material)

6.平行视差(Parallax)。


低多边形(Low Poly)不强调细腻的拟物模拟,而是使用抽象的几何方式来构造模型轮廓,同样达到栩栩如生的效果。

下面是一个简单的字母B形状图标的设计和开发实例。


HTML代码:

<div class="b" data-scale="10">
    <span class="triangle-left"></span>
    <span class="triangle-left"></span>
    <span class="triangle-left"></span>
    <span class="triangle-left"></span>
    <span class="triangle-left"></span>

    <span class="triangle-right"></span>
    <span class="triangle-right"></span>
    <span class="triangle-right"></span>
</div>

CSS代码:

.b {
    position: absolute;
    width: 100px;
    height: 100px;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.b [class*="triangle-"] {
    display: block;
    /* Let's define the positions */
    
    margin: 0;
    padding: 0;
    position: relative;
}
.b [class*="triangle-"][class*="-left"]:not(:first-child) {
    margin-top: -30px;
}
.b [class*="triangle-"][class*="-left"]:nth-child(even) {
    width: 0;
    height: 0;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    border-left: 60px solid purple;
}
.b [class*="triangle-"][class*="-left"]:nth-child(even):nth-child(2) {
    border-left-color: #ddd9cc;
}
.b [class*="triangle-"][class*="-left"]:nth-child(even):nth-child(4) {
    border-left-color: #c8bdb7;
}
.b [class*="triangle-"][class*="-left"]:nth-child(odd) {
    width: 0;
    height: 0;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    border-right: 60px solid purple;
}
.b [class*="triangle-"][class*="-left"]:nth-child(odd):nth-child(1) {
    border-right-color: #e6e3d6;
}
.b [class*="triangle-"][class*="-left"]:nth-child(odd):nth-child(1):after {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-top: 7.5px solid transparent;
    border-bottom: 7.5px solid transparent;
    border-left: 60px solid #bebdc5;
    -webkit-transform: rotate(-32deg) skewX(30deg) translate(5.8%, 5.8%) scaleX(1.05);
    -ms-transform: rotate(-32deg) skewX(30deg) translate(5.8%, 5.8%) scaleX(1.05);
    transform: rotate(-32deg) skewX(30deg) translate(5.8%, 5.8%) scaleX(1.05);
    margin-top: -19px;
}
.b [class*="triangle-"][class*="-left"]:nth-child(odd):nth-child(3) {
    border-right-color: #d3cdc1;
}
.b [class*="triangle-"][class*="-left"]:nth-child(odd):nth-child(3):after {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-top: 7.5px solid transparent;
    border-bottom: 7.5px solid transparent;
    border-left: 60px solid #8c8597;
    -webkit-transform: rotate(-32deg) skewX(30deg) translate(5.8%, 5.8%) scaleX(1.05);
    -ms-transform: rotate(-32deg) skewX(30deg) translate(5.8%, 5.8%) scaleX(1.05);
    transform: rotate(-32deg) skewX(30deg) translate(5.8%, 5.8%) scaleX(1.05);
    margin-top: -19px;
}
.b [class*="triangle-"][class*="-left"]:nth-child(odd):nth-child(5) {
    border-right-color: #baada7;
}
.b [class*="triangle-"][class*="-left"]:nth-child(odd):nth-child(5):after {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-top: 7.5px solid transparent;
    border-bottom: 7.5px solid transparent;
    border-left: 60px solid #675b68;
    -webkit-transform: rotate(-32deg) skewX(30deg) translate(5.8%, 5.8%) scaleX(1.05);
    -ms-transform: rotate(-32deg) skewX(30deg) translate(5.8%, 5.8%) scaleX(1.05);
    transform: rotate(-32deg) skewX(30deg) translate(5.8%, 5.8%) scaleX(1.05);
    margin-top: -19px;
}
.b [class*="triangle-"][class*="-right"] {
    left: 60px;
    top: -90px;
}
.b [class*="triangle-"][class*="-right"]:not(:first-child) {
    margin-top: -30px;
}
.b [class*="triangle-"][class*="-right"]:nth-child(even) {
    width: 0;
    height: 0;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    border-left: 60px solid purple;
}
.b [class*="triangle-"][class*="-right"]:nth-child(even):nth-child(6) {
    border-left-color: #aca5ad;
}
.b [class*="triangle-"][class*="-right"]:nth-child(even):nth-child(6):after {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-top: 7.5px solid transparent;
    border-bottom: 7.5px solid transparent;
    border-right: 60px solid #6a6a85;
    -webkit-transform: rotate(32.5deg) skewX(-30deg) translate(-5%, -5%) scaleX(1.05);
    -ms-transform: rotate(32.5deg) skewX(-30deg) translate(-5%, -5%) scaleX(1.05);
    transform: rotate(32.5deg) skewX(-30deg) translate(-5%, -5%) scaleX(1.05);
    margin-top: -18px;
    margin-left: -62.5px;
}
.b [class*="triangle-"][class*="-right"]:nth-child(even):nth-child(8) {
    border-left-color: #847789;
}
.b [class*="triangle-"][class*="-right"]:nth-child(even):nth-child(8):after {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-top: 7.5px solid transparent;
    border-bottom: 7.5px solid transparent;
    border-right: 60px solid #473e4f;
    -webkit-transform: rotate(32.5deg) skewX(-30deg) translate(-5%, -5%) scaleX(1.05);
    -ms-transform: rotate(32.5deg) skewX(-30deg) translate(-5%, -5%) scaleX(1.05);
    transform: rotate(32.5deg) skewX(-30deg) translate(-5%, -5%) scaleX(1.05);
    margin-top: -18px;
    margin-left: -62.5px;
}
.b [class*="triangle-"][class*="-right"]:nth-child(odd) {
    width: 0;
    height: 0;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    border-right: 60px solid purple;
}
.b [class*="triangle-"][class*="-right"]:nth-child(odd):nth-child(7) {
    border-right-color: #9a8f9f;
}
.b[data-scale="1"] {
    -webkit-transform: translate(-50%, -50%) scale(0.1);
    -ms-transform: translate(-50%, -50%) scale(0.1);
    transform: translate(-50%, -50%) scale(0.1);
}
.b[data-scale="2"] {
    -webkit-transform: translate(-50%, -50%) scale(0.2);
    -ms-transform: translate(-50%, -50%) scale(0.2);
    transform: translate(-50%, -50%) scale(0.2);
}
.b[data-scale="3"] {
    -webkit-transform: translate(-50%, -50%) scale(0.3);
    -ms-transform: translate(-50%, -50%) scale(0.3);
    transform: translate(-50%, -50%) scale(0.3);
}
.b[data-scale="4"] {
    -webkit-transform: translate(-50%, -50%) scale(0.4);
    -ms-transform: translate(-50%, -50%) scale(0.4);
    transform: translate(-50%, -50%) scale(0.4);
}
.b[data-scale="5"] {
    -webkit-transform: translate(-50%, -50%) scale(0.5);
    -ms-transform: translate(-50%, -50%) scale(0.5);
    transform: translate(-50%, -50%) scale(0.5);
}
.b[data-scale="6"] {
    -webkit-transform: translate(-50%, -50%) scale(0.6);
    -ms-transform: translate(-50%, -50%) scale(0.6);
    transform: translate(-50%, -50%) scale(0.6);
}
.b[data-scale="7"] {
    -webkit-transform: translate(-50%, -50%) scale(0.7);
    -ms-transform: translate(-50%, -50%) scale(0.7);
    transform: translate(-50%, -50%) scale(0.7);
}
.b[data-scale="8"] {
    -webkit-transform: translate(-50%, -50%) scale(0.8);
    -ms-transform: translate(-50%, -50%) scale(0.8);
    transform: translate(-50%, -50%) scale(0.8);
}
.b[data-scale="9"] {
    -webkit-transform: translate(-50%, -50%) scale(0.9);
    -ms-transform: translate(-50%, -50%) scale(0.9);
    transform: translate(-50%, -50%) scale(0.9);
}
.b[data-scale="10"] {
    -webkit-transform: translate(-50%, -50%) scale(0.1);
    -ms-transform: translate(-50%, -50%) scale(0.1);
    transform: translate(-50%, -50%) scale(0.1);
    -webkit-transform: translate(-50%, -50%) scale(1);
    -ms-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
}

在线演示: http://wow.techbrood.com/fiddle/4504

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值