首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我用 JavaScript 来编写 CSS

译者:Ivocin 校对者:MacTavish Lee, Mirosalva 三年来,我设计的 Web 应用程序都没有使用 .css 文件。...作为替代,我用 JavaScript 编写了所有的 CSS。 我知道你在想什么:“为什么有人会用 JavaScript 编写 CSS 呢?!” 这篇文章我就来解答这个问题。...为什么我喜欢 CSS-in-JS? 主要是 CSS-in-JS 增强了我的信心。我可以在不产生任何意外后果的情况下,添加、更改和删除 CSS。我对组件样式的更改不会影响其他任何内容。...如果删除组件,我也会删除它的 CSS。不再是只增不减的样式表了!✨ 信心:在不产生任何意外后果的情况下,添加、更改和删除 CSS,并避免无用代码。 易维护:再也不需要寻找影响组件的 CSS 了。...尤其是我所在的团队从中获取了很大的信心。我不能指望所有团队成员,特别是初级成员,对 CSS 有着百科全书般的理解。最重要的是,截止日期还可能会影响质量。

1.3K50

中秋我用CSS写了个嫦娥奔月

为了这个中秋创意我觉得我自己也是绞尽脑汁了,看到那个中秋创意的选题,我瞧了瞧Python 画图,不会,又看爬虫,行不通(乱爬听说会被邀请喝咖啡),前端页面制作,我都没写过几个,越看越难受啊,就没啥能和我扯上关系的...最后实在无路可走了,老老实实复习CSS动画,一下一下的调,色彩搭配,翻各种网站。...代码演示可以查看我的CodePen:CSS嫦娥奔月 一、结构 页面结构主体大概就分为以下几点: 月亮 流星 随处闪烁的星星 移动的嫦娥 清楚构思之后,就特别简单了。...left: 80%; top: 140px; opacity: 1; } } 五、流星 生成是拿简单的javascript代码生成的,重点主要是在于CSS...在这里我把用到的一些工具分享给大家哈 W3C School 复习CSS动画 RGB颜色值和十六进制颜色码互转 A Single Div 一个富有创意的div项目 Palettes | Flat UI

