为什么 CSS 这么难学?

CSS的非正交性使得其在学习过程中显得困难。当调整一个CSS属性时,可能会意外影响其他属性的效果,如width影响margin-left的行为,position: fixed受父元素transform影响等。这种不正交性需要开发者通过大量的实践和记忆来理解各个属性间的相互作用。尽管如此,通过不断尝试和学习,开发者可以逐渐掌握CSS的艺术。
摘要由CSDN通过智能技术生成

CSS 不正交并不是对 CSS 的指责,如果能正交它肯定会做到正交的,现在的设计虽然不完美,但可能是最好的设计。

下文列举的问题能在规范里找到解释不能说明 CSS 是正交的,因为正不正交应该是从表面上就能看出来的。正交一般都是对接口的约束,具体实现我不管的。

本答案可以很好地解释「为什么你会觉得 CSS 难学」,至于不难的学习方式,其实是不存在的。要么你大量练习从实践中总结,要么你大量阅读文档从理论中领悟,反正 CSS 就是很难学。
在这里插入图片描述
我是这么觉得的,如果有人问 CSS 为什么这么难学,我们就应该好好回答 CSS 为什么这么难学;至于 CSS 多牛逼,应该另开一个问题。

短答案:因为 CSS 不正交。

长答案:

我先来解释一下什么是正交。

你调过显示器的「亮度」、「色调」和「饱和度」吧。

「亮度」就是明暗程度,值越大,屏幕越亮。

「色调」就是颜色,你通过调色调,可以把红色调成绿色。

「饱和度」就是鲜艳程度,值越大越鲜艳。

「正交」就是,你调节这三者中的一个时,不影响其他两个效果。

你调节「亮度」的时候「色调」和「饱和度」不会变化。

你调节「色调」的时候「亮度」和「饱和度」不会变化。

你调节「饱和度」的时候「亮度」和「色调」不会变化。

「正交」看起来应该是理所当然的,对吧。

想象一下「不正交」的情况:你调节「亮度」的时候,「色调」和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值