上篇博客《CSS——(1)基础》中简单介绍了CSS的概念和几种使用方法,现在主要是介绍其的核心内容。

盒子模型

为了理解盒子模型,我们可以先从生活中的盒子入手。盒子是用来放置物品的,内部除了有物品外,还有填充部分的东西。盒子与盒子之间还会有间隙。如下图所示:

对于网页中的大部分对象,实际呈现形式都是一个盒子形状对象,理解了盒子模型才能更好的排版。

CSS盒子模式具备的属性: 内容(content)、填充(padding)、边框(border)、边界(margin)。从上面的例子来看:内容即对应盒内的物品;填充对应盒内为了防止物品破碎的填充物;边框则是盒子的纸壳部分;边界就是纸壳外围的间隙了。

标准盒子模型:

其中,margin为外边距,padding为内边距。填充、边框和边界都分为上、下、左、右4个方向,既可以分别定义,也可以统一定义。

我们可以通过一个小例子来看一下盒子模型。

HTML:

<body>
<form id="TestForm" runat="server">
<div class="Test">
盒子模型
</div>
</form>
</body>

CSS:

.Test {
width: 180px; /*宽,高*/
height: 30px; margin: 5px; /*外边距*/
padding: 20px; /*内边距*/
border: 10px solid #0094ff; /*边框*/ }

网页显示:

盒子模型显示:

了解盒子模型可以帮助我们更好的排版,当然仅仅知道这个是不够的,我们还经常会谈到“标准流”。标准流,是指各元素没有特殊规则时的排列方式。它分为两类:块级元素和行内元素。二者的区别在于块级元素拥有自己的区域,而行内元素没有。

块级元素:以一个块的形式表现出来,并跟同级的块依次竖直排列,左右撑满。占有独立空间。

行内元素:各个字母之间横向排列,到最右端自动折行,横向排列。标签本身不占有独立的区域。

在这里,我们分别举个例子来说明这两类元素的不同。即块级元素中的<div>标签和行内元素中的<span>标签。

如下图所示:

那么,当我想把块级元素转换为行内元素,或者把行内元素转换为块级元素时,应该怎么做呢?这里就涉及到一个重要的属性了——display属性。

有三个常用属性值:

1)block   显示为块级元素

2)inline  行内元素

3)none  不显示

盒子模型可以帮助我们更好的布局和规划标签的排版位置,标准流是在没有特殊规则下的普遍适用的排列规则。在对标准流有了大致了解后,下篇博客将继续详细介绍CSS的核心内容中的定位机制。

CSS——(2)盒子模型与标准流的更多相关文章

  1. 【css】IE盒子模型和标准W3C盒子模型

    其实盒子模型有两种,分别是 IE 盒子模型和标准 W3C 盒子模型. 1.标准盒子 从上图可以看到标准 W3C 盒子模型的范围包括 margin.border.padding.content,并且 c ...

  2. #CSS的盒子模型、元素类型

    CSS的盒子模型.元素类型   本文首先介绍了CSS元素的统一内部结构模型,盒子模型:然后介绍了CSS元素基于不同分类标准定义的元素类型,包括基于不同内容设置方式定义的replaced元素和non-r ...

  3. 深入了解CSS中盒子模型

    CSS中盒子模型介绍 什么是盒子? 盒子是用来存储物品,我们可以将盒子理解为酒盒,酒盒有什么组成的呢? 有酒可以喝.有填充物保护酒防止酒被摔坏.纸盒子. 我们怎么理解CSS中的盒子呢,CSS中盒子有什 ...

  4. 深入理解CSS系列(一):理解CSS的盒子模型

    接触前端也有好几个年头了,但是,讲实话,对于CSS的理解真的是不敢恭维,相信很多同行也有类似的感受吧!这是为什么呢?因为我们都认为CSS太简单了,没有必要深入学习,果真如此?其实,只不过是自己图样图森 ...

  5. 这些HTML、CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML、CSS、盒子模型、内容布局)

    这些HTML.CSS知识点,面试和平时开发都需要 No1-No4   系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) ...

  6. css中盒子模型与box-sizing属性

    盒子模型 w3c标准:定义的width为 内容,有padding,border 都会使得 最终呈现的宽度为 定义的width+padding+border的总和,有margin另加 ie标准:定义的w ...

  7. CSS的盒子模型有哪些,区别是什么

    1)盒模型: 内容(content).填充(padding).边界(margin). 边框(border)   2)有两种, IE 盒子模型.标准 W3C 盒子模型:IE的content部分包含了 b ...

  8. 使用css弹性盒子模型

    提示: 当期内容不充实, 修改后再来看吧 以下称:弹性子元素: 子元素, 弹性容器: 容器 弹性盒子的属性 1. css弹性盒子模型规定了弹性元素如何在弹性容器内展示 2. 弹性元素默认显示在弹性容器 ...

  9. CSS 弹性盒子模型

    CSS 弹性盒子模型 https://www.w3.org/TR/2016/CR-css-flexbox-1-20160526/ CSS Flexible Box Layout Module Leve ...

随机推荐

  1. Spring注解@Value数值取值转换字符串失败

    配置文件(yml)中,配置项如下: cebconfig: INST_CODE: 08801001 SFT_NOTIFY_CEB_CHANNEL: 123456 期望INST_CODE: 0880100 ...

  2. xpath模块

    W3School官方文档:http://www.w3school.com.cn/xpath/index.asp 我们使用xpath主要是获取网页数据的,之前一直是使用bs4,xpath也是最近了解到的 ...

  3. WEB相关背景知识(新手)

    1.评估域名类型 .com——商业实体 .edu——仅限有学位或更高等学历授予资格的高等教育使用 .gov——仅限政府使用 .net——与Internrt网络支持相关的团体,通常是Internet服务 ...

  4. mysql完全卸载大全

    如何在Linux下卸载MySQL数据库呢? 下面总结.整理了一下Linux平台下卸载MySQL的方法. MySQL的安装主要有三种方式:二进制包安装(Using Generic Binaries).R ...

  5. Java分享笔记:泛型类的定义与使用

    当类中要操作的引用数据类型不确定时,可以定义泛型类完成扩展.下面是程序演示. package packB; class Student { //定义学生类 public String st = &qu ...

  6. centos6 下查看SELinux状态 关闭SELinux

    转载自:https://blog.csdn.net/boomjane_testingblog/article/details/52859977 SELinux(Security-Enhanced Li ...

  7. Spring Cloud 入门Eureka -Consumer服务消费(一)

    这里介绍:LoadBalancerClient接口,它是一个负载均衡客户端的抽象定义,下面我们就看看如何使用Spring Cloud提供的负载均衡器客户端接口来实现服务的消费. 引用之前的文章中构建的 ...

  8. 蓝桥杯-历届试题 剪格子(dfs)

    历届试题 剪格子   时间限制:1.0s   内存限制:256.0MB        问题描述 如下图所示,3 x 3 的格子中填写了一些整数. +--*--+--+|10* 1|52|+--**** ...

  9. POJ:1258-Agri-Net

    Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 65322 Accepted: 27029 Descriptio ...

  10. 笔记-python-lib-chardet

    笔记-python-lib-chardet 1.      chardet chardet是一个非常优秀的编码识别模块, 是python的第三方库,需要下载和安装. 文档地址:https://pypi ...