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

为什么 CSS 这么难学

本文来自知乎上的问题回答——为什么 CSS 这么难学? 本文节选自方应杭的回答。你可以通过点击文章下方的阅读原文来访问知乎问题地址 因为 CSS 不正交 什么是正交?...inline-block 会影响 margin position: absolute 会影响 display 和 float transform 会影响 z-index display 会影响 li 前面的小黑点 JS...这,就是 CSS 难学的原因。 以我的经验,越是理性的人,越难理解 CSS;越是感性的人,越容易理解 CSS。 这就是为什么大部分后端程序员能学会 JS,却学不会 CSS——他们太理性了。...我是这么觉得的,如果有人问 CSS 为什么这么难学,我们就应该好好回答 CSS 为什么这么难学;至于 CSS 多牛逼,应该另开一个问题。

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

    热议:CSS为什么这么难学?一定是你的方法不对

    前段时间我在知乎刷到这样一个提问:为什么CSS这么难学?...点进去阅读得津津有味~ two minutes later ~ 奥,原来还有这个属性,是这么用的呀,涨姿势了! 场景三:我决定了,我要好好学CSS,打开购物网站搜索:CSS书籍,迅速下单!...顺便再给大家推荐几个不错的学习资源 张鑫旭大佬的博客 大漠老师的W3Cplus coco大佬的iCSS 毕竟站在巨人的肩膀上,才是最高效的,你们可以花1个小时学习到大佬们花1天才总结出来的知识 二、记住CSS的数据类型 CSS比较难学的另一个点...某个属性的兼容性,是这样的 查看MDN的某个属性的浏览器兼容性 通过Can I Use来查找某个属性的浏览器兼容性 这些都是正确的,但有时候可能某些CSS属性的浏览器兼容性都无法通过这两个渠道获取到,那么该怎么办呢...手动试试每个浏览器上该属性的效果是否支持呗(鑫旭大佬说他以前也会这么干),这点我就不举例子了,大家应该能体会到 ☀️ 最后 其实每个CSS大佬都不是因为某些快捷的学习路径而成功的,他们都是靠着不断地动手尝试

    41810

    热议:CSS为什么这么难学?一定是你的方法不对

    前段时间我在知乎刷到这样一个提问:为什么CSS这么难学?...点进去阅读得津津有味~ two minutes later ~ 奥,原来还有这个属性,是这么用的呀,涨姿势了! 场景三:我决定了,我要好好学CSS,打开购物网站搜索:CSS书籍,迅速下单!...顺便再给大家推荐几个不错的学习资源 张鑫旭大佬的博客 大漠老师的W3Cplus coco大佬的iCSS 毕竟站在巨人的肩膀上,才是最高效的,你们可以花1个小时学习到大佬们花1天才总结出来的知识 二、记住CSS的数据类型 CSS比较难学的另一个点...某个属性的兼容性,是这样的 查看MDN的某个属性的浏览器兼容性 通过Can I Use来查找某个属性的浏览器兼容性 这些都是正确的,但有时候可能某些CSS属性的浏览器兼容性都无法通过这两个渠道获取到,那么该怎么办呢...手动试试每个浏览器上该属性的效果是否支持呗(鑫旭大佬说他以前也会这么干),这点我就不举例子了,大家应该能体会到 ☀️ 最后 其实每个CSS大佬都不是因为某些快捷的学习路径而成功的,他们都是靠着不断地动手尝试

    47540

    明明JS很简单,但为什么新手学JS起来这么费劲 ?

    每个程序员吧都有那种不停学习的阶段,就是指看到什么学什么 ,然后就感觉学的越多不会的就越多,感觉学会JS就要学会打包,学完打包就要学nodejs,然后就要学会webpack,就要学会vue,就要学会angulanjs...学习JS,学习前端,开头都是很容易的,因为JS本身并不难,它就是个脚本语言而已。做为学习者的你,对它也理所当然的充满希望。想着学会了JS,我也拿20K+的薪水,但事实显然并非如此。...因为JS语法的本身并不复杂,都是些if啊,else 啊,function啊,等等,如果刚开始的时候对OO并不熟悉,也不是非OO不能写JS,像群里的邓旭辉同学那样,按需求的操作过程来写JS,一样也是可以的...这时你会发现自己已经会写JS了,就像我看了一天PHP,就自己开始写聊天室一样,虽然我到现在也并不了解PHP的核心。但这里,你确实可以写JS了,你已经是前端开发。

    1.6K70

    Next.js 的路由为什么这么奇怪?

    先创建个 Next.js 项目: npx create-next-app@latest 执行 create-next-app,输入一些信息,Next.js 项目就创建好了。...当然,这些路由机制不只是页面可以用,Next.js 还可以用来定义 Get、Post 等接口。...这些路由机制确实看起来挺奇怪的,它会导致 Next.js 的项目看起来这样: 相比这种基于文件系统的路由,大家可能更熟悉 React Router 那种编程式路由: Next.js 这种声明式的路由其实熟悉了还是很方便的...所以说,Next.js 基于文件系统实现这套路由机制,用的这些奇怪的语法,其实都是挺合理的设计。 总结 我们学习了 Next.js 的路由机制,它是基于文件系统来定义接口或页面的路由。...Next.js 的路由机制挺强大的,支持的功能很多。

    92740

    MySQL实战第十四讲-count(*)这么慢,我该怎么办?

    然后你可能就想了,MySQL 怎么这么笨啊,记个总数,每次要查的时候直接读出来,不就好了吗。 那么今天,我们就来聊聊 count(*) 语句到底是怎样实现的,以及 MySQL 为什么会这么实现。...这里需要注意的是,我们在这篇文章里讨论的是没有过滤条件的 count(*),如果加了 where 条件的话,MyISAM 表也是不能返回得这么快的。...那么,回到文章开头的问题,如果你现在有一个页面经常要显示交易系统的操作记录总数,到底应该怎么办呢?答案是,我们只能自己计数。...我们是这么定义不精确的: 1. 一种是,查到的 100 行结果里面有最新插入记录,而 Redis 的计数里还没加 1; 2. ...至于分析性能差别的时候,你可以记住这么几个原则: 1. server 层要什么就给什么; 2. InnoDB 只给必要的值; 3.

    1.6K10

    JS阻塞渲染,这么多年我理解错啦?

    在中文社区,这么多年一直流传一个说法: JS线程负责执行JS,GUI渲染线程负责渲染,这两者是互斥的,所以JS执行时会阻塞渲染。 但随着Dev Tools使用的增多,逐渐开始怀疑以上说法。...本文会以实际案例来解释为什么JS阻塞渲染。...可以发现,具体的绘制操作是交由合成线程完成,他与JS所在线程(主线程)并不是互斥的。 JS为啥阻塞渲染 我们现在知道,JS执行与Paint任务都发生在主线程。...可以看到,有个JS执行时长达到231.88ms,超过了一帧的时间,在此期间主线程就没时间执行Paint了: 总结 JS之所以阻塞渲染,是因为JS执行与「渲染相关任务」都在争夺主线程有限的资源。...当JS执行时间过长,「渲染相关任务」就没时间执行了。

    1.9K41

    Nest.js进阶系列四:Node.js中使用Redis原来这么简单!

    大厂技术 高级前端 Node进阶 前言 大家好,我是 koala,一个有趣且乐于分享的人,这是 Nest.js 实战系列第四篇,我要用真实的场景让你学会使用 Node 主流框架。...回顾一下【Nest入门系列文章】 Nest.js 手把手带你实战-项目创建&数据库操作 Nest.js 手把手带你实战-实现注册、扫码登陆、jwt认证等 Nest.js 手把手带你实战-实现联表查询 前面...在Nest.js中使用 版本情况: 库 版本 Nest.js V8.1.2 项目是基于Nest.js 8.x版本,与Nest.js 9.x版本使用有所不同, 后面的文章专门整理了两个版本使用不同点的说明...总结 源码地址:https://github.com/koala-coding/nest-blog Nest.js系列目的: 希望帮助 Node开发者们熟练掌握 Nest.js 框架, 帮助想要学习 Node.js...的前端小伙伴们更好的入门一个优秀 Node 框架 该系列会持续更新,感兴趣小伙伴可以star一下,感谢 回顾一下【Nest入门系列文章】 Nest.js 手把手带你实战-项目创建&数据库操作 Nest.js

    2.4K30

    让天下没有难学js之JavaScript中变量的那些事,知识点超多

    ❝ 本篇文章面向群体:入门级 难度等级:★☆☆☆☆ 内容较多,建议点赞收藏后阅读 ❞ 什么是变量 变量作为js中最常见也是我们最早接触的js知识点,相信大家都不陌生,变量几乎存在于所有的编程语言中...怎么去声明一个变量 变量名 在js中声明一个变量通常通过关键字加一个变量名的形式来声明一个变量,那对于变量名在js中是如何要求的呢?...变量名中间不可有空格换行符及其他标点符号 不能使用脚本语言保留的关键字作为变量名,如true、false、function等(具体关键字列表可参考菜鸟教程JavaScript 保留关键字) 除了这些js...声明变量的方法为关键字加一个变量名,说完了变量名,我们就来说一下声明变量的关键字,js中声明变量的关键字有以下三种 var var关键字是我们学习js最先接触也是早期声明变量最为常用的关键字,使用方法直接在...,那么js中的数据类型又都有什么呢?

    1.2K20

    让天下没有难学js之this到底是什么,怎么用,这里可能给你答案

    即便是一些入门级的同学在遇到这些问题时,也只是通过不断的尝试使用var _this = this、.call()等方法去实现效果,最后虽然达到了想要的效果,但是却并没有明白问题所在,也懒得去仔细研究,那么今天我就来带大家一起看看js...会创建一个活动记录」,这句话也就说明了,函数在定义时是没有this的,this只在函数被调用时产生,我们也暂且可以粗略的理解为,this就是代表调用这个函数的对象,这句话在大多数情况下是行得通的,那什么情况下不能这么理解呢...如果不能理解这句话的话,我们可以直接这么理解 var bar = boj.foo = foo var() 相当于 foo() 另一种非常相似的情况可能会令我们感到迷惑,但是道理是一样的,代码如下 function...关于用new调用函数后是如何执行的,《你不知道的JavaScript》一书中是这么说的 ❝ 使用 new 来调用函数,或者说发生构造函数调用时,会自动执行下面的操作。

    52430

    MySQL深入学习第十四篇-count(*)这么慢,我该怎么办?

    然后你可能就想了,MySQL 怎么这么笨啊,记个总数,每次要查的时候直接读出来,不就好了吗。 那么今天,我们就来聊聊 count(*) 语句到底是怎样实现的,以及 MySQL 为什么会这么实现。...这里需要注意的是,我们在这篇文章里讨论的是没有过滤条件的 count(*),如果加了 where 条件的话,MyISAM 表也是不能返回得这么快的。...那么,回到文章开头的问题,如果你现在有一个页面经常要显示交易系统的操作记录总数,到底应该怎么办呢?答案是,我们只能自己计数。...我们是这么定义不精确的: 1. 一种是,查到的 100 行结果里面有最新插入记录,而 Redis 的计数里还没加 1; 2....至于分析性能差别的时候,你可以记住这么几个原则: 1. server 层要什么就给什么; 2. InnoDB 只给必要的值; 3.

    1.8K10
    领券