HTML 学习笔记 CSS样式(外边框 外边框合并)
CSS外边距
围绕在元素边框的空白区域就是外边距 设置外边距会在元素外创建额外的空白
设置外边距的最简单的方法就是使用 margin 属性,这个属性接受任何长度单位、百分数值甚至负值。
CSS margin 属性
margin 属性 接受任何长度单位 可以是像素 英寸 毫米 或者 em
margin 可以设置为auto 更常见的做法是为外边距设置长度值 下面的声明在h1元素的各个边上设置了1/4英寸的空白
h1 {
margin:0.25in
}
下面的例子为h1元素的思辨分别设置了不同的外边距 所使用的长度均为像素px
h1 {margin : 10px 0px 15px 5px;}
与内边距的设置相同,这些值的顺序是从上外边距 (top) 开始围着元素顺时针旋转的: 上 右 下 左
值复致
有时候 我们会复制一些重复的值
p {margin: 0.5em 1em 0.5em 1em;}
通过值复制 我们可以写成下面的格式
p {margin: 0.5em 1em;}

上图就是值复制的一些原则
换句话说,如果为外边距指定了 3 个值,则第 4 个值(即左外边距)会从第 2 个值(右外边距)复制得到。如果给定了两个值,第 4 个值会从第 2 个值复制得到,第 3 个值(下外边距)会从第 1 个值(上外边距)复制得到。最后一个情况,如果只给定一个值,那么其他 3 个外边距都由这个值(上外边距)复制得到。
利用这个简单的机制,您只需指定必要的值,而不必全部都应用 4 个值,例如:
h1 {margin: 0.25em 1em 0.5em;} /* 等价于 0.25em 1em 0.5em 1em */
h2 {margin: 0.5em 1em;} /* 等价于 0.5em 1em 0.5em 1em */
p {margin: 1px;} /* 等价于 1px 1px 1px 1px */
单边外边距属性
您可以使用下列任何一个属性来只设置相应上的外边距,而不会直接影响所有其他外边距:
margin-top
margin-right
margin-bottom
margin-left
h2 {
margin-top: 20px;
margin-right: 30px;
margin-bottom: 30px;
margin-left: 20px;
}
例子
<html>
<head>
<meta charset="UTF-8">
<title>链接</title>
<style type="text/css">
*{
margin: 0px;
}
p.leftmargin {
margin-left:2cm;
}
</style>
</head>
<body>
<p>这个段落没有指定外边距</p>
<p class="leftmargin">这个段落带有指定的左外边距</p>
</body>
</html>
CSS 外边框属性

CSS外边距合并
外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。
合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。
外边距合并
外边距合并是相当简单的概念 但是在实践中对网页进行布局的时候 他会造成许多混淆
简单的说 外边距合并指的是 当两个垂直外边距相遇时 他们将形成一个外边距 合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者
当一个元素出现在另一个元素上面时 第一个元素的下边距与第二个元素的上边距发生合并 请看下图:

当一个元素包含在另一个元素中时(假设没有内边距 或者边框把外边距分隔开)他们的上和 下边距也会发生合并

外边距甚至可以与自身发生合并。
假设有一个空元素,它有外边距,但是没有边框或填充。在这种情况下,上外边距与下外边距就碰到了一起,它们会发生合并:

如果这个外边距遇到另一个元素的外边距,它还会发生合并:

外边距合并初看上去可能有点奇怪,但是实际上,它是有意义的。以由几个段落组成的典型文本页面为例。第一个段落上面的空间等于段落的上外边距。如果没有外边距合并,后续所有段落之间的外边距都将是相邻上外边距和下外边距的和。这意味着段落之间的空间是页面顶部的两倍。如果发生外边距合并,段落之间的上外边距和下外边距就合并在一起,这样各处的距离就一致了。