25110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    面试官让我用channel实现sync包里的同步锁,是不是故意为难我?

    大家仔细看看文章里用channel实现几种常用的同步锁的思路,没准儿哪次面试就碰上这样的面试官了呢。 今天,我将深入探讨Go语言channel和select语句的表达能力。...为了演示只用这两个原语就可以实现多少功能,我将从头开始用它们重写sync包。...sync包提供的同步原语的有哪些以及如何使用我们已经在之前的文章里介绍过了,所以这里不会再去介绍用channel实现的这些同步原语应该怎么用。...下面是用channel实现的WaitGroup同步原语,真正起到阻塞goroutine作用的是世代里的wait通道,然后通过用WaitGroup通道包装generation结构体实现WaitGroup的...有关通道和同步锁都适合解决什么种类的问题我们后面的文章再细说,今天这篇文章,需要充分理解Go语言通道的行为才能理解文章里的代码,如果有哪里看不懂的可以留言,只要时间允许我都会回答。

    77960

    深挖 Threads App 帖子布局,我进一步加深了对CSS网格布局的理解

    使用CSS Grid进行帖子布局 在生产应用程序中,CSS Grid的最显着的用例之一就是Threads。CSS Grid用于构建帖子布局。...我不知道为什么团队会选择这种方法,但我更喜欢使用gap属性。 为什么不使用命名的CSS网格区域呢? 根据我目前观察到的情况,有三种网格布局变体,它们都可以受益于使用命名网格区域。...请参见下图: 连接我的头像和马克的头像的那条线是一条 SVG 路径。它由三部分组成。 第一部分的长度是用 JavaScript 计算的。...网格的内联CSS变量 我很高兴看到像Threads这样的大型应用程序正在使用我和许多其他人提倡的东西。 在用户个人资料中,选项卡网格布局是使用包含选项卡数的内联CSS变量构建的。 很有用。...我喜欢检查CSS并了解Threads团队如何构建产品。我相信还有很多东西我没有注意到,因为这只是Web上的预览版本。

    17820

    我如何用一行Css代码使谷歌浏览器的数据网格滚动快10倍

    这就是我所看到的:DevTools / Performance 滚动"顶部链接站点"数据网格的性能配置文件,非常低的 FPS "任务"块上的那些红耳朵表明,在滚动时,某些东西需要的时间比可接受的时间要长...第 5 步 - 改善情况 基于性能配置文件中的数据,我怀疑在滚动网格时,整个页面都已布局。并且指出许多要素的成本很高。要是有办法限制效果就好了 ... ......我只是在面板上添加了一行CSS,说明它不会影响页面上其他元素的布局或样式: on the Elements table { contain: strict; } 如这里所示: 就这样..., 单行 Css 快10倍 你可以尝试这个 “fix” 自己在自己的 Google Search Console....了解更多关于CSS contain 在 MDN. 植入广告:如果您需要一个可执行的数据网格处理 10 万+行与平滑滚动,请务必查看 Bryntum 网格 (由我和我的同事开发).

    2.2K10

    我和我亲爱的祖国(用CSS来为祖国母亲庆生)

    作者:陈大鱼头 github:KRISACHAN “我和我的祖国一刻也不能分割,无论我走到哪里都流出一首赞歌。”...相信大家最近已经被 《我和我的祖国》 这首歌给刷屏了,鱼头每次在听到这首歌的时候,总会感慨万千,我们伟大的新中国,这70年真的经历了太多太多了。...说起国旗,我们不来尝试下用代码来画个五星红旗吗? 具体属性 首先我们要知道,国旗是五星红旗,旗面为红色,长宽比例为3:2。...如果你们知道什么是 雪碧图(CSS Sprite) ,这个应该就好理解了,在 HTTP1 的时代里, 雪碧图(CSS Sprite) 是一个很常见的技术概念,由于译名的原因,也有人叫它CSS精灵,是一种...SVG版本的红旗 我们实现了CSS版的五星红旗,那么现在就让我们来实现一次SVG版本的。 用SVG去处理一些复杂的图案是非常轻松的,我们只需要知道路径,就可以对它进行操作。 当然我们该怎么知道路径?

    62330

    CSS 新版网格布局简述

    如果计算机的计算能力足够强大,是不是人这个东西也可以用物理量进行表示。 网格布局 CSS 网格是一个用于 web 的二维布局系统。利用网格,你可以把内容按照行与列的格式进行排版。...创建自己的网格 决定好你的设计所需要的网格后,你可以创建一个CSS网格版面并放入各类元素。我们先来看看网格的基础功能,然后尝试做一个简单的网格系统。...如图: 然后我们对css规则做点改变,来了解网格是如何工作的。 首先,将容器的display属性设置为grid来定义一个网络。与弹性盒子一样,将父容器改为网格布局后,他的直接子项会变为网格项。...为了让容器container看起来更像一个网格,我们要给刚定义的网格加一些列。那就让我们加几个个宽度为200px的列。我这里加了5个,当然,这里可以用任何长度单位,包括百分比。...是不是现在的框架用的还是老版本的网格布局?有时间了看看去 javascript基础知识总结

    1.6K10

    年度实用技巧 | 萤星漫舞,我用CSS绘制了一个属于夏天的回忆

    萤火虫的记忆还停留在我的童年,乡间田野之间,夏日到来的夜晚,偶尔会和玩伴们一起去冒险,经常能遇到星星点点的萤火虫。长大后,繁华都市的华灯,虽然璀璨夺目,但是让我感觉遥远且冰冷。...萤火微小,却照亮了我探索自然的路。再次遇到萤火虫相关的场景,勾起我对童年的美好回忆,于是我决定复刻这个场景,来迎接夏日的到来。萤星漫舞的效果使用CSS3便能实现。“望孟夏之短夜兮,何晦明之若岁?”...,这样边缘就有了弧度;css#searchlight { position: absolute; top: 407px; left: 85px; height: 45px; border-radius...css#light { position: absolute; top: 376px; left: 94px; width: 125px; height: 100px; z-index: 119...所以,我比较喜欢偏生活类的游戏,算是与生俱来的种田情怀吧。

    10810

    前端修仙之路:从“路人”到大神,走对这几步很重要

    我是把它们形容成实验,所以不要害怕失败。 ? 第一个实验里,我们用的是CodePen,一个在线的HTML与CSS实验台。同时也提供了实时预览功能,一石二鸟呦。...Grid Systems and Responsiveness 网格系统即是用来水平或者垂直地排布元素的CSS架构。 ?...当你决定要重构代码之前,你要先扪心自问以下几点: 你的类名定义是不是模糊不清的,6个月之后你还能否明白你类名的意义。 你的HTML与CSS是否足够语义化,一眼望去是否就能明白你的代码架构与关系意义?...你是否N次的重复使用了相同的颜色代码,别忘了可以用Sass variable。 你的代码是否能够在Safari与Chrome都能正常运行? 能否用像Skeleton这样的网格框架来代替你自己的布局?...你是不是经常使用了!important ? Experiment 4 最后一个实验是一个大杂烩,把前面讲的所有知识都混杂起来。

    91450

    纯CSS实现 | 食物系虚拟流光键盘

    是不是很炫?...了解一下栅格布局 自从94年哈肯.维姆莱提和伯特波斯决定一起合作设计CSS,到现在为止已经27年了,比我年龄还大,哈哈!...创建栅格容器 栅格布局第一步就是创建一个栅格容器,这点跟弹性盒布局中定义弹性容器很像,它们都会将一个父元素定义为栅格或者弹性容器,容器生成网格布局后,其所有子元素为「网格元素」,而弹性容器的子元素是「弹性元素...,开始我们的键盘实现‍♀️ HTML结构搭建 结构布局这块很简单,整体是一个「keyboard」,每一个键是「key」,里面包含了文字和图标,用「span」元素表示即可,就有了如下布局 用CSS弄花哨点...,这里可以使用CSS3的animation来实现 ok!

    87040

    使用这些不太常用的 CSS 属性,让我在前端布局效率上,又提高了一个层次!

    其实,有时候我们用 JavaScript 来实某些交互,CSS 一个属性就能搞定了,这可以大大节约我们编码的时间。 作为前端开发人员,我们经常会遇到这样的事情。...所以我问自己,为什么不搞篇文章列出所有那些较少使用但既有用又有趣的 CSS 属性? 在本文中,我将介绍一些不一样的CSS属性,希望能给你带来点新鲜感,废话不多说,让我们开始吧。...在CSS网格中使用Place-Items ? 我们只需使用两行 CSS 代码就可以将元素水平和垂直居中。...CSS 的columns 属性是一种布局方法,可以将元素划分为列。 一个常见的用例是将段落文本内容分为两行。 但是,最不常见的是我们可以在列之间添加边框。...当我第一次了解它时,它改变了很多事情,使我作为前端开发人员的生活更加轻松。 最近,我正在研究显示徽标网格的部分。 由于徽标大小不一致,因此有时很难做到这一点。

    2.1K20

    CSS 变量由浅入深,提升效率必备知识!

    CSS变量(又名自定义属性)已在Web浏览器中支持了近四年。 我一般也会根据项目情况使用它们。 它们非常有用且易于使用,但是前端开发人员通常可能会误用或误解它们。...在CSS中,没有直接的方法来做到这一点,但是我们有一个简单的解决方法,使用CSS变量。 假设有一个图标,并且其宽度和高度应该相等。 我定义了变量--size,用于宽度和高度。...用例四:CSS Grid CSS 变量对于网格非常有用。 假设希望网格容器根据定义的首选宽度显示其子项。 与为每个变体创建类并复制CSS相比,使用变量更容易做到这一点。...例如,这种方法可以帮助建立网格原型。...用例十四:继承 是的,CSS变量确实继承。如果父元素中定义了CSS变量,那么子元素将继承相同的CSS变量。

    2.2K20

    使用这些 CSS 属性,布局效率又提高了一个层次!

    有很多CSS属性,有些人不了解,或者他们了解它们,但是忘记在需要时使用它们。其实,有时候我们用 JavaScript 来实某些交互,CSS 一个属性就能搞定了,这可以大大节约我们编码的时间。...所以我问自己,为什么不搞篇文章列出所有那些较少使用但既有用又有趣的 CSS 属性? 在本文中,我将介绍一些不一样的CSS属性,希望能给你带来点新鲜感,废话不多说,让我们开始吧。...在CSS网格中使用Place-Items 我们只需使用两行 CSS 代码就可以将元素水平和垂直居中。...一个常见的用例是将段落文本内容分为两行。 但是,最不常见的是我们可以在列之间添加边框。 我从是 Manuel Matuzovic的文章中学到了这一技巧。 ?...当我第一次了解它时,它改变了很多事情,使我作为前端开发人员的生活更加轻松。 最近,我正在研究显示徽标网格的部分。 由于徽标大小不一致,因此有时很难做到这一点。

    2K20

    我是如何爱上ag-grid框架的

    回想起来,我意识到我只讨厌它,因为我的前任缺乏对AngularJS 1.x的了解。因此诞生了网格项目。 '我当时年少无知' 网格项目只有一个目标:制作网格来替换我的所有网格并使其变得非常棒。...和大多数喜欢某些东西并希望自己使用它的开发人员一样,我分叉了Ng-Table,并在那时扩展了我需要的许多功能。没有考虑未来,甚至没有把它视为一个大项目,但男孩我错了。...我需要为每个人寻找最好的网格 - 每个用户和用例都有选项 - 用我的所有网格替换。...我查看了AngularJS 1.x的多个网格项目,没有像ag-Grid那样活跃,当我随便链接链接时,我登陆了ag-Grid示例页面。我的前任做错了!...我是一个非常自豪的开发人员,所以很难接受我错了,但是当我最终接受它时,由于ag-Grid,我的生活变得如此简单。 旅程 我只是无法停止使用它。我用这个网格做了很多事情。

    6.2K40

    有趣的 CSS 像素艺术

    我在 CodePen 上浏览时偶然发现了一些像素艺术,它提醒我这种艺术是多么令人敬畏!...See the Pen Pikachu pixel css by Devi Krisdiansyah (@agilBAKA) on CodePen. 是不是很酷?...这也是教我们如何用 HTML 和 CSS 创建像素艺术的一个很好的案例。让我们分析下这个概念,并创建一个可以在其他情况下使用的模式。 创建网格 第一件事,我们需要一张绘制我们像素化作品的画布。...另外一种建立网格的方法是用两个 div 代替表格。其中一个作为画布的容器;另一个代表画布上的元素,可以根据我们的需要重复多次。...其他的像素绘制技术 box-shadow 你可以用一个元素通过复杂的 box-shadow 属性绘制像素艺术。

    1.3K70

    分分钟学会CSS Grid布局

    image.png 前言 Grid 布局是网站设计的基础,CSS Grid 是创建网格布局最强大和最简单的工具。...在本文中,我将尽可能快速地介绍CSS网格的基本知识。我会把你不应该关心的一切都忽略掉了,只是为了让你了解最基础的知识。...image.png 我已经添加了一些样式,但是这与 CSS Grid 没有任何关系。 Columns(列) 和 rows(行) 为了使其成为二维的网格容器,我们需要定义列和行。让我们创建3列和2行。...这是上面代码的布局的结果: image.png 非常好理解,使用起来也非常简单是不是?下面我们来加大一点难度。...看看下面这个图像,我画了黑色的列网格线: image.png 请注意,我们现在正在使用网格中的所有行。

    97720
    领券