文章目录
边框1. 边框说明2. 为元素设置边框2.1. 说明2.2. border-width2.3 border-color2.4 border-style 3. 边框简写 内边距1. 说明2. 影响3. 设置 外边距1. 说明2. 属性 外边距(垂直外边距的重叠)垂直外边距的重叠 清除默认样式(清除浏览器默认内外边距,小白适用)1. 说明2. 示范边框
<!DOCTYPE html><html><head><meta charset="utf-8" /><title></title><style type="text/css">.box {width: 200px;height: 200px;background-color: #bfa;border: red solid 10px;border-right: none;}</style></head><body><div class="box"></div></body></html>
1. 边框说明
大部分的浏览器中,边框的宽度和颜色都是有默认值的, 而边框的样式默认值都是 none.box {width: 200px;height: 200;background-color: #bfa;border-width: 10px;border-color: red;border-style: solid;border-right: none;}
2. 为元素设置边框
2.1. 说明
要为一个元素设置边框必须指定三个样式 border-width:边框的宽度border-color:边框颜色border-style:边框的样式.box1 {width: 300px;height: 300px;background-color: #bfa;border-width: 10px;border-color: red;border-style: solid;}
2.2. border-width
使用 border-width 可以分别指定四个边框的宽度如果在 border-width 中制定了四个值 则四个值分别设置给上 右 下 左,顺时针的方向设置的 如果指定三个值, 则三个值会分别设置给 上 左右 下 如果指定两个值 则两个值会分别设置给 上下 左右 如果指定一个值 - 则四边全都是该值除了 border-width,CSS 中还提供了四个 border-xxx-width
xxx 的值可能是 top right bottom left
专门用来设置指定边的宽度
.box1 {width: 300px;height: 300px;background-color: #bfa;/* border-width: 10px 20px 30px 40px; *//* border-width: 10px 20px 30px; *//* border-width: 10px 20px; */border-width: 10px;/* border-left-width: 100px; */border-color: red;border-style: solid;}
2.3 border-color
使用 border-color 可以设置边框的颜色和宽度一样,color 也提供了四个方向的样式,可以分别指定颜色 border-xxx-color.box1 {width: 300px;height: 300px;background-color: #bfa;border-width: 10px;/* border-color: red yellow orange blue; *//* border-color: red yellow orange; *//* border-color: red yellow; */border-color: red;border-style: solid;}
2.4 border-style
使用 border-style 可以设置边框的样式可选值: none 默认值,没有边框solid 实线dotted 点状边框dashed 虚线double 双线 style 也可以分别指定四个边的边框样式,规则和 width 一样, 同时它也提供 border-xxx-style 四个样式,来分别设置四个边.box1 {width: 300px;height: 300px;background-color: #bfa;border-width: 10px;border-color: red;/*border-style: solid;*//* border-style: double; */border-style: solid dotted dashed double;}
3. 边框简写
边框的简写样式,通过它可以同时设置四个边框的样式,宽度,颜色 而且没有任何的顺序要求 border 一指定就是同时指定四个边不能分别指定可以单独设置四个边的样式,规则和 border 一样,不过它只对一个边生效 border-topborder-rightborder-bottomborder-left.box {width: 200px;height: 200;background-color: #bfa;/* border-top: 10px red solid;border-left: 10px red solid;border-top: 10px red solid;border-bottom: 10px red solid;border-left: 10px red solid;*/border: red solid 10px;border-right: none;}
内边距
<!DOCTYPE html><html><head><meta charset="utf-8" /><title></title><style type="text/css">.box1 {width: 200px;height: 200px;background-color: #bfa;border: 10px red solid;padding: 100px 200px 300px 400px;}/** 创建一个子元素box2占满box1*/.box2 {width: 100%;height: 100%;background-color: yellow;}</style></head><body><div class="box1"><div class="box2"></div></div></body></html>
1. 说明
内边距(padding),指的是盒子的内容区与盒子的边框之间的距离一共有四个方向的内边距,可以通过, padding-toppadding-rightpadding-bottompadding-left来设置四个方向的内边距
2. 影响
内边距会影响盒子的可见框的大小,元素的背景会延伸到内边距, 盒子的大小由内容区、内边距和边框共同决定 盒子可见框的宽度 = border-left-width + padding-left + width + padding-right + border-right-width可见框的高度 = border-top-width + padding-top + height + padding-bottom + border-bottom-width3. 设置
设置单个边框/*设置上内边距*/padding-top: 100px;/*设置右内边距*/padding-right: 100px;/*设置下内边距*/padding-bottom: 100px;/*设置左内边距*/padding-left: 100px; */
使用 padding 可以设置四个边框的样式,规则和 border-width 一致
/* padding: 100px; *//* padding: 100px 200px; *//* padding: 100px 200px 300px; */padding: 100px 200px 300px 400px;
外边距
<!DOCTYPE html><html><head><meta charset="utf-8" /><title></title><style type="text/css">.box1 {width: 200px;height: 200px;background-color: #bfa;border: 10px solid red;margin-top: 100px;margin-left: 100px;margin: 0 auto;}.box2 {width: 200px;height: 200px;background-color: yellow;}</style></head><body><div class="box1"></div><div class="box2"></div></body></html>
1. 说明
外边距指的是当前盒子与其他盒子之间的距离 它不会影响可见框的大小,而是会影响到盒子的位置。 由于页面中的元素都是靠左靠上摆放的, 所以注意当我们设置上和左外边距时,会导致盒子自身的位置发生改变而如果是设置右和下外边距会改变其它盒子的位置2. 属性
盒子有四个方向的外边距, margin-topmargin-rightmargin-bottommargin-left/** 设置box1的上外边框和其他盒子的距离*/margin-top: 100px;/** 左外边距*/margin-left: 100px;/** 设置右和下外边距*/margin-right: 100px;margin-bottom: 100px;
负值外边距 外边距也可以指定一个负值如果外边距设置的是负值,则元素会向反方向移动
margin-left: -150px;margin-top: -100px;margin-bottom: -100px;margin-right: -100px;
自动设置外边距 margin 还可以设置为 auto,auto 一般只设置给水平方向的 margin 如果只指定,左外边距或右外边距的 margin 为 auto 则会将外边距设置为最大值垂直方向外边距如果设置为 auto,则外边距默认就是 0 如果将 left 和 right 同时设置为 auto,则会将两侧的外边距设置为相同的值 就可以是元素自动在父元素居中,所以我们经常将左右外边距设置为 auto以使子元素在父元素中水平居中
margin-left: auto;margin-right: auto;
简写 外边距同样可以使用简写属性 margin,可以同时设置四个方向的外边距,规则和 padding 一样
margin: 0 auto;
外边距(垂直外边距的重叠)
<!DOCTYPE html><html><head><meta charset="utf-8" /><title></title><style type="text/css">.bxo1 {width: 100px;height: 100px;background-color: red;/** 为上边的元素设置一个下外边距*/margin-bottom: 100px;}.box2 {width: 100px;height: 100px;background-color: green;/** 为下边的元素设置一个上外边距*/margin-top: 100px;}.box3 {width: 200px;height: 200px;background-color: yellow;/*为box3设置一个上边框*//* border-top: 1px red solid; *//* padding: 1px; */padding-top: 100px;}.box4 {width: 100px;height: 100px;background-color: green;/** 为子元素设置一个上外边距,使子元素的位置下移*/margin-top: 100px;}</style></head><body><div class="box3"><div class="box4"></div></div><div class="box1"></div><div class="box2"></div></body></html>
垂直外边距的重叠
在网页中相邻的垂直方向的外边距会发生外边距的重叠所谓的外边距重叠指的是兄弟元素之间的相邻外边距会取最大值而不是取和如果父子元素的垂直外边距相邻了,则子元素的外边距会设置给父元素清除默认样式(清除浏览器默认内外边距,小白适用)
<!DOCTYPE html><html><head><meta charset="utf-8" /><title></title><style type="text/css">* {margin: 0;padding: 0;}.box1 {width: 100px;height: 100px;background-color: #bfa;}p {background-color: yellow;}</style></head><body><div class="box1"></div><p>我是一个段落</p><p>我是一个段落</p><p>我是一个段落</p><ul><li>无序列表</li><li>无序列表</li><li>无序列表</li><li>无序列表</li></ul></body></html>
1. 说明
浏览器为了在页面中没有样式时,也可以让页面有一个比较好的显示效果。 所以为很多的元素都设置了一些默认的 margin 和 padding,而它的这些默认样式正常情况下我们是不需要使用的 所以我们往往在编写样式之前需要将浏览器默认的 margin 和 padding 统统的去掉2. 示范
清除浏览器的默认样式
* {margin: 0;padding: 0;}