总结:(塌陷现象)
在标准文档流中 竖直方向的margin不叠加 以较大的为准
在标准文档流中 水平方向的margin会有叠加现象
以上只在标准文档流中出现,没有在标准中没有上述现象(塌陷现象)
盒子居中
margin: 0 auto
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
div {
width: 100px;
height: 100px;
background-color: blue;
/* 在右边 */
/* margin-left: auto; */
/* 在左边 */
/* margin-right: auto; */
/* 在中间 */
margin:0 auto;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
注意:
1.使用margin:0 auto 使盒子居中的时候,盒子必须有明确的width
2.只有标准流的盒子 才能使用margin:0 auto 居中 也就是说当一个盒子浮动了 绝对定位 或者相对定位了 不能使用此方法居中
3. 此方法是使盒子居中,并不是文字居中 使用text-align使文字居中
善于使用父亲的padding而不是儿子的margin
margin 表达的是兄弟之间的距离 父子之间的距离不用margin表示 而是用padding
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
* {
padding: 0;
margin: 0;
}
div {
width: 100px;
height: 100px;
background-color: yellow;
padding: 50px 50px;
/* border: 1px solid red; */
} p {
/* 如果Div不加边框 会使div向下移动50像素 即把div拉下来 加了边框会是正常现象 */
/* 所以我们为了如果要让儿子在父亲内有上下左右边框 可以使用父亲的padding属性 而不是儿子的margin属性 */
/* margin-top: 50px; */
width: 100px;
height: 100px;
background-color: green; }
</style>
</head>
<body>
<div>
<p></p>
</div>
</body>
</html>
现象

只写p 的margin-top

p的margin 加div的边框

利用div的 padding实现
HTML 学习笔记 CSS样式(外边框 外边框合并)的更多相关文章
- HTML 学习笔记 CSS样式(边框)
元素的边框(border)是围绕元素内容和内边距的一条或多条线 CSS border 属性允许你规定边框的样式 宽度和颜色 CSS 边框 在 HTML 中,我们使用表格来创建文本周围的边框,但是通过使 ...
- HTML 学习笔记 CSS样式(框模型)
CSS框模型( Box Model)规定了元素框处理元素的内容 内边距 边框 和 外边距的方式 CSS框模型概述 可以用下面的模型图概述
- HTML 学习笔记 CSS样式(定位)
CSS定位(Positioning)属性 允许你对元素进行定位. CSS定位和浮动 CSS为定位和浮动提供了一些属性,利用这些属性 可以建立列式布局,将布局的一部分与另一部分重叠.还可以完成多年来通常 ...
- HTML 学习笔记 CSS样式(链接)
我们能够以不同的方法为链接设置样式. 设置链接的样式 能够设置链接样式的 CSS 属性有很多种(例如 color, font-family, background 等等).链接的特殊性在于能够根据它们 ...
- HTML 学习笔记 CSS样式(字体)
css字体属性定义文本的字体系列 大小 加粗 风格 和 变形(如小型大写字母(类似于大写字母字体变小了)) css字体系列 在css中 有两种不同类型的字体系列名称 1.通用字体系列 - 拥有相似外观 ...
- HTML 学习笔记 CSS样式(文本)
CSS文本属性可以定义文本的外观 通过文本属性 您可以改变文本的颜色 字符间距 文本对齐装饰文本 对文本进行缩进等等. 缩进文本 把web页面上的段落的第一行缩进,这是最常用的文本格式化效果. css ...
- HTML 学习笔记 CSS样式(简介和语法)
CSS概述 CSS指层叠样式表(Cascading Style Sheets) 样式定义如何显示HTML元素 样式通常存储在样式表中 把样式添加到HTML4.0中 是为了解决内容与表现分离的问题 外部 ...
- 学习笔记 css样式
大小 width:宽度 height:高度 背景 background-color 背景色 background-image 背景图片 background-repeat 背景平铺 ...
- HTML 学习笔记 CSS样式(相对定位 绝对定位)
CSS相对定位 设置为相对定位(relative)的元素会偏移某个距离.元素仍保持其未定位前的形状,他原本所占的空间仍然保留 CSS相对定位 相对定位是一个非常容易掌握的概念,如果对一个元素进行相对定 ...
随机推荐
- 一文让你彻底了解iOS字体相关知识
写本文的契机主要是把自己整理的关于iOS字体方面的知识不断更新写在这篇博文中,用来自己以后查阅. 一.iOS原生字体展示 在label中选择字体的font,并把font由system改成custom后 ...
- 对tableView三种计算动态行高方法的分析
tableView是一个神奇的东西,可以这么说,就算是一个初学者如果能把tableView玩的很6,那编一般的iOS的需求都问题不大了.tableView是日常开发中用烂了的控件,但是关于tableV ...
- 为什么relativelayout.layoutParams的width为-1
源码里看下就知道了.. -1不代表宽度,代表MATCH_PARENT常量的值public static final int FILL_PARENT = -1; public static final ...
- iOS 获取设备版本型号
#import "sys/utsname.h" /** * 设备版本 * * @return e.g. iPhone 5S */+ (NSString*)deviceVersi ...
- UI复习
UIButton的状态 • normal(普通状态) ➢ 默认情况 ➢ 对应的枚举常量:UIControlStateNormal • highlighted(高亮状态) ➢ 按钮被按下去的时候(手指还 ...
- 转:查看sql语句执行时间/测试sql语句性能
原文出处:http://www.cnblogs.com/qanholas/archive/2011/05/06/2038543.html 写程序的人,往往需要分析所写的SQL语句是否已经优化过了,服务 ...
- 集合迭代器快速失败行为及CopyOnWriteArrayList
以下内容基于jdk1.7.0_79源码: 什么是集合迭代器快速失败行为 以ArrayList为例,在多线程并发情况下,如果有一个线程在修改ArrayList集合的结构(插入.移除...),而另一个线程 ...
- ORA-01501: CREATE DATABASE failed
使用dbca建库时遇到ORA-01501: CREATE DATABASE failed这个错误,检查告警日志,发现有下面错误信息: SMON: enabling tx recovery Fri Ap ...
- mac 安装 php nginx mysql
mac下面安装php nginx mysql根linux下面差不多,建议大家使用brew管理工具包安装. 1,安装homebrew http://brew.sh/index_zh-cn.html 安装 ...
- 编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc。
package zuoye; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; ...