2016.3.14__CSS 盒模型_第四天

首先对于之前的拖更表示抱歉,因公派,前往上海,所以耽误了几天,以后会尽量按时更新.

今天课程主要介绍盒模型的基本概念,同时告诉大家,盒模型具体元素的构成。在最后面会介绍一下定位。

今日课程预览

CSS 盒模型 概述

首先大家看到的是什么?

有月饼和月饼盒,对么?

所以,我们今天的课程就叫做“一个月饼盒引发的深思”。

大家首先看到的是什么?

是不是一个盒子,很像我们中秋节的时候包装月饼的月饼盒子,对么?

其中两个月饼盒子之间的距离就是咱们要介绍的–>margin(外边距).

而咱们每个月饼都要有最外层的包装盒,而这个包装盒的厚度,就是咱们的–> border(边框).

那咱们的月饼不可能都是直接挨在一起的,对吧,那每个月饼之间的间距,咱们就叫做–> padding(内边距).

那咱们介绍了月饼盒,咱们的月饼总应该有吧。

对的,咱们月饼的宽度就是 –> width.

高度就是 –> height.

而咱们的月饼就叫做 –> element(元素).

内边距、边框和外边距都是可选的,默认值是零。

但是,许多元素将由用户代理样式表设置外边距和内边距。

可以通过将元素的 margin 和 padding 设置为零来覆盖这些浏览器样式。

这可以分别进行,也可以使用通用选择器对所有元素进行设置:

* {
  margin: 0;
  padding: 0;
}

在 CSS 中,width 和 height 指的是内容区域的宽度和高度。

增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。

假设框的每个边上有 10 个像素的外边距和 5 个像素的内边距。

如果希望这个元素框达到 100 个像素,就需要将内容的宽度设置为 70 像素,请看下图:

提示:内边距、边框和外边距可以应用于一个元素的所有边,也可以应用于单独的边。

提示:外边距可以是负值,而且在很多情况下都要使用负值的外边距。

代码和效果演示

在网页中,添加一个div标签,并设置class的值

HTML代码:
<div class="box_model">
    我是一个div哦
</div>

设置自身大小

通常class选择器来设置属性值,首先是width(宽)hegiht(高)background-color(背景颜色)

CSS代码:
.box_model {
    width: 200px;
    height: 200px;
    background-color: cyan;
}

效果如下:

上述操作只是添加了一个div标签,并设置了文字、大小和颜色,并没有特殊操作。下面,我们继续:

设置padding 内边距

看上面的图,发现文字紧贴着边框,看着不是特别友好,如果想要添加一些边距,可以使用padding属性,来添加内边距

CSS代码:
.box_model {
    width: 200px;
    height: 200px;
    background-color: cyan;

    /*内边距*/
    padding: 20px;
}

效果如下:

现在已经实现了文字和边框中间有了20像素的宽度,看着不是那么的紧凑了

注意:我们修改了padding的值,会导致div整体变大,因为padding属于div内部

如果我们希望div还是原来得大小,当我们设置了padding为20px,我们就需要修改width和height,分别减去40,才可以保证div大小不变

设置border 边框

看这样一个色块比较单调,来设置个有颜色的边框

CSS代码:
.box_model {
    width: 200px;
    height: 200px;
    background-color: cyan;

    /*内边距*/
    padding: 20px;

    /*边框*/
    border: 50px solid black;
}

效果图如下:

当设置了非常变态的50像素的边框之后,看到如下效果。通常,边框不会有那么大的值,1像素足够了

设置了边框的值,div标签的大小也会增加。边框也属于div本身

设置margin 外边距

外边距的主要作用就是设置该标签距离其它标签之间的距离

先来看下我们没有添加外边框代码时候div在浏览器中的样子

大家发现,在div标签的上部和左侧都有一段间距,这段间距是body的间距值(8px),先暂时忽略,不管它

然后我们添加外边距代码

CSS代码:
.box_model {
    width: 200px;
    height: 200px;
    background-color: cyan;

    /*内边距*/
    padding: 20px;

    /*边框*/
    border: 50px solid black;

    /*外边距*/
    margin: 50px;
}

添加代码之后,效果如下:

现在,div标签距离浏览器的上部和左侧就有很大一段距离了,原因就是我们设置了外边框

注意事项

看下如下情况:

上面的div和下面的div标签,外边距都分别是50px,但是我们可以注意到,上面和下面之间的间距并不是100px,而同样也是50px,这是因为什么呢?

外边距在垂直距离上,并不会相加,而是取较大值。

