@伪随机背景

娃娃将近半个月没有写博客,甚是不爽。
与此同时,墨鱼丸也懒得要命,使劲儿胖,胖成了一条海参。

伪随机背景用法很巧妙,这一节的目的就是想让条纹背景当中的条纹“不规律”滴出现,至少在有限长度(或宽度)范围内你是看不出来的。
拿四色条纹来说,摘出来一个作为底色,另外三个重复出现的频率不一样(用background-size来控制),比如这样写:

background: hsl( 20, 40%, 90%);
background-image:
linear-gradient( 90deg, #fb3 10px, transparent 0),
linear-gradient( 90deg, #ab4 20px, transparent 0),
linear-gradient( 90deg, #655 20px, transparent 0);
background-size: 80px 100%, 60px 100%, 40px 100%;

这里面的规律是:#fb3的宽度为10px,每隔80px出现一次;#ab4宽度为20px,每隔60px出现一次;#655宽度为20px,每隔40px出现一次。(但它有时候比较苦逼,就是该当它出现的时候有可能会被#fb3和#ab4覆盖一部分或全部,所以这时候你是看不到它的)同时,根据linear-gradient的顺序来排他们显示的优先级。

however!(however又来了。。。)
background-size的值如果看起来很nice的话,条纹显示的随机性会减弱的。
而每隔240px(40px、60px、80px的最小公倍数),红框的部分就会再一模一样滴显示一遍出来。
就像酱紫:


CSS Secrets @伪随机背景 - CSS娃娃 - CSS娃娃的博客

那怎么办呢?
那就让最小公倍数无限大(所谓的“禅原则”),可视范围内红框就不重复出现啦~
比如把80px、60px、40px分别改成41px、61px、83px,而他们的最小公倍数为207583...我保证你绝对不会看到重复的红框框!

background-size: 41px 100%, 61px 100%, 83px 100%;

酱~ done~


CSS Secrets @伪随机背景 - CSS娃娃 - CSS娃娃的博客
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 实现条纹背景时,让条纹看上去是随机的,可以用质数来表示每个条纹的宽度。 这种使用质数来增加随机性,实现伪随机的效果...
    Elevens_regret阅读 314评论 0 0
  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 9,958评论 0 8
  • 1.多重边框 我们可以通过使用border-image来写一个多重边框,或使用多个元素来模拟多重边框,不过我们有更...
    FlyingWWS阅读 2,482评论 2 5
  • 上周六我去理了个新发型,说句实话,不是很满意,但是周一我去上班的时候,听到一个同事说:“齐总,今天换了个新发型,变...
    齐三爷阅读 508评论 1 0
  • 我在简书,遇到了一个叫午石的姑娘。我不知道你是谁,住在哪,有着怎样的人生。但我已经习惯了看看你的文章和你说说话。 ...
    qian七重阅读 324评论 3 1

友情链接更多精彩内容