今天要写的是CSS布局—盒子模型

首先说一下CSS的整体布局:

它包括容器(container),页眉(header),导航条(navbar),页面主要内容(main),菜单(menu),主要内容(content),边条(sidebar),页脚(footer)。

具体图下图所示:

㈠概念与组成

1.页面上区域,图片,导航,列表,段落都可以是盒子。

2.页面中的所有元素都可以看成一个盒子,占据着一定的页面空间。

3.组成:内容(content),高度(height),宽度(width),边框(border),内边距(padding),外边距(margin)

如下图所示:

4.一个盒子的实际宽度,高度:content+padding+border+margin

用一个实例在具体看一下,如下图所示:

 

㈡overflow属性

*当内容溢出盒子框的时候,overflow属性取值

⑴hidden:超出部分不可见

⑵scroll:显示滚动条

⑶auto:如有超出部分,显示滚动条(浏览器自动判断) 

 

㈢border属性

⑴border-width:px(像素),thin(细),medium(中等),thick(粗)

⑵border-style:dashed(一个个横线组成),dotted(点组成),solid(实线),double(双实线)

⑶border-color:颜色

⑷border:顺序:width,style,color

用代码显示具体如下;

⑸用border属性作出水平分割线

 

㈣padding与margin属性

1.对浏览器默认的设置清零,采取全局声明

注意:属性的取值,只有当它取值为零的时候,才可以省略它的单位,其他情况是不可以的。

2.取值:px,%(外层盒子的宽度和高度)

㈤margin的缩写

margin每个方向分量的值设定是如何省略的呢?

      省略                                                                     拆开后

⑴margin:1px;                                       margin:1px 1px 1px 1px;

⑵margin:1px 2px;                                margin:1px 2px 1px 2px;

⑶margin:1px 2px 3px;                         margin:1px 2px 3px 2px;

⑷margin:1px 2px 1px 3px;                  margin:1px 2px 1px 3px;

详细解释一下;

⑴第一个是四个方向取值相同,外边距四个方向都是一个像素

⑵第二个是简写形式,省略后两个值,表示上与下相等,左与右相等

⑶第三个是第四个值省略,表示左与右相等

⑷第四个注意,这里虽然上下边距都为1px,但是这里不能缩写,如果缩写,位置会发生变化,值的设定就错了

 

*四个方向有顺序为:上右下左,顺时针,如图所示

㈥margin的案例

以margin属性为例来进行盒子模型的属性设定

 

这个代码用两个div标签规定了两个盒子,起两个名字,定义他们共同的样式,这个样式的名字用div标签来进行定义,div标签作为样式的名字,内部定义了它的内容的高度,宽度,外边距,边框四个属性。

★用margin属性来进行盒子的设定的时候注意两点:

⑴div标签做盒子的时候,有一个特点,每一个div标签做出来的盒子,有一个换行的效果,就是它会独占一行。

⑵显示结果的这个上下边距是什么样的?

margin的合并:垂直方向合并,水平方向不合并。合并的结果是哪一个高度更高,合并结果就是哪一个高度。

如下图所示:

㈦margin属性设置水平居中

⑴图片,文字水平居中:text-align:center;

⑵div水平居中:margin:0 auto;浏览器自动计算   

其中,0设置的是上侧和下侧的值,可以任意;auto设置的是左侧和右侧的取值,设定为auto

 

 

★案例示意:

⑴首先是HTML部分如下图所示:

 

⑵重点说一下CSS部分

我们用“#”开头来定义这个外层盒子的样式,为了让所有图片都居中,用文字和图片的统一的居中的方式,就是text-align来进行设置,将它设置成center,图片就在这个列表里面水平居中了。图片在添加时会发现默认每两个图片之间有一定的空白的距离,它不是margin属性设定出来的距离,而是这个图像框里面默认的情况下,会有一个文字的浏览器默认设定的空白距离,这个距离如何去掉?如下面第二张图所示。再下面我们要设置的是每幅图片它的样式,用一个嵌套的结构,选择嵌套选器,首先我们要位于这个图像框里面的图片,我们来应用下面的样式,每个图片100×10这样的高度和宽度,然后我们将它的每幅图片的左侧都设定成一个外边距5个像素 ,然后它的边框设定成一个像素的实线浅蓝色。由于图片和边框之间需要一定的空白距离,把padding属性设置一下,四个方向上都是5个像素,这样图像框就做好了。

 

⑶如何去掉这个空白距离?如图所示:

 

   以上就是盒子模型相关知识,希望可以有所帮助。