举个例子: 如果上面的标签设置的外边距为100px,下面的标签这是外边距为80px,那么上下两个元素之间的距离九会为100px,取较大值。

这是两个元素竖直排列,那如果横排呢??

想多了,如果元素横排,那两个标签之间的间距就是两个元素的外边距之和

属性详写

内边距属性

  • padding
  • padding-left
  • padding-top
  • padding-right
  • padding-bottom

padding: 20px; 代表上下左右内边距均为20px

padding: 10px 20px; 代表上下内边距为10px,左右内边距为20px。第一个数字代表上下,第二个代表左右内边距的值。注意中间是空格哦

边框属性

  • border : 同时设置上下左右的边框相关
  • border-left : 设置左侧边框相关
  • border-left-width : 设置左侧边框厚度
  • border-left-color : 设置左侧边框的颜色
  • border-left-style : 设置左侧边框的样式
  • border-top : 设置上部边框相关
  • border-top-width : 设置上部边框厚度
  • border-top-color : 设置上部边框颜色
  • border-top-style : 设置上部边框样式
  • border-right : 设置右侧边框相关
  • border-right-width : 设置右侧边框厚度
  • border-right-color : 设置右侧边框颜色
  • border-right-style : 设置右侧边框样式
  • border-bottom : 设置下部边框相关
  • border-bottom-width : 设置下部边框厚度
  • border-bottom-color : 设置下部边框颜色
  • border-bottom-style : 设置下部边框样式

border: 1px solid red; 代表上下左右边框厚度为1px,样式为solid,颜色为red.

border-left: 2px double red; 代表设置左侧边框厚度为2px,样式为double,颜色为red.

外边距属性

  • margin : 可以同时设置上下左右外边距
  • margin-left : 设置左侧外边距
  • margin-top : 设置上部外边距
  • margin-right : 设置右侧外边距
  • margin-bottom : 设置下部外边距

margin: 20px; 代表上下左右外边距均为20px

margin: 10px 20px; 代表上下外边距为10px,左右外边距为20px。第一个数字代表上下,第二个代表左右外边距的值。注意中间是空格哦

display

display 属性规定元素应该生成的框的类型。

这个属性用于定义建立布局时元素生成的显示框类型。

对于 HTML 等文档类型,如果使用 display 不谨慎会很危险,因为可能违反 HTML 中已经定义的显示层次结构。

对于 XML,由于 XML 没有内置的这种层次结构,所有 display 是绝对必要的。

在这里咱们只介绍四个属性。

*none

*inline : 行标签,占一小块区域

*block : 块标签,独占一行,可以设置宽高

*inline-block :块标签,但是具有一些行标签的属性

注释:CSS2 中有值 compact 和 marker,不过由于缺乏广泛的支持,已经从 CSS2.1 中去除了。

附录:

描述
none 此元素不会被显示。
block 此元素将显示为块级元素,此元素前后会带有换行符。
inline 默认。此元素会被显示为内联元素,元素前后没有换行符。
inline-block 行内块元素。(CSS2.1 新增的值)
list-item 此元素会作为列表显示。
run-in 此元素会根据上下文作为块级元素或内联元素显示。
compact CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
marker CSS 中有值 marker,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
table 此元素会作为块级表格来显示(类似 <table>),表格前后带有换行符。
inline-table 此元素会作为内联表格来显示(类似 <table>),表格前后没有换行符。
table-row-group 此元素会作为一个或多个行的分组来显示(类似 <tbody>)。
table-header-group 此元素会作为一个或多个行的分组来显示(类似 <thead>)。
table-footer-group 此元素会作为一个或多个行的分组来显示(类似 <tfoot>)。
table-row 此元素会作为一个表格行显示(类似 <tr>)。
table-column-group 此元素会作为一个或多个列的分组来显示(类似 <colgroup>)。
table-column 此元素会作为一个单元格列显示(类似 <col>
table-cell 此元素会作为一个表格单元格显示(类似 <td><th>
table-caption 此元素会作为一个表格标题显示(类似 <caption>
inherit 规定应该从父元素继承 display 属性的值。
时间: 2024-11-01 17:48:02

2016.3.14__CSS 盒模型_第四天的相关文章

DAY46-前端入门-组合选择器、标签a_img_list、盒模型、伪类、盒模型布局

目录 一.组合选择器 群组选择器 子代选择器 后代选择器 相邻选择器 兄弟选择器 交集选择器 组合选择器的优先级 二.属性选择器 三.盒模型 盒模型概念 盒模型成员介绍 四.边界圆角 单角设置 整体赋值 五.常用标签 超连接标签a 图片标签img 列表标签list 六.伪类选择器 a标签的四大伪类 内容伪类 索引伪类 取反伪类 七.盒模型布局 做页面必备reset操作 盒模型布局基本介绍 display:显示方式 兄弟坑 父子坑 解决方案 一.组合选择器 群组选择器 可以将任意多个选择器分组到一

Python-ccs高级选择器 盒模型

css高级选择器与盒模型 脱离文档流 ,其中就是产生了BFC 1.组合选择器 - 群组选择器 /* 每个选择器位可以位三种基础选择器的任意一个, 用逗号隔开, 控制多个 */ div, #div, .div {color: red} - 后代(子代)选择器 .sup .sub { 后代,sup一定是sub的父代(不一定是父集,sub就是被sup直接嵌套) } .sup > .sub {子代} - 兄弟(相邻) 选择器 .up ~ .down {兄弟} .up + .down {相邻} - 交集选

CSS3总结四:盒模型(box)

盒模型:标准盒模型.混杂盒模型 什么时候会触发混杂模式? 为什么要混杂模式渲染规则盒模型? box-sizing:content-box.border-box 关于盒模型的一些其他样式和属性值 一.盒模型:标准渲染规则盒模型.混杂模式渲染规则盒模型 标准渲染模式盒模型的渲染规则:DOM.width = border-left-width + padding-left + width(content-width) + padding-right + border-right-width;(dom.

大前端学习笔记整理【一】CSS盒模型与基于盒模型的6种元素居中方案

概览 CSS盒模型,规定了元素框来处理元素的 内容.内边距.边框和外边距的方式 元素部分是指内容部分,也是最实际的内容,包围内容的称之为内边距,内边距外围是边框,边框外围就是外边距:且外边距是透明的,所以并不会阻挡其后的元素 * { margin: 0; padding: 0; } 这是在CSS中最常见的初始化CSS的代码,用于覆盖浏览器的默认样式 浏览器兼容性 大多数浏览器都会按照上面的图示来呈现内容.然而 IE 5 和 6 的呈现却是不正确的.根据 W3C 的规范,元素内容占据的空间是由 w

css盒模型

css盒子模型是为了让我们充分理解div+css模型的定位功能,盒子模型在学习div+css布局方式中必须要学习的一个模型. 那什么是css盒模型呢? 网页设计中常听到的属性名:内容(content).填充(padding).边框(border).边界(margin).css盒模型都具备这些属性.这些属性和日常生活中盒子的属性是一样的.内容就是盒子里面装的东西,而填充就是像盒子里装的一些反震的材料,边框就是箱子的本身,边界呢就像盒子之间的空隙. 盒子的模型有2种,分别是IE盒子模型和标准盒子模型

前端开发:css基础知识之盒模型以及浮动布局。

前端开发:css基础知识之盒模型以及浮动布局 前言 楼主的蛮多朋友最近都在学习html5,他们都会问到同一个问题 浮动是什么东西?  为什么这个浮动没有效果?  这个问题楼主已经回答了n遍.今天则是把它写到我的博客中,想知道自己过来翻就好啦 ^_^  下面楼主把当前的自己对css的基础认知一一给大家道来...... 盒模型 谈到盒模型,有经验的小伙伴一定滚瓜烂熟,无非就是 内容(content).填充(padding).边框(border).边界(margin): 这些属性我们可以把它转移到我们

浅谈css盒模型

在我们网页上的每一个元素,一个按钮,一段文本,一张图片等等,浏览器都将它们当做一个“盒子”看待,并把这样的盒子称为盒模型(box model).使用Chrome的右键>审查元素对某个网页上的元素,就可得到类似这样一张图,这就是盒模型的缩影了. 组成盒模型主要是这几个要素:外边的外边距margin.中间的边框border.里边的内边距padding,再往里就是包围元素实体的宽.高.在padding这个块里面,包括实体元素的宽高,就是背景background横行的地方,一般我们所添加的背景图片.背景

【从0到1学CSS】定位问题一(盒模型,浮动)

引子: 在谈到css定位问题的时候先来看一个小问题: 已知宽度(假如:100px)div框,水平居中,左右两百年的分别使用div框填充.且左右div自适应. 效果如下图: 这个问题的难点主要是浏览器宽度未知,且两边div自适应宽度. 第一种实现方法,是借助css3的新属性calc,实现代码如下: body { margin: 0; padding: 0; font-size:0; } .left_div { background-color: #62FF09; /*calc是css3属性可以动态

沙盒模型中各文件夹及操作

某个iphone工程进行文件操作有此工程对应的指定的位置,不能逾越. iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下.这个目录用于存储用户数据或其它应该定期备份的信