Box Model盒子模型,是初学者在学习HTMl5时会学到的一个重要的模型,也有一些人称它为框模型,因为盒子是属于3维,而框是平面的。称之为盒子模型,是因为其结构和盒子十分相似,其最外面是margin,然后border,里面是padding,三者包围了content.

margin: 20px;/*上右下左用同一个数据*/

margin: 20px 30px;/*上下 左右分别用2个数据*/

margin: 20px 30px 40px/*上 左右 下*/

margin: 5px 10px 20px 30px;/*顺时针顺序 上 右 下 左*/

overflow属性规定了内容溢出盒子时如何处理

visible:内容不会被修剪,会呈现在元素框外

auto:如果内容被修剪,

hidden:隐藏

scroll:滚动条

border-radius为元素添加圆角边框。

box-shadow是给元素块添加周边阴影效果。

1:X方向的偏移

2:Y方向的偏移

3:阴影模糊程度,值越大越模糊

4:阴影模糊半径

5:阴影阴影颜色

超链接样式的四种状态

未访问状态(a:link)

已访问样式(a:visited)

鼠标移上状态(a:hover)

激活选定状态(a:active)(鼠标点击未取消)

设置超链接样式的步骤:

确定页面所有链接样式是否相同,否则分开定义

先定义四个状态共有样式,再分别定义其他状态

margin border padding都会影响页面布局,content不变

实际宽度:在content的基础上加上margin,border或padding

变态盒模型 border-box 添加padding或者border不会影响页面布局,只会

挤压页面内容content

盒子的摆放模式

标准流模式

块级盒子(div)从上自下排列,宽度自动伸展占据整个浏览器,自动换行

行级盒子(span)从上自下排列,从左到右,空间是内容所占据的空间,自动换行

非标准流模式——浮动与定位

float属性使元素脱离了常规文档流而表现为向右或向左浮动

float属性的取值

right

left

none

1.浮动盒子的宽度不会自动伸展,宽度以内容和margin、padding属性为准

2.标准流中其他盒子将视浮动盒子不存在而占据浮动盒子的位置,但内容会受到浮动盒子宽度的影响

3.可以设置clear属性使标 准流中其他盒子不受之前盒子的浮动影响

4.父级盒子中的所有盒子都采用浮动形式,若父级盒子未指定高度则父级盒子的高度为0,

因为所有盒子都是浮动已脱离标准流。解决办法增加一个标准流的盒子

清除浮动方式一

在父元素中添加一个新的元素

为新元素设置clear:both

清除浮动方式二

.clearfix:after

{

content:" ";

diplay:table;

clear;both;

}

outline(轮廓)是绘制于元素周围的一条线,位于边框边缘的外围,

可起到突出元素的作用,轮廓线不会占据空间

语法:outline:<'outline-width'>||<'outline-style'>||<'outline-color'>

outline:2px solid red

Box Model 盒子模型的更多相关文章

  1. CSS Box Model 盒子模型

    1. 介绍 1.1 什么是 Box Model 在HTML中的每个element(元素)都可以看作一个矩形的盒子,矩形从内到外依次由元素的内容(content).内边距(padding).边框(bor ...

  2. 盒子模型(Box Model)

    盒子模型(Box Model) ■ 盒子模型——概念 在网页设计中常用的属性名:内容(content),填充(padding),边框(border),边界(margin),CSS 盒子模式都具备这些属 ...

  3. CSS魔法堂:盒子模型简介

    本文讨论的是块级盒子(Block-level box)的盒子模型(Box Model) 一.W3C标准的盒子模型   二.IE盒子模型 三.两种模型的区别 W3C标准盒子模型: 外盒模型 元素空间宽度 ...

  4. DIV+CSS两种盒子模型(W3C盒子与IE盒子)

    在辨析两种盒子模型之前.先简单说明一下什么叫盒子模型. 原理: 先说说我们在网页设计中常听的属性名:内容(content).填充(padding).边框(border).边界(margin), CSS ...

  5. CSS3与页面布局学习笔记(二)——盒子模型(Box Model)、边距折叠、内联与块标签、CSSReset

    一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...

  6. CSS 盒子模型(Box model)中的 padding 与 margin

    本文将讲述 HTML 和 CSS 的关键—盒子模型 (Box model) .理解 Box model 的关键便是 margin 和 padding 属性,而正确理解这两个属性也是学习用 CSS 布局 ...

  7. HTML和CSS的盒子模型(Box model)

    本文作为属性篇的最后一篇文章, 将讲述HTML和CSS的关键—盒子模型(Box model). 理解Box model的关键便是margin和padding属性, 而正确理解这两个属性也是学习用css ...

  8. CSS Box Model(盒子模型)

    CSS Box Model(盒子模型) 一.简介 所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用. CSS盒模型本质上是一个盒子,封 ...

  9. CSS学习系列1 - CSS中的盒子模型 box model

    css中有一个盒子模型的概念. 主要是用来告诉浏览器如何来计算页面元素的宽度和高度, 比如该元素的宽度/高度 是否包括内边距,边框,外边距.  盒子模型有一个属性box-sizing属性来说明是否包括 ...

随机推荐

  1. Redis学习笔记之数据库(一)

     说句实话,redis这个软件要学习的东西实在多,多到,看的多了就容易迷失,而且还记不住.个人觉得靠记忆去学习一个知识肯定是比较糟糕的,所以还是要带着理解的,最终变成自己的东西,那这个东西才是自己的. ...

  2. spring boot(一):什么是spring boot

    什么是spring boot 官网说的很清晰 一.Overview Spring Boot makes it easy to create stand-alone, production-grade ...

  3. java.io.NotSerializableException: org.apache.kafka.clients.consumer.ConsumerRecord

    kafka 与spark集成 序列化问题 sparkConf.set("spark.serializer", "org.apache.spark.serializer.K ...

  4. mysql错误:java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone.

    java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more tha ...

  5. 查找linux系统下的端口被占用进程的两种方法 【转】

    在linux下开发时,你的软件可能要使用某一个端口,或者想查找某一个端口是否被占用.需要怎么做呢??这的确是一个比较烦恼的问题,我也此为这个苦恼过.但是通过查找man手册,还是同事的交流.总结出来两种 ...

  6. App控件定位

    本文将分享Android相关基础知识和Android APP控件定位工具的使用方法. Android基础知识 Android布局 Android是通过容器的布局属性来管理子控件的位置关系(iOS去掉了 ...

  7. 通过trace分析优化其如何选择执行计划

    mysql5.6提供了对sql的跟踪trace,通过trace文件能够进一步了解为什么优化其选择执行计划a而不选b执行计划,帮助我们更好的理解优化其的行为. 使用方式:首先打开trace,设置格式为j ...

  8. 【Oracle】用sqlplus登录的各种方式

    1.本地登录 sqlplus / as sysdba 2.账号密码登录 sqlplus user/passwd 3.选择实例登录 sqlplus user/passwd@实例名   例如 sqlplu ...

  9. kubernets之向外部应用暴露应用

    一  通过NodePort来暴露服务 前面已经介绍的服务的一些作用,例如将集群内部的应用暴露给集群内部的pod使用,将外部的应用通过服务暴露给内部应用使用,但是服务最大的作用不仅仅是这些 而是将集群内 ...

  10. mybatis中传集合时 报异常 invalid comparison: java.util.Arrays$ArrayList and java.lang.String

    犯了一个低级的错误,在传集合类型的参数时,把他当成字符串处理了,导致报类型转换的错误 把  and nsrsbh!=' ' 删掉就行了