• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 纯css实现gif动图生成字画符

纯css实现gif动图生成字画符

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了纯css,gif动图,生成字画符等相关知识,希望对您有所帮助

纯css实现gif动图生成字画符,纯css实现,核心的属性是 background-clip 和 text-fill-color ,由于这俩属性目前并没有被纳入标准,所以需要加上 -webkit-前缀。当初发现这个属性是真的像发现了个宝藏,通过它们的组合可以实现非常多有意思的效果。前者用于对背景裁剪,后者用于和背景颜色叠加。

于是就有了下图的效果(背景是一张动图,然后使用文字对背景进行裁剪。字体透明填充,与背景叠加)


纯css实现gif动图生成字画符


html结构:

<!doctype html><html><head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">  <meta http-equiv="X-UA-Compatible" content="ie=edge">  <title>css ascii srt</title>  <style>    /* 样式 */  </style></head><body><p>  色欲一事,乃舉世人之通病不特中下之人,被色所迷。即上根之人,若不戰兢自持,乾惕在念,則亦難免不被所迷。試觀古今來多少出格豪傑,固足為聖為賢。  祗由打不破此關,反為下愚不肖。兼復永墮惡道者,蓋難勝數。楞嚴經云,若諸世界六道眾生,其心不淫,則不隨其生死相續。汝修三昧,本出塵勞。淫心不除,塵不可出。  學道之人,本為出離生死。苟不痛除此病,則生死斷難出離,即念佛門,雖則帶業往生。然若淫習固結,則便與佛隔,難於感應道交矣。欲絕此禍,莫如見一切女人,皆作親想,怨想,不淨想。親想者。  見老者作母想淘宝特卖眼线润肤乳排行榜好左旋肉碱哪个牌子好去黑头化妆水哪个牌子好有效的哪个保健补品好,長者作姊想,少者作妹想,幼者作女想,欲心縱盛,斷不敢於母姊妹女邊起不正念。  視一切女人,總是吾之毋姊妹女。則理制於欲,欲無由發矣。怨想者,凡見美女,便起愛心。由此愛心,便墮惡道。長劫受苦,不能出離。如是則所謂美麗嬌媚者,比劫賊虎狼、毒蛇惡蠍,砒霜鴆毒,烈百千倍。  於此極大怨家,尚猶戀戀著念,豈非迷中倍人。不淨者,美貌動人,只外面一層薄皮耳。若揭去此皮,則不忍見矣。骨肉膿血,屎尿毛髮,淋漓狼藉,了無一物可令人愛。但以薄皮所蒙。則妄生愛戀。  華瓶盛糞,人不把玩。今此美人之薄皮,不異華瓶。皮內所容,比糞更穢。何得愛其外皮,而忘其裏之種種穢物,漫起妄想乎哉。苟不戰兢乾惕,痛除此習。則唯見其姿質美麗,致愛箭入骨,不能自拔。  平素如此,致其沒後不入女腹,不可得也。入人女腹猶可。入畜女腹,則將奈何。試一思及,心神驚怖。  然欲于見境不染心,須于未見境時,常作上三種想,則見境自可不隨境轉。否則縱不見境,意地仍復纏綿,終被淫欲習氣所縛。固宜認真滌除惡業習氣,方可有自由分。</p><script>  // 脚本</script></body></html>

样式:

* {  margin: 0;  padding: 0;}html,body {  width: 100%;  height: 100%;}body {  position: relative;  overflow: hidden;}p {  font-weight: 600;  position: absolute;  width: 100%;  overflow: hidden;  left: 50%;  top: 50%;  transform: scale(0.9);  background-repeat: no-repeat;  background-position: center;  background-size: contain;  -webkit-background-clip: text;  -webkit-text-fill-color: transparent;  transform-origin: 50% 50%;  /*js生成*/  /*font-size: 12px;*/  /*line-height: 12px;*/  /*width: 400px;*/  /*height: 400px;*/  /*margin-left:-200px;*/  /*margin-top:-200px;*/  /*background-image: url(./img/test.jpg);*/}

脚本:

const $p = document.getElementsByTagName('p')[0]// 字体大小const fontSize = 12// 背景图片const imgUrl = './mememe.gif'$p.style.cssText = `font-size:${fontSize}px;line-height:${fontSize}px;`const text = $p.innerHTML.replace(/(\s+)/g, '')const textLength = text.lengthconst img = new Image()img.src = imgUrlimg.complete ? onImgLoaded() : (img.onload = onImgLoaded)function onImgLoaded () {  const imgRatio = img.width / img.height  let imgWidth = window.innerWidth  let imgHeight = imgWidth / imgRatio  if (imgHeight > window.innerHeight) {    imgHeight = window.innerHeight    imgWidth = imgHeight * imgRatio  }  const needTextLength = (imgWidth / fontSize) * (imgHeight / fontSize)  if (needTextLength > textLength) {    $p.innerHTML = new Array(Math.floor(needTextLength / textLength) + 1).fill(text).join('')  }   $p.style.cssText += `margin-left:${-imgWidth/2}px;margin-top:${-imgHeight/2}px;width:${imgWidth}px;height:${imgHeight}px;background-image:url(${imgUrl});`}

完整代码:

<!doctype html><html><head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">  <meta http-equiv="X-UA-Compatible" content="ie=edge">  <title>ascii art</title>  <style>    * {      margin: 0;      padding: 0;    }    html,    body {      width: 100%;      height: 100%;    }    body {      position: relative;      overflow: hidden;    }    p {      font-weight: 600;      position: absolute;      width: 100%;      overflow: hidden;      left: 50%;      top: 50%;      transform: scale(0.9);      background-repeat: no-repeat;      background-position: center;      background-size: contain;      -webkit-background-clip: text;      -webkit-text-fill-color: transparent;      transform-origin: 50% 50%;      /*js生成*/      /*font-size: 12px;*/      /*line-height: 12px;*/      /*width: 400px;*/      /*height: 400px;*/      /*background-image: url(./img/test.jpg);*/    }  </style></head><body><p>  色欲一事,乃舉世人之通病不特中下之人,被色所迷。即上根之人,若不戰兢自持,乾惕在念,則亦難免不被所迷。試觀古今來多少出格豪傑,固足為聖為賢。  祗由打不破此關,反為下愚不肖。兼復永墮惡道者,蓋難勝數。楞嚴經云,若諸世界六道眾生,其心不淫,則不隨其生死相續。汝修三昧,本出塵勞。淫心不除,塵不可出。  學道之人,本為出離生死。苟不痛除此病,則生死斷難出離,即念佛門,雖則帶業往生。然若淫習固結,則便與佛隔,難於感應道交矣。欲絕此禍,莫如見一切女人,皆作親想,怨想,不淨想。親想者。  見老者作母想淘宝特卖眼线润肤乳排行榜好左旋肉碱哪个牌子好去黑头化妆水哪个牌子好有效的哪个保健补品好,長者作姊想,少者作妹想,幼者作女想,欲心縱盛,斷不敢於母姊妹女邊起不正念。  視一切女人,總是吾之毋姊妹女。則理制於欲,欲無由發矣。怨想者,凡見美女,便起愛心。由此愛心,便墮惡道。長劫受苦,不能出離。如是則所謂美麗嬌媚者,比劫賊虎狼、毒蛇惡蠍,砒霜鴆毒,烈百千倍。  於此極大怨家,尚猶戀戀著念,豈非迷中倍人。不淨者,美貌動人,只外面一層薄皮耳。若揭去此皮,則不忍見矣。骨肉膿血,屎尿毛髮,淋漓狼藉,了無一物可令人愛。但以薄皮所蒙。則妄生愛戀。  華瓶盛糞,人不把玩。今此美人之薄皮,不異華瓶。皮內所容,比糞更穢。何得愛其外皮,而忘其裏之種種穢物,漫起妄想乎哉。苟不戰兢乾惕,痛除此習。則唯見其姿質美麗,致愛箭入骨,不能自拔。  平素如此,致其沒後不入女腹,不可得也。入人女腹猶可。入畜女腹,則將奈何。試一思及,心神驚怖。  然欲于見境不染心,須于未見境時,常作上三種想,則見境自可不隨境轉。否則縱不見境,意地仍復纏綿,終被淫欲習氣所縛。固宜認真滌除惡業習氣,方可有自由分。</p><script>  const $p = document.getElementsByTagName('p')[0]  // 字体大小  const fontSize = 12  // 背景图片  const imgUrl = './mememe.gif'  $p.style.cssText = `font-size:${fontSize}px;line-height:${fontSize}px;`  const text = $p.innerHTML.replace(/(\s+)/g, '')  const textLength = text.length  const img = new Image()  img.src = imgUrl  img.complete ? onImgLoaded() : (img.onload = onImgLoaded)  function onImgLoaded () {    const imgRatio = img.width / img.height    let imgWidth = window.innerWidth    let imgHeight = imgWidth / imgRatio    if (imgHeight > window.innerHeight) {      imgHeight = window.innerHeight      imgWidth = imgHeight * imgRatio    }    const needTextLength = (imgWidth / fontSize) * (imgHeight / fontSize)    if (needTextLength > textLength) {      $p.innerHTML = new Array(Math.floor(needTextLength / textLength) + 1).fill(text).join('')    }    $p.style.cssText += `margin-left:${-imgWidth / 2}px;margin-top:${-imgHeight / 2}px;width:${imgWidth}px;height:${imgHeight}px;background-image:url(${imgUrl});`  }</script></body></html>

在线演示:

演示一   演示二


转自:灵机一动



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 纯CSS使图片有放大效果代码
  • 纯CSS实现心形加载动画(附源码)
  • 纯CSS巧妙的实现带圆角的三角形
  • 纯CSS3怎么创建瀑布流布局?columns方法浅析
  • 纯css实现gif动图生成字画符

相关文章

  • 2022-04-29PS简单制作碎花布上的拼贴瓷砖文字效果教程
  • 2022-04-29分析PHP7.2忽略父类方法以及Liskov替换原则相关问题
  • 2022-04-29dedecms页面获取会员状态的代码
  • 2022-04-29提高网站排名的三个方法
  • 2022-04-29jQuery怎么实现鼠标经过改变背景色
  • 2022-04-29为网站选择一个适当的DMOZ目录
  • 2022-04-29Photoshop设计冬季促销广告设计教程
  • 2022-04-29网站文字循环变色代码
  • 2022-04-29改用Server酱Turbo版推送WordPress评论
  • 2022-04-29详解PHP中高精度计时器HRTime扩展

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • PHPCMS V9后台复制指定文章到同模型的指定栏目中
    • 外链的好坏与网站获得很好的排名无关
    • Docker基础之compose文件结构以及安装工具
    • Phpcms V9调用Discuz X2.5论坛最新帖、最热帖、热门版
    • 3个小时内网站被谷歌,搜搜,有道收录
    • JS 中 9 个强大主流写法(各种 Hack 写法)
    • Dedecms后台登录验证码不正常显示怎么办
    • PHP怎么返回四位数不满补零
    • 宝塔Linux面板之修改MySQL默认保存位置
    • jQuery怎么删除元素但保留子元素

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有