Web布局: CSS 盒模型
特别声明:为感谢社区广大朋友对小站的支持,自2019年10月1日至2019年11月11日开通年费VIP通道,年费价格为 ¥299.00元。如果您喜欢小站的内容,可以点击开通会员进行全站阅读。如果您对付费阅读有任何建议或想法,欢迎发送邮件至: airenliao@gmail.com!(^_^)
在学习Web布局之前有一个非常重要的概念需要理解,这个概念就是盒模型。CSS盒模型是多个不同的CSS规则集合,定义了如何渲染Web页面。这一系列的不同的属性决定了HTML元素在页面上的位置。到目前为止,所有Web页面都只是一个接一个渲染的元素。可以说盒模型是我们定制默认布局方案的工具包。
作为Web开发人员,大部分工作是将应用CSS盒模型中的规则将设计模型转换为Web页面(简单点说,就是UI还原)。接下来要介绍的CSS盒模型又被视为UI还原的重中之重,因为它定义了盒子的单独行为。特别是在以后的章节中,我们学习的各种布局都将会围绕着HTML的结构和CSS的盒模型一起来展开。
基础盒模型介绍
在CSS中,一切都会生成一个框。而Web页面的本质上是一组块和内联框。如果在浏览器中使用开发者工具查看一个HTML中的元素,就可以很好的理解这些框。而这些框却是一组CSS规则的集合。主要用于确定页面中每个元素的尺寸。
在CSS的世界中将会视HTML中的每个元素比作一个盒子(也被称之为元素框)。
这个框体描述了元素在Web布局中所占的空间。因此元素之间涉及到位置和尺寸是会相互影响的。作为CSSer要彻底了解这些属性规则之间是如何相互影响的话,有一些理论和概念就很有必要了解清楚。
块元素和内联元素
任何一个Web页面都会有很多种不同的HTML元素组成,这也是众所周之的。前面我们也提到过,任何一个HTML元素都是一个框(盒子),这些框主要有两种类型,块和内联框。其对应的即是HTML中的块元素和内联元素。
- 块框:如果不做任何的处理,其宽度会占满容器的整个宽度(或高度),而高度(或宽度)由元素内容决定,比如
div
、p
、li
等元素都是块元素,而这些块元素在Web上渲染出来的框就是块框 - 内联框:如果不做任何的处理,其宽度和宽度都由内容来决定,比如
span
、strong
、em
等元素都是内联元素,而这些元素在Web上渲染出来的框就是内联框
用张图来描述,可能更易于理解:
这仅仅是常规的理解。
时至今日,CSS也有了较大的变化,而渲染也有着相应的变化。在块框和内联框和书写模式(writing-mode
)有着紧密的联系。
对于块元素(块盒子)而言,如果书写模式是水平方向horizontal-tb
,那么块是从上往下流;而书写模式是垂直方向horizontal-lr
时,那么块是从左向右流。如下图所示:
对于内联元素而言,它会按照当前上下文、书写模式和方向进行布局。它们的宽度取决于它们的内容,并且在任何有空间的地方相邻放置。如下图所示:
简而言之,块元素遵循流方向,内联元素遵循写入方向:
块轴和内联轴
块元素和内联元素是CSS中框模式中最基本的两种。而在Web的世界中还有坐标轴的概念,Web的坐标主要有两个轴,即:
x
轴:水平方向的坐标轴y
轴:垂直方向的坐标轴
如需转载,烦请注明出处:https://www.w3cplus.com/css/web-layout-box-module.html
如果文章中有不对之处,烦请各位大神拍正。如果你觉得这篇文章对你有所帮助,打个赏,让我有更大的动力去创作。(^_^)。看完了?还不过瘾?点击向作者提问!