今天要写的是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. flink部署

    参考: https://ververica.cn/developers-resources/ #flink参数 https://blog.csdn.net/qq_35440040/article/de ...

  2. Elasticsearch-字符串类型

    ES-用于定义文档字段的核心类型 ES中一个字段可以是核心类型之一,如字符串.数值.日期.布尔型,也可以是一个从核心类型派生的复杂类型,如数组. 字符串类型 索引一类型为字符串的数据doc1: Fen ...

  3. celery异步发送邮件

    利用Django框架发送邮件的详细过程,在前两天的博客中有所记录,但是单纯的那样发邮件是有非常大的问题的,这就需要celery异步发送来解决 首先我们来看一下邮件发送的过程: Django网站先发送到 ...

  4. CentOS 7 防火墙常用操作及常见问题处理

    一.常用操作 1.启动防火墙: systemctl start firewalld.service 2.关闭防火墙: systemctl stop firewalld.service 3.添加放行端口 ...

  5. O015、OpenStack 架构

    参考https://www.cnblogs.com/CloudMan6/p/5340622.html   终于正式进入OpenStack 部分了.   今天开始正式学习OpenStack,OpenSt ...

  6. webpack的基本使用

    安装webpack npm i webpack -g npm i webpack-cli -g 1.基础用法(无需配置webpack.config.js文件) 1.2 新建需要打包的测试文件input ...

  7. 关于swiper 4的coverflowEffect(3d)

    轮播效果: HTML: <div class="swiper-container successful_swiper"> <div class="swi ...

  8. Nginx默认配置语法

    Nginx默认配置语法 1. 我们进入  /etc/nginx/目录下,打开  nginx.conf文件 2. 我们来解析下 这里面标签和各模块的作用 # 设置nginx服务的系统使用用户 user ...

  9. Java定义栈结构,实现入栈、出栈操作

    package com.example.demo; import java.util.ArrayList; public class Stack { ArrayList<Object> l ...

  10. js 继承的简单理解

    什么是继承 js中的继承就是获取存在对象已有属性和方法的一种方式. 继承一 属性拷贝 就是将对象的成员复制一份给需要继承的对象. // 创建父对象 var superObj = { name:'liy ...