Html 关于保证金性质和价值

Html 关于保证金性质和价值,html,css,Html,Css,1.我希望所有侧面都有一个居中的长方体,但长方体模型的顶部在主体的开始处,如果我明确设置边距顶部:20px,则长方体模型向下移动,但为什么顶部不会像其他部分一样自动对齐 2.我也不知道auto value“做”了什么来实现对中 如果是边距:0自动;//0的单位是什么?px,em或pt Css中的垂直对齐是一个既有趣又痛苦的话题。这是关于为什么垂直对齐会如此痛苦的最好的简明解释 关于您的第一个问题,您无法使用边距垂直对齐的原因在下面的报价中解释 。。。文档流的性质和元素高度计算算法使得无法使用边距

1.我希望所有侧面都有一个居中的长方体,但长方体模型的顶部在主体的开始处,如果我明确设置边距顶部:20px,则长方体模型向下移动,但为什么顶部不会像其他部分一样自动对齐

2.我也不知道auto value“做”了什么来实现对中

  • 如果是边距:0自动;//0的单位是什么?px,em或pt

  • Css中的垂直对齐是一个既有趣又痛苦的话题。这是关于为什么垂直对齐会如此痛苦的最好的简明解释

    关于您的第一个问题,您无法使用边距垂直对齐的原因在下面的报价中解释

    。。。文档流的性质和元素高度计算算法使得无法使用边距将元素垂直居中于其父元素内。无论何时更改垂直边距值,它都将触发父元素高度重新计算(回流),这将反过来触发原始元素的重新居中。。。使之成为一个无限循环

    至于第二个问题,边距自动通过计算子容器相对于其父容器宽度的宽度来实现水平居中。然后,它进行简单的数学运算,在子容器的左侧和右侧添加等量的边距,强制执行水平居中

    关于第二个问题B部分,

    margin:auto
    与以下内容相同:

    CODE:
    *{
      margin:0px;
      padding:0px;
    }
    body{
      font-family:sans-serif;
      width:1024px;
      height:700px;
      border:1px solid green;
    
      //margin:0 auto;
    
      margin-left:auto;
      margin-right:auto;
      margin-top:auto;
      margin-bottom:auto;
    }
    
    margin-top: auto;
    margin-bottom: auto;
    margin-right: auto;
    margin-left: auto;
    
    margin-top: 0;
    margin-bottom: 0;
    margin-right: auto;
    margin-left: auto;
    
    其中as
    margin:0 auto
    等同于以下内容:

    CODE:
    *{
      margin:0px;
      padding:0px;
    }
    body{
      font-family:sans-serif;
      width:1024px;
      height:700px;
      border:1px solid green;
    
      //margin:0 auto;
    
      margin-left:auto;
      margin-right:auto;
      margin-top:auto;
      margin-bottom:auto;
    }
    
    margin-top: auto;
    margin-bottom: auto;
    margin-right: auto;
    margin-left: auto;
    
    margin-top: 0;
    margin-bottom: 0;
    margin-right: auto;
    margin-left: auto;
    
    实现垂直居中的解决方案

    尽管存在限制,但仍有一些选项可用于实现垂直对齐。最简单的方法是利用表。对于表,它们为数不多的优点之一是使用
    vertical align
    属性的行为实际上与在表内部强制执行时的行为相同。因此,您可以执行以下操作:

    CODE:
    *{
      margin:0px;
      padding:0px;
    }
    body{
      font-family:sans-serif;
      width:1024px;
      height:700px;
      border:1px solid green;
    
      //margin:0 auto;
    
      margin-left:auto;
      margin-right:auto;
      margin-top:auto;
      margin-bottom:auto;
    }
    
    margin-top: auto;
    margin-bottom: auto;
    margin-right: auto;
    margin-left: auto;
    
    margin-top: 0;
    margin-bottom: 0;
    margin-right: auto;
    margin-left: auto;
    
    
    天哪,它是垂直对齐的
    
    我在本文中演示了另外两种常用方法

    这篇有用的文章演示了实现垂直居中的许多场景和方法-


    干杯

    Css中的垂直对齐是一个既有趣又痛苦的话题。这是关于为什么垂直对齐会如此痛苦的最好的简明解释

    关于您的第一个问题,您无法使用边距垂直对齐的原因在下面的报价中解释

    。。。文档流的性质和元素高度计算算法使得无法使用边距将元素垂直居中于其父元素内。无论何时更改垂直边距值,它都将触发父元素高度重新计算(回流),这将反过来触发原始元素的重新居中。。。使之成为一个无限循环

    至于第二个问题,边距自动通过计算子容器相对于其父容器宽度的宽度来实现水平居中。然后,它进行简单的数学运算,在子容器的左侧和右侧添加等量的边距,强制执行水平居中

    关于第二个问题B部分,

    margin:auto
    与以下内容相同:

    CODE:
    *{
      margin:0px;
      padding:0px;
    }
    body{
      font-family:sans-serif;
      width:1024px;
      height:700px;
      border:1px solid green;
    
      //margin:0 auto;
    
      margin-left:auto;
      margin-right:auto;
      margin-top:auto;
      margin-bottom:auto;
    }
    
    margin-top: auto;
    margin-bottom: auto;
    margin-right: auto;
    margin-left: auto;
    
    margin-top: 0;
    margin-bottom: 0;
    margin-right: auto;
    margin-left: auto;
    
    其中as
    margin:0 auto
    等同于以下内容:

    CODE:
    *{
      margin:0px;
      padding:0px;
    }
    body{
      font-family:sans-serif;
      width:1024px;
      height:700px;
      border:1px solid green;
    
      //margin:0 auto;
    
      margin-left:auto;
      margin-right:auto;
      margin-top:auto;
      margin-bottom:auto;
    }
    
    margin-top: auto;
    margin-bottom: auto;
    margin-right: auto;
    margin-left: auto;
    
    margin-top: 0;
    margin-bottom: 0;
    margin-right: auto;
    margin-left: auto;
    
    实现垂直居中的解决方案

    尽管存在限制,但仍有一些选项可用于实现垂直对齐。最简单的方法是利用表。对于表,它们为数不多的优点之一是使用
    vertical align
    属性的行为实际上与在表内部强制执行时的行为相同。因此,您可以执行以下操作:

    CODE:
    *{
      margin:0px;
      padding:0px;
    }
    body{
      font-family:sans-serif;
      width:1024px;
      height:700px;
      border:1px solid green;
    
      //margin:0 auto;
    
      margin-left:auto;
      margin-right:auto;
      margin-top:auto;
      margin-bottom:auto;
    }
    
    margin-top: auto;
    margin-bottom: auto;
    margin-right: auto;
    margin-left: auto;
    
    margin-top: 0;
    margin-bottom: 0;
    margin-right: auto;
    margin-left: auto;
    
    
    天哪,它是垂直对齐的
    
    我在本文中演示了另外两种常用方法

    这篇有用的文章演示了实现垂直居中的许多场景和方法-


    干杯

    首先,使用css将“Div”水平居中。之后是使用javascript来垂直居中。看见 HTML:

    JS(JQuery):


    请参见

    首先,使用css将“Div”水平居中。之后是使用javascript来垂直居中。看见 HTML:

    JS(JQuery):


    请参见

    这里还有一个相关资源

    这里还有一个问题

    解释得很好,谢谢!解释得很好,谢谢!