5个技巧助你成为 CSS 大神

action

业余时间经常到像 mdn 之类的文档网站上去查它们的用法,能长不少见识。

布局调整


CSS 的一大难题就在于对页面进行整体布局,这个时候就需要把思维放到一个整体上来,对布局进行规划,然后合理利用 css 的 flex 和 grid 来实现。

多数情况下的页面并不是规规矩矩的布局,经常会有层叠、覆盖、偏移等奇特的布局方式,所以 CSS 有脱离文档流这个概念,使用 absolute 绝对定位、fixed 固定定位、又或者是使用 float 属性都会导致元素脱离正常的文档流,正常的文档流是说元素都是从上到下,从左到右依次排列的(块级元素因为占据一整行,所以都是从上到下)。而元素脱离文档流之后,这个元素就相当于被拿走,后边的元素会占用这个元素的空间,以此类推。而这个单独被拿走的元素则可以通过像 left,top 之类的属性,根据一定的规则来自由移动,如果有重叠,则可以通过 z-index 来控制谁在上谁在下。需要注意的是,使用 tansform 属性调整元素的位置不会导致它们脱离文档流,它们所占的空间会停留在原位。

响应式布局

响应式布局用 CSS 实现比较简单,通过 @media 查询屏幕宽度,根据页面的显示效果,把相应的样式覆盖,来让页面显示正常。

action

要训练自己对布局的规划,可以看一下其他的网站,从简单规整的开始,逐步分析它们的布局,例如导航、头部区域、内容分区和底部信息,自己用简单的 HTML 元素方块把它规划出来,忽略组件细节,慢慢的再去看一些不规则布局的网站,再用自己的方法把它实现出来,慢慢的就会形成一种思路,看到设计稿就能知道该怎么大体规划网站的布局了。

形状、特效的拆解与合并


为什么说前端工程师要学一点点设计方面的知识?因为前端页面实现中会有不规则的图形、动画效果等等,而在设计师的眼中,复杂的图形都是由最基本的图形来构成的,所谓的点、线、面。比如用 CSS 画一个三角形出来,可以利用 border,边框。

我们知道一个普通的 div 元素,它有四条边,其实每条边衔接的地方都是被切掉的一角,那么可以通过把 div 的宽度和高度取消,然后通过调整边框的宽度来制作出一个三角形。

又比如说一个波纹动画,可以把它拆解成,两个同样的元素叠在一起,底下的元素先放大,然后把透明度最终过渡成 0,就有了这样的效果

action

想理解前端页面和组件的特效,先去研究一下设计的基本原则和理论,不但能加快你的开发效率,而且能减少与设计师沟通的成本和时间,变相的减少加班~

页面组件设计原则


在写代码之前,你需要先认真研究一下设计稿,分析哪些页面上的组件完全或者大体相同,那么可以把这些组件的样式通过 class 或者其他方式做成一个独立的整体,再通过组合多个 class 来扩展原有的样式。比如说一个按钮可能有不同的颜色、不同的大小,但是形状和文字大小间距都一样的话,可以通过一个 button class 来定义按钮的通用样式,然后利用 color class 来控制它的颜色。

另外如果你发现大多数情况下都在写重复的 CSS 代码,那么这些代码就很可能可以用于多个组件,这种情况下本着“不编写重复代码的精神”,把它单独抽离出来,作为工具 class(utility),这样其他使用相同 CSS 属性的元素就可以直接使用它。比如说,使用 flex 布局时,可以定义一个.flex class,用于开启 flex,然后定义一个.column class 用于按列排布,还可以定义.center, .left 等 class 控制 flex 子元素的对齐方式。

flex1
flex2
flex3

action

在设计组件时,首先分析设计稿中哪些组件大体相同,然后把他们的公共样式抽离出来,有特殊情况时通过组合 class 来覆盖已有的样式,另外在设计组件时,只关心组件盒子内部的区域,不要设置像外边距这样的属性,它们应该由包含这个组件的容器来设置。因为相同的组件在不同容器中的位置和间距可能不同。

CSS 模块化学习


要学好 CSS,可以把它分解成独立的模块,整体上 CSS 可以做的操作有:

  • 通过选择器选择对应的 html 元素,应用样式

  • 设置元素外观,比如颜色、背景、字体等

  • 调整元素的位置和与其他元素的间距

  • 安排一组元素或者整个页面的布局

  • 覆盖或继承已有样式

actions

把这些功能分好类,逐一突破,就不至于感觉 CSS 像大杂烩一样。

一些学习资源

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 27
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值