margin&border&padding的用法

一、外边距margin

使用

  • 可以用来设置盒子与盒子之间的间距——外边距

  • 语法

margin-top:上外边距

margin-bottom:下外边距

margin-left:左外边距

margin-right:右外边距

复合属性:margin

当margin为一个值时表示盒子与盒子之间的上下左右间距

当margin为两个值时表示盒子与盒子之间的间距的上下,左右间距

当margin为三个值时表示盒子与盒子之间的间距的上,左右,下间距

当margin为四个值时表示盒子与盒子之间的间距的上,右,下,左间距

二、使用技巧

(1)margin是可以设置负值
(2)盒子水平居中

margin:0 auto;这一属性,可以设置盒子水平居中,设置上下外边距为0px,左右为auto,auto代表自适应,会自动将父标签剩余分空间均分到盒子左右两边。【针对有宽度的块级标签有效果】

注意:

垂直方向上auto被禁用,原因在于一般父标签的高度是由内容决定的,高度无法确定的,W3C将垂直方向上的auto禁用了

(3)盒子水平垂直居中
  • 水平居中:margin:0 auto;

  • 垂直居中:margin-top:(父标签的高度-子标签的高度) 或 margin-top:calc(50% - 小盒高度的一半)

    • calc()可以进行数学运算,运算符号前后添加空格
    • margin-top:calc(50% - 小盒子高度的一半)只适用于父标签的高度和宽度一样时
(4)margin设置百分比
  • margin设置百分比时,无论哪个方向,都是参考父标签的宽度。
(5)margin传递性
  • 子标签在设置margin-top时,会传递给父标签显示

  • 原因:子标签在设置margin-top时,会去找父标签的边界作为参考,找不到父标签的边界,就传递给父标签显示

    解决方案:
    • 可以给父标签设置边框border,但是会改变盒子的大小        
    • 可以给父标签设置内边距padding,但是会改变盒子的大小
    • 可以给父标签设置overflow:hidden,借助BFC容器的特点,容器里面的元素不会影响容器外面元素的布局。(推荐)
(6)margin重叠性
  • 相邻两个盒子在垂直方向上的margin会发生重叠,以值大的为准;在水平方向上,margin不会发生重叠,是相加在一起的。

三、边框border

使用

  • 可以设置标签(盒子)四周的边框,主要研究:边框的方向、宽度、类型、颜色。

  • 语法

border-方位单词-width:边距宽度

border-方位单词-style:边距类型

border-方位单词-color:边距颜色

复合属性:

可以设置一条边的复合属性

border-方位单词:宽度 类型 颜色;

也可以同时设置四条边框的复合属性

border:宽度 类型 颜色;

类型:

solid:实线

dashed:虚线

dotted:点线

double:双实线

注意:
  • 边框至少需要设置两个值:宽度和类型,颜色默认为黑色

  • 默认边框区域会铺设背景颜色

  • 添加边框会改变盒子的大小

  • 渲染原理:如果只设置一条边框,显示为矩形;如果有相邻的边框,两条边界相接部分是沿着对角线区域均分

    可以绘制三角形:设置盒子的宽高为0,三条边框设置为透明的颜色,一条边框不透明(transparent):透明色

四、内边距padding

使用

  • 设置盒子中内容与边框之间的间距

  • 语法

padding-top:上内边距

padding-bottom:下内边距

padding-left:左内边距

padding-right:右内边距

复合属性:padding

当padding为一个值时表示内容与边框之间的上下左右间距

当padding为两个值时表示内容与边框之间的间距的上下,左右间距

当padding为三个值时表示内容与边框之间的间距的上,左右,下间距

当padding为四个值时表示内容与边框之间的间距的上,右,下,左间距

注意:
  • 内边距padding区域默认会铺设背景颜色
  • 内边距padding会改变盒子的大小
  • 47
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值