花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 63|回复: 11

css-doodle入门(七)

[复制链接]
  • TA的每日心情
    慵懒
    2025-12-14 13:47
  • 签到天数: 1669 天

    [LV.Master]伴坛终老

    3047

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

    发表于 2023-4-29 11:18 | 显示全部楼层 |阅读模式

    请马上登录,朋友们都在花潮里等着你哦:)

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    本帖最后由 马黑黑 于 2023-4-29 11:28 编辑

    @shape()函数

    css-doodle 单元格可以大量使用 CSS 的 clip-path 属性裁剪出各种各样的图案,例如多叶草、鲸鱼等,这也是 @shape 属性的实现方式。在 css-doodle 里,@shape 除了做属性,还可以做函数使用,记作 @shape(),小括号内将是各种参数及参数值。

    @shape() 函数提供了无限可能,利用参数和数学方法,可以突破 @shape 属性的固定图形,创建出令人惊艳的图案。

    当然,我们还是从最简单的开始:创建多边形图案。先看最简单的完整的例子:

    <css-doodle grid="1">
        :doodle {
            @size: 400px;
            border: 1px solid gray;
        }
        background: green;
        clip-path: @shape(
            points: 4;
        );
    </css-doodle>
    

    上例,clip-path 是CSS路径裁剪属性,它使用裁剪方式创建元素的可视区域,元素区域内的部分得到显示,区域外的部分被裁减掉。例中,css-doodle 函数 @shape() 带有一个参数 points,该参数为 @shape() 函数的一个重要参数,意为“点”,亦即在单元格上指定多边形裁剪的坐标点,这里设置为 4 个坐标点,所有点用连线连结起来,连线内部的区域将为一个菱形,是单元格可见的部分,连线以外的区域则不可见。

    points 参数值是N(N≥3 且 N≤3600),得到的就是N边形。当N很大,clip-path 属性裁剪出的图案将是近似圆。大家可以试着修改 points 的值,然后运行看看效果。

    一些场景,我们需要中间挖空的图案,这时,frame 参数就派上用场,试看:

    <css-doodle grid="1">
        :doodle {
            @size: 400px;
            border: 1px solid gray;
        }
        background: green;
        clip-path: @shape(
            points: 4;
            frame: 1;
        );
    </css-doodle>
    

    上例,frame 参数制定了这么一个属性:裁剪后的可视区域仅保留 1 像素的“边框”,内里则挖空。这样,得到的效果实际是一个没有填充的菱形,其原理则是通过复杂算法将前例得出的菱形再往里裁剪、将里面的区域做成不可见的部分。整体效果如果弄成svg路径,一张A4纸应该是打印不完的。

    其他预设参数,我们粗略介绍一下:

    fill-rule : 填充规则,值为 nonzero(默认) 或 evenodd,可参阅svg相关知识;
    rotate : 定义单元格图案旋转角度数值;
    scale :定义单元格图案缩放数值;
    move : 设置单元格图案移动的xy坐标值;
    turn : 起点/终点之间的角度,值在 0-1 之间,默认为 1(表示不作改变)
    r : 极坐标方程式
    x : 笛卡尔坐标系的 x 坐标方程式
    y : 笛卡尔坐标系的 y 坐标方程式

    这些参数,涉及到方程式的需要用到高等数学,比较复杂、抽象,但效果会令人惊艳。试着改变以下代码示例中的 r 参数里余弦值中的 10t 里的数字(t是css-doodle常量):

    <css-doodle grid="1">
        :doodle {
            @size: 400px;
        }
        background: red;
        clip-path: @shape(
            points: 360;
            frame: 12;
            r: cos(10t);
        );
    </css-doodle>
    

    评分

    参与人数 6威望 +205 金钱 +410 经验 +205 收起 理由
    绿叶清舟 + 30 + 60 + 30 赞一个!
    小辣椒 + 50 + 100 + 50 很给力!
    千羽 + 30 + 60 + 30 很给力!
    红影 + 50 + 100 + 50 赞一个!
    烟雨客 + 15 + 30 + 15 赞一个!
    醉美水芙蓉 + 30 + 60 + 30 赞一个!

    查看全部评分

    醉美水芙蓉 该用户已被删除
    发表于 2023-4-29 11:43 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-14 13:47
  • 签到天数: 1669 天

    [LV.Master]伴坛终老

    3047

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-4-29 11:58 | 显示全部楼层
    醉美水芙蓉 发表于 2023-4-29 11:43
    老师做贴很辛苦!给黑黑老师点赞!

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-14 13:47
  • 签到天数: 1669 天

    [LV.Master]伴坛终老

    3047

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-4-29 12:16 | 显示全部楼层
    用这个覆盖例三:

    <css-doodle grid="1">
        :doodle {
            @size: 400px;
        }
        background: linear-gradient(red,green,red);
        clip-path: @shape(
            points: 160;
            r: cos(16t);
        );
    </css-doodle>
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2023-4-29 18:53 | 显示全部楼层
    这个是css-doodle的高级课程,已经不仅仅是入门了
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2023-4-29 19:02 | 显示全部楼层
    试着改变以下代码示例中的 r 参数里余弦值中的 10t 里的数字

    试了一下,11t和12t完全不同,好像一个就是个数,一个加倍了。
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    180

    主题

    1万

    回帖

    3万

    积分

    论坛元老

    Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80Rank: 80

    花潮美女鼠牛虎兔龙蛇马羊猴鸡狗猪春风拂面缤纷心情心香一瓣音画大师共看流星我心永远天长地久幸福快乐梦幻浪漫喜乐安康指尖上的流年

    发表于 2023-4-29 20:31 | 显示全部楼层
    俺飘过……
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-25 21:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    1421

    主题

    6万

    回帖

    12万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀青草情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀男儿情怀鹰傲苍穹心香一瓣音画大师天籁妙音风雨同行我心永远喜乐安康中秋征文指尖上的流年花潮管理

    发表于 2023-4-29 21:14 | 显示全部楼层
    这个还真的不懂
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2022-8-3 08:55
  • 签到天数: 480 天

    [LV.9]以坛为家II

    968

    主题

    2万

    回帖

    6万

    积分

    版主

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女龙春风拂面蝴蝶情怀心曲飞扬七彩绚丽紫色情节音画大师天籁妙音共看流星我心永远幸福快乐指尖上的流年花潮版主

    发表于 2023-4-30 11:59 | 显示全部楼层
    已经到七了啊,一在哪呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-14 13:47
  • 签到天数: 1669 天

    [LV.Master]伴坛终老

    3047

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-4-30 17:12 | 显示全部楼层
    绿叶清舟 发表于 2023-4-30 11:59
    已经到七了啊,一在哪呢

    前面
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2022-8-3 08:55
  • 签到天数: 480 天

    [LV.9]以坛为家II

    968

    主题

    2万

    回帖

    6万

    积分

    版主

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女龙春风拂面蝴蝶情怀心曲飞扬七彩绚丽紫色情节音画大师天籁妙音共看流星我心永远幸福快乐指尖上的流年花潮版主

    发表于 2023-4-30 20:56 | 显示全部楼层

    这个一把抓的抓不起来了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-12-14 13:47
  • 签到天数: 1669 天

    [LV.Master]伴坛终老

    3047

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2023-4-30 20:56 | 显示全部楼层
    绿叶清舟 发表于 2023-4-30 20:56
    这个一把抓的抓不起来了

    慢慢抓
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2025-12-14 16:53 , Processed in 0.078672 second(s), 29 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表