网站首页 > 技术文章 正文
作为一名前端工程师,经常在写完 HTML 以后,才觉得真正的噩梦要开始了,啊,写 CSS 的时候,面对满屏乱飞的组件,真想手动给他们挪到该在位置上……
都说 CSS 很难掌握,最愁给页面编写样式,其实都是因为还没有形成一个对象 CSS 宏观的了解,只要有了正确的学习方法、设计思维,再通过不断的积累,就能轻松地掌握它。接下来我会把掌握 CSS 的 5 技巧整理一下,让你在以后编写 CSS 的时候不用再发愁。
样式调整
CSS 最基本的功能就是调整 HTML 的样式,可以设置元素的宽高、字体的颜色、大小和间距、背景颜色或图片等。这些跟传统的富文本编辑器不一样比如 word 是一样的效果。有些属性可以一次性设置多个项目,比如background可以同时设置:
- background-color
- background-image
- background-origin
- background-position
- ...等等
action
业余时间经常到像 mdn 之类的文档网站上去查它们的用法,能长不少见识。
布局调整
CSS 的一大难题就在于对页面进行整体布局,这个时候就需要把思维放到一个整体上来,对布局进行规划,然后合理利用 css 的 flex 和 grid 来实现。
多数情况下的页面并不是规规矩矩的布局,经常会有层叠、覆盖、偏移等奇特的布局方式,所以 CSS 有脱离文档流这个概念,使用 absolute 绝对定位、fixed 固定定位、又或者是使用 float 属性都会导致元素脱离正常的文档流,正常的文档流是说元素都是从上到下,从左到右依次排列的(块级元素因为占据一整行,所以都是从上到下)。而元素脱离文档流之后,这个元素就相当于被拿走,后边的元素会占用这个元素的空间,以此类推。而这个单独被拿走的元素则可以通过像 left,top 之类的属性,根据一定的规则来自由移动,如果有重叠,则可以通过 z-index 来控制谁在上谁在下。需要注意的是,使用 tansform 属性调整元素的位置不会导致它们脱离文档流,它们所占的空间会停留在原位。
响应式布局
响应式布局用 CSS 实现比较简单,通过 @media 查询屏幕宽度,根据页面的显示效果,把相应的样式覆盖,来让页面显示正常。
action
要训练自己对布局的规划,可以看一下其他的网站,从简单规整的开始,逐步分析它们的布局,例如导航、头部区域、内容分区和底部信息,自己用简单的 HTML 元素方块把它规划出来,忽略组件细节,慢慢的再去看一些不规则布局的网站,再用自己的方法把它实现出来,慢慢的就会形成一种思路,看到设计稿就能知道该怎么大体规划网站的布局了。
学习 CSS 建议看的就是 MDN[1] 和 W3Schools[2],随时查阅属性的含义,如果想看具体的特效或者图形怎么实现,可以谷歌搜索或者每天浏览一下 codepen 找找灵感。最重要的是一定要动手去写,等积累的多了之后,就会形成套路。
需要私我 “资料” 获取!!
- 上一篇: HTMLCSS学习笔记(十九)——媒体查询
- 下一篇: 前端基础:CSS3 前端基础知识面试题
猜你喜欢
- 2024-11-11 可以让你受益匪浅的10个css使用技巧,值得收藏
- 2024-11-11 防御式CSS是什么?这几点属性重点防御
- 2024-11-11 不用@media,响应式设计实现也可以怎么“秀”
- 2024-11-11 零基础学网页—CSS的调用方式有哪些?
- 2024-11-11 web技术分享|css filter和getUserMedia的联合使用
- 2024-11-11 WEB前端工具推荐丨分享6个热门颜色选择器组件
- 2024-11-11 新的Google Chrome元标签将允许网站推荐设备节电策略
- 2024-11-11 如何构建一个响应式网站 创建一个响应式网页
- 2024-11-11 郑州Web前端入门之如何用CSS做响应式布局
- 2024-11-11 亲历 | 走上舞台 走上舞台实践活动宣传标语
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-