从零开始学_JavaScript_系列(六)——CSS的padding、margin、border属性超详细解释(图文)

简介: 结论请看最后的图片 关于定义: margin:层的边框以外留的空白 background-color:背景颜色 background-image:背景图片 padding:层的边框到层的内容之间的空白 border:边框 content:内容   关于四个方向: 先上图: 测试:(有些结论是验证后copy现有的,因为纯测试不可能推出必然结果)

结论请看最后的图片


关于定义:

margin:层的边框以外留的空白

background-color:背景颜色

background-image:背景图片

padding:层的边框到层的内容之间的空白

border:边框

content:内容

 

关于四个方向:

先上图:



测试:(有些结论是验证后copy现有的,因为纯测试不可能推出必然结果)

①首先定义三个:body为背景,one为测试块,another为对比块

body

{

       background-color:#000;

}

.one

{

       position:absolute;

       background-color:#333;           /*黑色背景*/

       width:200px;

       height:200px;

       text-align:center;

       font-size:50px;

}

.another

{

       position:absolute;

       top:250px;

       background-color:#999;

       width:200px;

       height:200px;

       text-align:center;

       font-size:50px;

}

效果:


②向测试块追加属性margin(控制块级元素之间的距离):

margin:200px;

效果为:


说明:

<1>margin本身是透明的(背景还是黑色);

<2> margin:200px;是向四个方向追加200px,相当于上下、左右各增加400px;

<3>单纯追加margin-top:200px; 将导致原有块往下移动200px距离;


假如删除两个块的:      position:absolute;  将导致当前块和之后的块都移动相对位置。

变化前:


 

 

变化后:




<4>margin-left:200px  不会使得后面的块占用之前块的位置(因为相当于前块width增加200px)

 

 

③向块内追加padding属性:(控制块级元素内部

padding:200px;追加后:



<1>说明padding分为四个方向。200相当于每边追加200px

 

padding-right:200px; 追加后:



<1>说明padding不影响块内文字原有布局(文字还在原来位置)。

 

 

④关于border:

语法:

border: 粗细 样式 颜色;

 

关于样式:

·        none: 无样式

·        hidden: 除了同表格的边框发生冲突的时候,其它同none

·        dotted: 点划线

·        dashed: 虚线

·        solid: 实线

·        double: 双线,两条线加上中间的空白等于border-width的取值

·        groove: 槽状

·        ridge: 脊状,和groove相反

·        inset: 凹陷

·        outset:凸出,和inset相反

 

追加border:100px groove red;


效果说明:

<1>border的第一个参数同样指每个边增加的数值。

<2>第二个参数是样式(更多样式参考上面);

<3>第三个参数是颜色(也可以写为#000这种形式);

 

 

 

⑤border和padding的双重追加

       padding-right:200px;

       border:50px double #fff;



效果说明:

①border在padding外侧(二者没有重叠部分);

 

 

 

⑥border、padding、margin三者同时追加:

       padding-right:200px;

       border:50px double #fff;

       margin-bottom:100px;

效果:



效果说明:

①margin在border的更外面。

 

 

总结:

①最外面是margin:

不能染色(透明的),属于块间元素(控制块和块的距离);可以选择宽度,可以只影响某一个方位。

 

②次外面是border:

可以染色(同时也受背景图片/背景颜色的影响),可以选择样式,可以选择宽度,可以只在某一个方位应用如:border-left:50pxdouble #fff;

 

③再次是padding:

可以染色(根据background-color),受背景图片的影响,可以选择宽度,可以只影响某一个方位。不影响最内层的文字。

 

④最内层是content:

文本内容区,受width、height、背景图片、背景颜色等影响。

 

如图:


目录
相关文章
|
21天前
|
XML 前端开发 数据格式
css核心组成部分包括选择器、属性和值。
【4月更文挑战第5天】css核心组成部分包括选择器、属性和值。
18 7
|
22天前
|
存储 JavaScript 前端开发
解释 JavaScript 中的作用域和作用域链的概念。
【4月更文挑战第4天】JavaScript作用域定义了变量和函数的可见范围,静态决定于编码时。每个函数作为对象拥有`scope`属性,关联运行期上下文集合。执行上下文在函数执行时创建,定义执行环境,每次调用函数都会生成独特上下文。作用域链是按层级组织的作用域集合,自内向外查找变量。变量查找遵循从当前执行上下文到全局上下文的顺序,若找不到则抛出异常。
21 6
|
3天前
|
JavaScript 前端开发
js开发:请解释事件冒泡和事件捕获。
JavaScript中的事件处理有冒泡和捕获两种方式。事件冒泡是从子元素向上级元素传递,而事件捕获则从外层元素向内层传递。`addEventListener`的第三个参数可设定事件模式,`false`或不设为冒泡,`true`为捕获。示例代码展示了如何设置。
19 2
|
2天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
16 3
|
2天前
|
缓存 JavaScript 前端开发
js开发:请解释什么是Webpack,以及它在项目中的作用。
Webpack是开源的JavaScript模块打包器,用于前端项目构建,整合并优化JavaScript、CSS、图片等资源。它实现模块打包、代码分割以提升加载速度,同时进行资源优化和缓存。Webpack的插件机制可扩展功能,支持热更新以加速开发流程。
13 2
|
3天前
|
JavaScript 前端开发
js开发:请解释this关键字在JavaScript中的用法。
【4月更文挑战第23天】JavaScript的this关键字根据执行环境指向不同对象:全局中指向全局对象(如window),普通函数中默认指向全局对象,作为方法调用时指向调用对象;构造函数中指向新实例,箭头函数继承所在上下文的this。可通过call、apply、bind方法显式改变this指向。
7 1
|
3天前
|
JavaScript 前端开发
js开发:请解释同步和异步编程的区别。
同步编程按顺序执行,易阻塞;异步编程不阻塞,提高效率。同步适合简单操作,异步适合并发场景。示例展示了JavaScript中同步和异步函数的使用。
14 0
|
7天前
|
前端开发 UED
CSS cursor的一些相关属性
CSS cursor的一些相关属性
|
10天前
|
JavaScript 前端开发 iOS开发
js实用方法记录-动态加载css/js
js实用方法记录-动态加载css/js
16 0
|
11天前
|
前端开发
css属性是什么
【4月更文挑战第15天】css属性是什么
13 3