zoukankan      html  css  js  c++  java
  • padding margin border 和元素大小

    元素占用宽度 = 元素宽度+padding+border+margin

    注意margin只是隔开元素,不会使得元素变大,而padding会使得元素变大,也就是说

    元素真实宽度=元素宽度+padding+border

    border 在元素的外层

    一、关于Padding

            1、设置对象四边的内边距。默认值是0。

            2、如果提供全部四个参数值,将按上、右、下、左的顺序作用于四边。

            3、如果只提供一个,将作用于全部的四边。

            4、如果提供两个,第一个作用于上、下,第二个作用于左、右。

            5、如果提供三个,第一个作用于上,第二个作用于左、右,第三个作用于下。

            6、内联对象要使用该属性,必须先设定对象的height或width属性(在样式表中将width和height写在padding前面即可),或者设定position属性为absolute。不允许负值。

            7、内边距留白处总是透明的,并且设置内边距会直接影响对象的大小。

            提示:

            (1)设置了padding属性就相当于增加了对象的大小。原宽270px,高175px,设置padding:30px 0 0 40px后对象的大小应该是宽为310px,高为205px,要想保持原大小就必须减去相应的宽高。所以,对象的宽是270-40=230px,高是 175-30=145px。

            (2)padding是不具有继承性的。

            (3)padding属性是可以分别设置的。padding-top、padding-right、padding-bottom、padding-left分别作用于上、右、下、左四边。语法和参数和padding的设置相同。

    二、关于margin

            (1)设置对象四边的外边距。默认值是0。

            (2)如果提供全部四个参数值,将按上、右、下、左的顺序作用于四边。

            (3)如果只提供一个,将作用于全部的四边。

            (4)如果提供两个,第一个作用于上、下,第二个作用于左、右。

            (5)如果提供三个,第一个作用于上,第二个作用于左、右,第三个作用于下。

            (6)内联对象要使用该属性,必须先设定对象的height或width属性,或者设定position属性为absolute。

            (7)外边距总是透明的,并且设置外边距不会直接影响对象的大小,只是相对位置发生变化。

             提示:

            (1)margin属性不具有继承性。由于IE的双边距BUG会往往导致内联对象设置边距后与父对象左边的距离实际值不符,遇到这样的问题就加display:inline;,意思是把对象视作行级元素。

            (2)设置内联对象的上下边距是不会出现双边距问题的。margin不具有继承性,内联对象设置左右边距时出现双倍边距完全是IE的BUG。

            (3)margin属性是可以分别设置的。margin-top、margin-right、margin-bottom、margin-left分别作用于上、右、下、左四边。

  • 相关阅读:
    BZOJ1406: [AHOI2007]密码箱 数论
    BZOJ5188: [Usaco2018 Jan]MooTube 并查集+离线处理
    BZOJ2662: [BeiJing wc2012]冻结 spfa+分层图
    BZOJ1297: [SCOI2009]迷路 矩阵快速幂
    BZOJ4887: [Tjoi2017]可乐 矩阵快速幂
    BZOJ5168: [HAOI2014]贴海报 线段树
    开发富文本编辑器的一些经验教训
    数据可视化的发展前景、商业/职业前景?
    市场调研中如何做数据分析?
    当前火热的短视频,背后有着哪些黑科技技术?
  • 原文地址:https://www.cnblogs.com/lbnnbs/p/4781876.html
Copyright © 2011-2022 走看看