边框盒子模型

一、 什么是边框?

---边框就是环绕在标签宽度和高度周围的线条

  • 边框属性的格式?
    1、连写(同时设置四条边的边框)
    border:边框宽度 边框样式 边框颜色;
  • 样式取值
    --solid:实线
    --dotted:点线
    --dashed虚线
  • 快捷键
    bd+tab
  • 注意点:
    1)连写格式中颜色可以省,省略后默认就是黑色
    2)连写格式样式不能省略,省略之后就看不到边框了
    3) 连写格式中宽度可以省略,省略之后黑色可以看到边框
    2、连写(分别设置四条边的边框)
    borde-top/right/bottom/left:边框宽度 边框样式 边框颜色;
  • 快捷键:
    bt+tab
  • 连写(分别设置四条边的边框)
borde-上 右  下 左;
borde-style:上 右  下 左;
borde-color:上 右  下 左;

注意点:
这三个属性的取值是按照顺时针来赋值的,也就是按照上右下左来赋值,额不是按照日常生活中的上下左右
这三个属性的取值省略时规律
--上右下左-->上右下》左边的取值和右边一样
--上右下左-->上右》左边的取值和右边一样,下和上一样
--上右下左-->上》右下左都和上一样

二、什么是内边距?

---边框和内容之间的距离就是内边距?

  • 格式:
    padding:上 右 下 左;
    padding-top/right/left/bottom:像素;
  • 注意点:
    1)给标签设置内边距之后,标签占有的宽度和高度会发生变化
    2)内边距也会有颜色变化

三、外边距

  • 什么是外边距?
    --外边距就是标签与标签之间的外边距
    --在·HTML中多个空格会被当做一个空格处理,回车也会被当作空格处理
  • 格式:
    margin:10px 10px 10px 1opx;上右下左;
    margin: 10px 100px 19px;上10 右左100 下19
    margin-top/right/bottom/left:像素;
    ---省略上等于下 左等于右
  • 注意点:
    1)外边距没有颜色
    ----外边距的合并现象?
  • 产生原因:在我们垂直方向上,如果有两个相邻外边距,那么就会发生外边距合并现象。
    1)水平是叠加
    2)在默认布局的垂直方向上,默认情况下外边距是不会叠加的,会出现合并现象,谁的外边距大就听谁的
  • 注意:外边距只会发生在垂直方向上,不会发生在水平方向上

四、盒子模型

  • 什么是盒子模型?
    --css盒子模型仅仅是一个比喻,HTML中所有的标签都是盒子
    --就是在HTML中所有标签都可以设置
    宽度/高度:指可以存放内容的区域
    内边距:内容与边框的距离-填充物
    边框:==手机盒子自己
    外边距--盒子与盒子之间的距离
  • 盒子宽度和高度
    --1、内容的宽度和高度
    就是通过标签的width/height属性设置的宽度和高度
    --2、元素的宽度和高度
    宽度=左边框+width+右内边距+右边框
    高度一样
    --3、元素空间的宽度和高度
    宽度=左外边距+左边框+做内边距+width+右内边距+右边框+右外边距
    高度一样
  • 现有如下盒子模型,要求增加padding属性为25之后仍然保持元素高度为200
    --若保持元素高度不变的前提下,增加内边距是减少元素高度
  • 规律
    1)增加了padding之后元素的宽高也会发生变化
    2)如果增加了paddig之后还想保持元素的宽高,那么必须减少内容的宽高
  • 现有盒子模型,要求增加border属性为20之后仍然保持元素宽度为200
  • 规律
    1)增加了border之后元素的宽高也会发生变化
    2)如果增加了border之后还想保持元素的宽高,那么必须减少内容的宽高

4.1box-sizing属性

---CSS3新增了一个box-sizing属性,这个属性可以保证我们给盒子新增padding和border之后,盒子元素的宽度和高度不变
---box-sizing属性是任何保证增加padding和border之后,盒子元素的宽度和高度不变
--和我们前面学习的原理一样,增加padding和border之后要想保证盒子元素的宽度和高度不变,那么就必须减少一部分内容

  • 取值:

1)border-box:

元素的宽高=width/height高度;

2)content-box:

元素的宽高=边框+内边距+内容宽高

注意:如果两个盒子是嵌套关系,那么设置了里面一个盒子的顶部的外边距,外面一个盒子也会被顶下来
如果外面的盒子不想被一起顶下来,你们可以给外面的盒子添加一个边框属性或者给加一个overflow:hidden;
如果在企业中,一般情况下如果需要控制嵌套关系盒子之间的距离,应该首先考虑padding 其次在考虑margin margin本质上是用于控制兄弟关系之间的间隙的
在嵌套关系的盒子中,外面可以利用margin:0 auto;的方式来让里面的盒子在外面的盒子水平居中
margin:0 auto;只对水平有效

五、盒子居中和内容居中

  • text-align:center;
    --设置盒子中存储的文字/图片水平居中
  • margin:0 auto;盒子水平居中
    --让盒子自己居中
  • 清空默认边距
    --为什么要清空默认边距(外边距和内边距)?
    在企业开发中为了更好的控制盒子的宽度和计算盒子的宽度等等,所有在企业开发中,编写代码之前第一件事就是清空默认的边距
    --如何清空?

*{
padding:0;
margin:0;
}

  • 注意点:
    1)通配符选择器会找到当前所有标签,所有性能不好 企业开发中可以找个网址中拷贝
    --另一种
    www.baidu.com---》yui css reset--》第一个找includeccdependencies有一个网址赋值粘贴即可
    body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
    margin :0;
    padding:0;
    }

六、行高和字号

  • 什么是行高?
    在CSS中所有的行都有自己的行高
  • 注意点:
    ---行高(某一行内容的高度)和盒子的高(标签的高度)不是同一个概念
  • 规律
    1、文字在行高中默认是垂直居中的
    2、在企业开发中,我们经常将盒子的高度和行高设置一样,这样就可以保证一行文字在盒子的高度中是垂直居中的
    那简而言之:要想一行文字在盒子中垂直居中,那么只需要设置这行文字的行高等于盒子的高度即可
  • 格式:
    line-height:像素;
    两行如何在盒子居中:用padding加上box-sizing:border-nox;
  • 在企业开发中如果一个盒子有多行文字,那么外面就不能使用设置行高等于盒子高来实现让文字垂直居中,只能通过padding来让文字居中
  • 注意点:
    1.在企业开发中,如果一个盒子中存储的时文字,那么一般情况下我们会以盒子左边的内边距为基准,不会以后边的内边距为基准,因为这个右边的内边距有误差
    2.右边内边距的误差从何而来?因为右边如果放不下一个文字,那么文字就会换行显示,所以和内边距之间的距离就有了误差
    3.顶部的内边距并不是边框到文字顶部的距离,而是边框到行高的距离。

七、做网页的步骤

1)清空所有的边距
2)从外到内,从上到下的编写网页

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





原文地址:https://www.cnblogs.com/8-y-m-l/p/10547778.html