css-盒子模型
css-盒子模型

一、padding(内边距)
元素的内边距在边框和内容区之间。控制该区域最简单的属性是 padding 属性。CSS padding 属性定义元素边框与元素内容之间的空白区域。
padding-left/right/top/bottom 左内边距/右内边距/上内边距/下内边距
例如:h1 {
padding-top: 10px;
padding-right: 0.25em;
padding-bottom: 2ex;
padding-left: 20%;
}
可以单独使用控制单独一边的效果,当然也可以合并一起使用
例如:
padding:2px 3px 4px 5px; /*上内边距2px 右内边距3px 下内边距4px 左内边距5px*/
padding:2px 3px 4px; /*上内边距2px 右/左内边距3px 下内边距4px*/
padding:2px 3px; /*上/下内边距2px 右/左内边距3px*/
padding:2px; /*上右下左内边距都为2px*/
二、border(边框)
在 HTML 中,我们使用表格来创建文本周围的边框,但是通过使用 CSS 边框属性,我们可以创建出效果出色的边框,并且可以应用于任何元素。元素外边距内就是元素的的边框 (border)。元素的边框就是围绕元素内容和内边据的一条或多条线。
1、border-left/right/top/bottom(与padding类似)
2、border-style(边框样式)
border-left/right/top/bottom-style
例如:border-style:dotted solid double dashed;
/*上边框是点状 右边框是实线 下边框是双线 左边框是虚线*/
具体样式:
none /*无效果,默认*/
solid /*实线*/
double /*双实线*/
dotted /*点状*/
dashed /*虚线*/
groove /* 3D 凹槽边框*/
ridge /*3D 垄状边框*/
inset /*3D inset 边框*/
outset /*outset 边框*/
inherit /*规定应该从父元素继承边框样式*/
3、border-color(边框颜色)
border-left/right/top/bottom-color
例如:p {
border-style: solid;
border-color: blue rgb(25%,35%,45%) #909090 red;
}
4、border-width(边框宽度)
border-left/right/top/bottom-width
例如:p {
border-style: solid; border-width: 15px 5px 15px 5px;
}
5、border-radius(边框半径,可绘制圆角边框)
例如:div{
border:2px solid;
border-radius:25px 50px 75px 100px;
-moz-border-radius:25px 50px 75px 100px; /* Old Firefox */
}
与border的其他属性相似,它也是可以作用在四个角上的(左上,右上,右下,左下)
6、box-shadow (边框阴影)
例如:div{box-shadow: 10px 10px 5px red;}
表示:水平方向的距离10px(正值:阴影在右边) /*可以为负值,负值则表示阴影在左边*/
竖直方向的距离10px(正值:阴影在左边) /*可以为负值,负值则表示阴影在上面*/
模糊度5px
阴影颜色red
7、border-image(边框图)
border-image-sourcesource: url(xx.png)
border-image-width:边框宽/九宫格格宽
border-image-repeat: stretch(拉伸)/repeat(重复)/round(平铺)
当然也可以将这三种方式合并在一起,例如:
div{
border: 20px solid transparent;
border-image:url(box.png) 20 round; /*注意:此种写法width的值不能带单位*/
/*-webkit-border-image:url(box.png) 20 round;*/
}
三、margin(外边距)
margin-left/right/top/bottom(与padding类似)
(略)
四、补充
outline(轮廓)
outline-color || outline-style || outline-width
该属性是复合属性,且不占页面空间,用法如下:
img { outline-color: orange; outline-style: solid ; outline-width: medium ; }
五、综合
1、一个区块元素所占的空间总大小:
X轴:margin-left + border-left + padding-left + width + padding-right + border-right + margin-right
同理,Y轴:margin-top + border-top + padding-top + height + padding-bottom + border-bottom + margin-bottom
2、区块元素合并
无浮动
竖直方向上排布,相邻元素的Margin会合并,合并后的值是二者指定的间距中的较大值,Padding各自独立;
当一个元素包含在另一个元素中时(假设没有内边距或边框把外边距分隔开),它们的上和/或下外边距也会发生合并。请看下图:
假设有一个空元素,它有外边距,但是没有边框或填充。在这种情况下,上外边距与下外边距就碰到了一起,它们会发生合并:
如果这个外边距遇到另一个元素的外边距,它还会发生合并:
有浮动
padding各自独立;
竖直/水平方向Margin上都各自独立
3、内联元素合并
内联元素:水平方向上排布,一行不够自动排布到下一行,
Margin:水平方向上各自独立,不合并;竖直方向上无效。
Padding:水平方向上各自独立;竖直方向上有效但不占用页面空间(即上下两行的padding可能会重叠)
六、其他:
(1)outline、box-shadow不会占用页面空间,故也不计入盒子模型的计算。
(2)float会对间距的合并产生影响
(3)区块若想在父元素中水平居中,margin: 0 auto; 由浏览器自动计算左右间距——平均分配
(4)为了屏蔽浏览器默认值造成的兼容性问题,页面布局时可以添加 *{margin:0; padding:0}
css-盒子模型的更多相关文章
- 深入理解CSS盒子模型
在CSS中浮动.定位和盒子模型,都是很核心的东西,其中盒子模型是CSS很重要基石之一,感觉还是很有必要把CSS盒子模型相关知识更新一下...... CSS盒子模型<BoxModel>示意图 ...
- CSS盒子模型的理解
标准的CSS盒子模型包括:内容(content).填充(padding).边框(border).边界(margin) 这些属性,可以把它转移到我们日常生活中的盒子(箱子)上来理解,日常生活中所见的盒子 ...
- 每天学点前端——基础篇1:css盒子模型,绝对定位和相对定位
什么是css盒子模型(Box Model)? W3C中解释为:规定了元素框处理元素内容.内边距.边框和外边距的方式: MDN:文档中的每个元素被描绘为矩形盒子.渲染引擎的目的就是判定大小,属性--比如 ...
- CSS 盒子模型概述
一.简介 CSS 盒子模型(元素框)由元素内容(content).内边距(padding).边框(border).外边距(margin)组成. 盒子模型,最里面的部分是实际内容:直接包围内 ...
- 标准的CSS盒子模型?与低版本IE的盒子模型有什么不同的?
CSS盒子模型:由四个属性组成的外边距(margin).内边距(padding).边界(border).内容区(width和height); 标准的CSS盒子模型和低端IE CSS盒子模型不同:宽高不 ...
- 理解CSS盒子模型
概述 网页设计中常听的属性名:内容(content).填充(padding).边框(border).边界(margin),CSS盒子模型都具备这些属性,也主要是这些属性. 这些属性我们可以把它转移到我 ...
- 几个容易出错的css盒子模型细节
css是前端必须掌握的技能之一.其中的box模型,如图所示: 大体就是border.margin.padding和content,概念挺好理解.但当盒子模型与其他属性一块使用时产生的现象,或许您还难以 ...
- <转>HTML+CSS总结/深入理解CSS盒子模型
原文地址:http://www.chinaz.com/design/2010/1229/151993.shtml 前言:前阵子在做一个项目时,在页面布局方面遇到了一点小问题,于是上stackoverf ...
- 聊聊css盒子模型
css盒子模型原理: 在网页设计中常听的属性名:内容(content).填充/内边距(padding).边框(border).外边距(margin), CSS盒子模式都具备这些属性. 这些属性我们可以 ...
- css 盒子模型理解
盒子模型是html+css中最核心的基础知识,理解了这个重要的概念才能更好的排版,进行页面布局.下面是自己积累和总结的关于css盒子模型的知识^_^,希望对初学者有用. 一.css盒子模型概念 CSS ...
随机推荐
- 修改oracle内存占用
修改oracle内存占用 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # su oracle $cd $ORACLE_HOM ...
- Java的自动装箱和拆箱的简单讲解
装箱就是把基础类型封装成一个类.比如把int封装成Integer,这时你就不能把他当成一个数了,而是一个类了,对他的操作就需要用它的方法了. 拆箱就是把类转换成基础类型.比如你算个加法什么的是不能用 ...
- phpredis中文手册——《redis中文手册》 php版
本文是参考<redis中文手册>,将示例代码用php来实现,注意php-redis与redis_cli的区别(主要是返回值类型和参数用法). 目录(使用CTRL+F快速查找命令): Key ...
- HBase、Redis、MongoDB、Couchbase、LevelDB主流 NoSQL 数据库的对比
最近小组准备启动一个 node 开源项目,从前端亲和力.大数据下的IO性能.可扩展性几点入手挑选了 NoSql 数据库,但具体使用哪一款产品还需要做一次选型. 我们最终把选项范围缩窄在 HBase.R ...
- Android酷炫实用的开源框架——UI框架(转)
转载别人整理好的文章,列出了很多炫酷的UI开源设计 原文地址:http://www.androidchina.net/1992.html 1.Side-Menu.Android分类侧滑菜单,Yalan ...
- [Scheme]一个Scheme的Metacircular evaluator
这个解释器可以用来跑前面两篇文章的例子,所以一并扔出来,三部曲哈哈. Lisp内置的S-expression相当于解析好的语法树,而借助quasiquote和unquote又很容易进行语法树层面的变换 ...
- [CoreOS 转载] CoreOS实践指南(七):Docker容器管理服务
转载:http://www.csdn.net/article/2015-02-11/2823925 摘要:当Docker还名不见经传的时候,CoreOS创始人Alex就预见了这个项目的价值,并将其做为 ...
- 用CAKeyframeAnimation构建动画路径
复杂路径的动画,我们可以借助关键关键帧动画(CAKeyframeAnimation)来实现,给其的path属性设置相应的路径信息即可. 以下为一个红色的小球按照指定的路径运动的动画. 此动画关键在于如 ...
- 使用Fragment应用放置后台很久,被系统回收,出现crash
使用Fragment应用放置后台很久,被系统回收,出现crash:原因:系统做了源码FragmentActivity调用onSaveInstanceState保存Fragment对象,这时候系统恢复保 ...
- AppStore 相关
App 跳转 AppStore 网址链接 https://itunes.apple.com/app/uri/id582319843?mt=8 https 可替换成 itms,可直接避免进入 S ...