盒子模型的overflow属性,border属性,padding与margin属性的更多相关文章

  1. 内联元素的盒子模型与文档流定位padding属性

            内联元素的盒子模型 1.内联元素不能设置width宽度和高度height span{width:200px ; height:200px}   与     span{width:100 ...

  2. 10-[CSS]-盒模型:border,padding,margin

    1.CSS盒子模型 HTML文档中的每个元素都被描绘成矩形盒子,这些矩形盒子通过一个模型来描述其占用空间,这个模型称为盒子模型. 盒子模型通过四个边界来描述:margin(外边距),border(边框 ...

  3. border,padding,margin盒模型理解

    安静的敲着键盘,已势不可挡的姿势逼近php,我想我是一个幸福的人,未来不可期,做好现在,偶尔写着自己能看懂的API,慢慢悠悠的回味一下前端基础知识. 本文盒模型理解. <!DOCTYPE htm ...

  4. CSS——简写属性(在padding和margin这样的简写属性中,值赋值的顺序是top、right、bottom、left)

    /* 在padding和margin这样的简写属性中,值赋值的顺序是top.right.bottom.left. 它们还有其他简写方式,例如给padding两个值,则第一个值表示top/bottom, ...

  5. 两个行内元素在一起,会出现一定的间距,即使将border、padding、margin都设置为零也无济于事,那么怎么才能去除这些间距呢?

    首先这里的div设置为了行内块元素,span本身为行内元素,并且设置了* {padding: 0; margin: 0;},那怎么清除元素之间的空白缝隙呢?? (1)给元素加浮动 <!DOCTY ...

  6. HTML网页设计基础笔记 • 【第7章 盒子模型】

    全部章节   >>>> 本章目录 7.1 盒子模型原理 7.1.1 盒子模型概述 7.1.2 盒子的大小 7.1.3 盒子之间的关系 7.2 标准文档流 7.2.1 标准文档流 ...

  7. css 大话盒子模型

    什么是盒子模型? CSS中, Box Model叫盒子模型(或框模型),Box Model规定了元素框处理元素内容(element content).内边距(padding).边框(border) 和 ...

  8. [HTML/CSS]盒子模型,块级元素和行内元素

    目录 概述 盒子模型 块级元素 行内元素 可变元素 总结 概述 在div+css中,了解块级元素和行内元素还是非常有必要的,比如:对行内元素使用width属性就会失效.虽然自己不是做前端的,但是,在项 ...

  9. 行内元素的padding和margin是否无效

    html中元素分为三种:块级元素.行内元素(也叫内联元素),内联块级元素. 常用块级元素:<div>.<p>.<h1>...<h6>.<ol> ...

随机推荐

  1. [转帖]Windows 下如何配置Oracle ASM???

    Windows 下如何配置Oracle ASM??? candon123关注10人评论16725人阅读2011-02-09 21:40:57   本篇介绍了如何在windows下创建裸设备,并创建AS ...

  2. selenium爬虫后上传数据库。

    一.准备工作 1.1安装软件 安装python.安装谷歌浏览器.将chromedriver.exe放到指定位置.放到Scripts文件夹中.我这边的路径为:C:\Users\1\AppData\Loc ...

  3. Hadoop三种架构介绍及搭建

    apache  hadoop三种架构介绍(standAlone,伪分布,分布式环境介绍以及安装) hadoop 文档 http://hadoop.apache.org/docs/ 1.StandAlo ...

  4. 从入门到自闭之Python函数初识

    函数初识 定义:def--关键字 ​ 将某个功能封装到一个空间中就是一个函数 功能: ​ 减少重复代码 函数的调用 ​ 函数名+():调用函数和接收返回值 函数的返回值 return 值 == 返回值 ...

  5. Hive 教程(一)-安装与配置解析

    安装就安装 ,不扯其他的 hive 依赖 在 hive 安装前必须具备如下条件 1. 一个可连接的关系型数据库,如 Mysql,postgresql 等,用于存储元数据 2. hadoop,并启动 h ...

  6. [Next] 四.在next中引入redux

    添加 redux 写过 react 稍微复杂一些应用的话,应该都对 redux(mobx)有一定的了解.这次将 redux 引入到项目中 因为之前写项目的习惯,更喜欢使用 redux-thunk 改写 ...

  7. luogu题解 UVA1615 【Highway】

    题目链接: https://www.luogu.org/problemnew/show/UVA1615 分析: 首先这里的距离是欧几里得距离而不是曼哈顿距离. 然后我们对于每个点,求出在公路上保持D范 ...

  8. luogu P3620 [APIO/CTSC 2007]数据备份

    luogu 首先如果一条线不是了连接的相邻两个位置一定不优,把它拆成若干连接相邻位置的线.所以现在问题是有\(n\)个物品,选\(k\)个,要求选的位置不能相邻,求最小总和 如果没有选的位置不能相邻这 ...

  9. 部署Flannel网络

    部署Flannel网络 部署flannel网络需要执行以下步骤: 1)写入分配的子网段到etcd,供flanneld使用 2)下载二进制包 3)配置Flannel 4)systemd管理Flannel ...

  10. DiffUtil和LiveData使用时遇到的问题

    android在28之后换成了androidx,在此之前也可以用到这些功能,不过是引入的包不同,写法也有一些小的差别.我们之前的代码使用的是BaseQuickAdapter,所以不可以直接使用JetP ...