Css-深入学习之切角

本文是作者从别的网站和文章学习了解的知识,简单做了个笔记,想要学习更多的可以参考这里:【css进阶】伪元素的妙用--单标签之美奇思妙想

 

带切角的矩形:

该图来源于(奇思妙想

Css代码:

 .notching{
          width: 160px;
          height:160px;
        }
        .notching{
          background:
          linear-gradient(135deg, transparent 15px, deeppink 0)
          top left,
          linear-gradient(-135deg, transparent 15px, deeppink 0)
          top right,
          linear-gradient(-45deg, transparent 15px, deeppink 0)
          bottom right,
          linear-gradient(45deg, transparent 15px, deeppink 0)
          bottom left;
          background-size: 50% 50%;
          background-repeat: no-repeat;
        }

1、建立一个矩形

2、利用线性渐变实现切角,科普一下代码知识:

linear-gradient             Css3的线性渐变

(135deg,                     渐变角度,看张图秒懂

transparent 15px,                 透明 15px的宽度

deeppink 0) 深粉色,              这里的0是渐变到底

top left;                               渐变填充 上左

 

3、根据第一个写好的(上左)渐变:linear-gradient(135deg, transparent 15px, deeppink 0)top left

然后复制粘贴,调整角度同样的去填充好上右,下左,下右。OK,现在还看不错啥效果。

4、最后一步,设置下background-size: 50% 50%; background-repeat: no-repeat;

 (background-size: 50% 50%;【解释一下:把每个方向的填充看成一个小方块,每个填充的小方块X,Y都占据了其50%,也就是每个小方块的是x*50%,y*50%这样子,所以,呢,为了让他刚好填充合适就是50%了,如果是40%你会发现小方块太小了,填充不慢,如果是100%你会发现太大了,占满了都。】

最后一个就是不要重复了 ,肯定的,重复就做不出这个效果了。)

 

不规则切角矩形:

(该图灵感来源于上面的第四步)

这是我在无意研究第四步的background-size时发现的,也算是一个小聪明吧。

按照上面的步骤,当你把background-size设置成90% 90%时,你就发现上面这个图形了,其实原理就是,当每个小方块占到原图的90%时,严重超出了原本界定的框线,然后就看到了超出的一小部分,其实更多的部分由于重叠在一起了,所以就没能看出来。

如果我们把每个填充的方向分开来看,也许你就瞬间秒懂了:

在比如说我们给每个方向的渐变调整下颜色:

(然后呢就看到了,其实是因为太大重叠在一起,超出边界而产生的)

实际上,也就是使其超出一点,刚好合适,就实现了上面的不规则切角矩形了。

 

posted @ 2016-11-09 12:28  YanEr、  阅读(3641)  评论(0编辑  收藏  举报