css原来也可以这么酷!css生成艺术【笔记】

【css笔记】
css 大会 袁川

视频链接

演讲主要讲了用 css 生成一些炫酷的图片,首先先复习了下简单的知识,然后使用工具把简单的图片进行变换和组合,然后就是一个复杂到可能都不知道怎么出现的图片了!

感觉简单到复杂只缺一个css-doodle了。

1. 简单绘图

- 直线

  1. 设置 宽度高度 + 背景颜色
  2. 使用 border
  3. 使用背景 linear-gradient(#000,#000)50%/70% 10px no-repeat
  4. 使用下划线 隐藏字体
    image.png

- 虚线

  1. 使用下划线 隐藏字体
  2. CSS3text-emphasis属性 [目前主流浏览器不支持该属性]
  3. 使用 background
    image.png
  4. border

- 圆

1.border-radius

  1. 使用background-image 边缘不够光滑
    image.png
  2. 点号 . 放大
    image.png
  3. clip-path :circle(50%) 不能用边框 和 box-shadow

- 三角形

  1. border 三边透明
  2. ·clip-path
    image.png
  3. unicode 用伪元素
    image.png

- 多边形

  1. clip-path
    计算点 然后连接起来
    image.png
  2. 通过数学函数 画图形


    image.png
  3. 通过 eveodd 重叠部分消失 得到很多图形
    image.png

  4. box-shadow 重叠抵消
    image.png

2 把简单图形组合在一起

- css grid

随机选择一条直线挡在格子里


image.png

随机一个角度


image.png

- css doodle 使用工具

官网

注意: 以下所有代码 皆可填充到 官网中查看 ,可以自行修改数据,创造自己的图案

gird - auto -flow 自动填充

3. 对图形进行变换 叠加

- transform

rotate
translateX

  :doodle {
       @grid: 30x1 / 50vmin; 
    }
    :container {
      perspective:16vmin;
    }
    @place-cell: center;
    @size: calc(@i() * 10%);
  
    transform : rotate(@r(360deg));
    
    border-radius: 50%;
    border-style: dotted;
    border-width: calc(@i() * 0.61vmin);
    border-color: @p(
        #bdd454,#457345,
        #607998,#485748
    )


image.png

- grandient 指定多个

可以生成多个

  :doodle {
       @grid: 1x1 / 10vmin; 
    } 

    width : 300px;
    height: 300px;
    background: @m(100, (
        radial-gradient(
            @p(#fff,#000,#345654) 50%,transparent 0 
        )
        @r(100%) @r(100%) / 
        @r(10%) @lr()
        no-repeat
    ));
    mix-blend-mode:overlay;

- mix-blend-mode 混合模式

连接

mix-blend-mode: overlay; //叠加

- background-blend-mode

背景的混合模式。

可以是背景图片与背景图片的混合,
也可以是背景图片和背景色的之间的混合。

:doodle {
       @grid: 1x1 / 100%; 
} 

background: @m(10, (
        linear-gradient(
            @r(360deg),
            @m(29,@p(
                #bdd454, #457345,
                #607998, #485748
                ))
        )
    ));
    background-blend-mode: difference;

image.png
-栗子
image.png
image.png

- box-shadow

image.png

- text-decoration + perspective

text-decoration
旋转波浪线

- svg-filter

变形


image.png
- 举栗 云效果 filter + boxshadow
:doodle {
       @grid: 1 / 10vmin; 

filter: @svg-filter(
  <svg>
  <filter>
  <feTurbulence 
  type="fractalNoise" 
  seed='@r(1000)' 
  baseFrequency=".005"
  numOctaves="10" />
  <feDisplacementMap in="SourceGraphic"
        scale="240" xChannelSelector="R" yChannelSelector="G"/>
  </filter>
  </svg>
  )
}
box-shadow: @m(100,(
    @r(100vw) @r(100vh)
    @r(10vmin,20vmin) @r(20vmin)
@p(#fff,#3f1282)
))

4 动画

animation

让图片动起来~~~

animation 属性是一个简写属性,用于设置六个动画属性:
  • animation-name -规定需要绑定到选择器的 keyframe 名称
  • animation-duration -规定完成动画所花费的时间,以秒或毫秒计。 默认是 0。注意为0时没有动画
  • animation-timing-function -规定动画的速度曲线。默认是 "ease"。
  • animation-delay -规定在动画开始之前的延迟。默认是 0。
  • animation-iteration-count - 规定动画应该播放的次数。默认是 1。
  • animation-direction 规定是否应该轮流反向播放动画。-

最重要的@keyframe

/* 颜色变化*/
@keyframes myfirst
{
0%   {background: red;}
25%  {background: yellow;}
50%  {background: blue;}
100% {background: green;}
}

动画使用可以在css-doodle中 出现神奇的效果
代码如下 效果就自己去看吧~

`
--color: @p(#51eaea, #fffde1, #ff9d76, #FB3569);
:doodle {
@grid: 30x1 / 18vmin;
--deg: @p(-180deg, 180deg);
}
:container {
perspective: 30vmin;
}
:after, :before {
content: '';
background: var(--color);
@place-cell: @r(100%) @r(100%);
@size: @r(10px);
@shape: heart;
}

  @place-cell: center;
  @size: 100%;

  box-shadow: @m(2,(0 0 50px var(--color)));
  background: @m(100,(
    radial-gradient(var(--color) 50%, transparent 0) 
    @r(-20%, 120%) @r(-20%, 100%) / 1px 1px
    no-repeat
  ));

  will-change: transform, opacity;
  animation: scale-up 12s linear infinite;
  animation-delay: calc(-12s / @size() * @i());

  @keyframes scale-up {
    0%, 95.01%, 100% {
      transform: translateZ(0) rotate(0);
      opacity: 0;
    }
    10% { 
      opacity: 1; 
    }
    95% {
      transform: 
        translateZ(35vmin) rotateZ(@var(--deg));
    }
  }

`


image.png

总结来说:

看了才知道,原来css酷起来就没js什么事了!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,290评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,107评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,872评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,415评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,453评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,784评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,927评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,691评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,137评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,472评论 2 326
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,622评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,289评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,887评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,741评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,316评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,490评论 2 348

推荐阅读更多精彩内容

  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,732评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,304评论 0 11
  • _________________________________________________________...
    fastwe阅读 441评论 0 0
  • 世界上果然没有一帆风顺的事,今天辅导作业又没忍住批评孩子了。还好及时刹车,没有太影响孩子的情绪。 昨天看...
    魔镜知道答案阅读 72评论 0 0
  • 榜样是那种走路带风,一举手一投足都尽显端庄气息,谈吐也犹如净化过一般的人吗? 寻找榜样,可是榜样落入大学的校园就如...
    冰鑑阅读 137评论 0 1