前言

最近几周我一直在看 CSS 规范,下来感受就是,真·心乱如麻。也就是 CSS 是真的简单,真的,你说你 JS 巨佬,我膜拜,HTML 大师,我 respect,CSS 专家,呃,你是写规范的吗,出来咱俩比划比划,别怪我不讲武德。

对于 CSS 本身,真的可以做到战略上藐视。只要你对它的知识体系有一个逻辑合理且基本完备的认知,所有的问题都不过是技巧层面的。

当然,由于 CSS 如何起效、如何表现最后其实是浏览器说了算,因此单纯地从 CSS 语言角度出发是无法获得完整的应用知识的,这是后话,暂且不表,这篇文章我们主要来讲一讲布局方面的知识。

1 CSS 有哪些布局模式?

考虑到网页排版的(早期)需求,CSS2 规范中描述了 “视觉格式化模型” 。在这个模型中,文档树上的每个元素都基于 “盒子模型” 生成了 0 个或多个盒子,而这些盒子依据如下内容排版:

  • 盒子的维度属性(dimensions,也就是宽高边距这些)和类型(type,由 display 属性决定)
  • 位置约束(正常流、浮动、绝对定位)
  • 文档树中元素的关系(后代、子代、sibling、preceding)
  • 外部信息(比如 viewport size,图片维度等)

其实理论上这一套东西也够用了,只是想要达到某些效果需要使用各种复杂

【前端圭臬】五:CSS 核心机制——布局相关推荐

  1. [19/06/07-星期五] CSS基础_布局定位背景样式

    一.固定布局(不适应设备的浏览器的变化) <!DOCTYPE html> <html><head><meta charset="UTF-8" ...

  2. 前端笔记html+css+vue, 页面布局、定位、字体背景等和一些常用方法

    目录 弹性布局: 定位: overflow溢出: 表单: vue数据存取: vuex store 全局数据: vux弹窗,软提示,硬提示 ElementUI MessageBox 弹框简单用法 背景设 ...

  3. 【前端圭臬】一:写给入坑前端的你

    专栏目录 导论 [前端圭臬]一:写给入坑前端的你 HTML 篇 [前端圭臬]二:你知道的和不知道的 HTML CSS 篇 [前端圭臬]三:详解 CSS 选择器 [前端圭臬]四:CSS 核心机制--如何 ...

  4. 前端工程化系列[06]-Yeoman脚手架核心机制

    在前端工程化系列[05] Yeoman脚手架使用入门这边文章中,对Yeoman的使用做了简单的入门介绍,这篇文章我们将接着探讨Yeoman这个脚手架工具内部的核心机制,主要包括以下内容 ❏ Yeoma ...

  5. div css表单布局的五个小技巧

    div css表单布局的五个小技巧可以帮助你更灵活的控制表单,使页面更加满意. 1.表单文本输入的移动选择: 在文本输入栏中,如果加入了提示,来访者往往要用鼠标选取后删除,再输入有用的信息.其实只要加 ...

  6. css响应式布局_Web前端新手怎么入门 如何用CSS做响应式布局

    Web前端新手怎么入门?如何用CSS做响应式布局?很多Web前端新手对响应式布局和自适应布局的概念以及制作方法分不清,简单来说响应式布局相当于流动网格布局,而自适应布局等于使用固定分割点来进行布局.接 ...

  7. 前端之DIV+CSS布局

    刚开始学习javaweb,首先定位学习后端,可是随着学习的深入和项目的进行,越来越发现前端知识的欠缺,之前也随着视频看过,随着时间的流逝,具体的应用也随之忘记了. 而现在开始自己练习项目,发现前端知识 ...

  8. web前端入门到实战:CSS实现平行四边形布局效果

    如何实现下图所示的平行四边形布局效果? 一.skewX的局限 一提到平行四边形,条件反射般的就会想起CSS transform中的skew()/skewX()/skewY()方法,可以让元素斜切,从而 ...

  9. CSS三列布局(五种方式)

    /*前提:左右宽度为300px,高度为100px,中间宽度自适应*/* {margin: 0;padding: 0; } <!DOCTYPE html> <html lang=&qu ...

最新文章

  1. Vitis-AI集成
  2. python软件开发-哪个开发软件可以写python啊,VS可以么?
  3. 深入浅出统计学 第二三章 量度
  4. 权限管理系统中 管理员能看到所有用户的密码么_计算机毕设项目002之学生成绩管理系统...
  5. python string.format()_Python string.format()百分比,不取整
  6. 齐次(Homogeneous)、单项式、多项式
  7. 会计电算化的过程 实质上是用计算机,会计电算化的过程,实质上是用计算机()的过程。A.单一地替代手工会计操作B.单一地替代对会计进行分...
  8. Python全栈开发之Day02
  9. 朗沃20140414
  10. c 远程登陆linux,Linux C/C++基础——Windows远程登录Linux
  11. Go语言版实现QQ扫码登陆
  12. python数据分析——pyecharts地图全解
  13. Python 爬取豆瓣影片短评 生成词云统计
  14. 丧心病狂的Android混淆文件生成器
  15. Chrome调试工具使用及waterfall含义详解
  16. 比win7运行快的linux发行版,旧电脑扔了浪费!装SliTaz系统,瞬间运行流畅如新机,比win7更快...
  17. [WARNING] fpm_children_bury()
  18. 移动小工具——利用python进行综合调度班的区县信息处理
  19. 判断点与多边形的关系(3):角度和法
  20. DCT算法可以说是有损压缩的第一步,多用在视频压缩方面。

热门文章

  1. Linux下的PCB结构体
  2. 通信工程论文 通信网络中故障数据优化检测仿真研究
  3. zabbix3.4.2实现对客户端网络状态监控
  4. 【​观察】2018年销售收入跨越百亿美元 华为企业业务指数级增长底气
  5. 项目中期客户拜访随行小记
  6. 协同过滤算法之通过Jaccard相似度计算推荐结果原理及代码实现
  7. 杨森翔的生活照片——雪泥鸿爪
  8. 时间敏感型网络协议解读
  9. No enclosing instance of type Main is accessible. Must qualify the allocation with an enclosing i...
  10. MySQL深入学习(十八):MySQL8其它新特性