Css 垂直对齐块

Css 垂直对齐块,css,xhtml,Css,Xhtml,你到底是如何使一个div垂直居中的 水平已经有足够的方法了,但不管我怎么尝试,垂直居中是不可能的 正文{垂直对齐:中间;} 无所事事 正文{文本对齐:中间;} 无所事事 中间分区{顶部:50%;} 无所事事 有可能吗 我想我要哭了。看 带有CSS的通用垂直中心 .greenBorder{border:1px纯绿;}/*只需添加边框即可*/ 任何文本 任意高度 任何内容,例如从DB生成的内容 一切都垂直居中 看 带有CSS的通用垂直中心 .greenBorder{border:1px纯绿;}

你到底是如何使一个div垂直居中的

水平已经有足够的方法了,但不管我怎么尝试,垂直居中是不可能的

正文{垂直对齐:中间;}

无所事事

正文{文本对齐:中间;}

无所事事

中间分区{顶部:50%;}

无所事事

有可能吗

我想我要哭了。


带有CSS的通用垂直中心
.greenBorder{border:1px纯绿;}/*只需添加边框即可*/
任何文本
任意高度
任何内容,例如从DB生成的内容
一切都垂直居中


带有CSS的通用垂直中心
.greenBorder{border:1px纯绿;}/*只需添加边框即可*/
任何文本
任意高度
任何内容,例如从DB生成的内容
一切都垂直居中

据我所知,潜水舱必须有一个固定的高度,以使之成为可能

#centered { width: 700px; height: 400px; position: absolute; top: 50%; left: 50%; margin: -200px 0 0 -350px; }
并使
#的父层居中
相对定位。这应该行得通


编辑-因此可能有未定义的高度。见克莱特斯的答案。

据我所知,潜水舱必须有一个固定的高度,才能使之成为可能

#centered { width: 700px; height: 400px; position: absolute; top: 50%; left: 50%; margin: -200px 0 0 -350px; }
并使
#的父层居中
相对定位。这应该行得通

编辑-因此可能有未定义的高度。请参阅克莱特斯的答案。

这可能会有帮助:

这可能会有帮助:

  • 确保您的外部div为“位置:相对”或“位置:绝对”(用于参考点)。2.为内部分区3设置固定高度。将内部div设置为“top:50%”,将其向下移动到中间。4.人们忘记的步骤是设置“边距顶部:-yy”(-yy是内部div高度的一半,用于向上偏移div)
  • 假设您的内部div设置为高度:100px;。守则是:

    <style type="text/css">
    #outerDiv { position: relative }
    #innerDiv { position: absolute; top: 50%; height: 100px; margin-top: -50px }
    </style>
    
    
    #外层{位置:相对}
    #innerDiv{位置:绝对;顶部:50%;高度:100px;页边顶部:-50px}
    
  • 确保您的外部div为“位置:相对”或“位置:绝对”(用于参考点)。2.为内部分区3设置固定高度。将内部div设置为“top:50%”,将其向下移动到中间。4.人们忘记的步骤是设置“边距顶部:-yy”(-yy是内部div高度的一半,用于向上偏移div)
  • 假设您的内部div设置为高度:100px;。守则是:

    <style type="text/css">
    #outerDiv { position: relative }
    #innerDiv { position: absolute; top: 50%; height: 100px; margin-top: -50px }
    </style>
    
    
    #外层{位置:相对}
    #innerDiv{位置:绝对;顶部:50%;高度:100px;页边顶部:-50px}
    
    用于执行此操作。这里是链接到。这是我感觉到的最简单、最好的解决方案。如果您没有注意IE浏览器,那么这是对齐块的最佳方法。“棱角材质”也使用它来制作网格

    <div class="center">
          <div>
                <h4>
                      I am at center
                </h4>
          </div>
    </div>
    
    
    .center {
          /*this is for styling */
          height: 100px;
          margin: 1em;
          color:#fff;
          background: #9f5bd0;
    
          /*you just have to use this */
          display: flex;
          justify-content:center;
          align-items:center;
    }
    
    
    我在中心
    .中心{
    /*这是用于造型的*/
    高度:100px;
    边缘:1米;
    颜色:#fff;
    背景#9f5bd0;
    /*你只要用这个就行了*/
    显示器:flex;
    证明内容:中心;
    对齐项目:居中;
    }
    
    要学习“灵活的盒子布局模块”,您可以访问FLEXBOX FROGGY。使用它。这里是链接到。这是我感觉到的最简单、最好的解决方案。如果您没有注意IE浏览器,那么这是对齐块的最佳方法。“棱角材质”也使用它来制作网格

    <div class="center">
          <div>
                <h4>
                      I am at center
                </h4>
          </div>
    </div>
    
    
    .center {
          /*this is for styling */
          height: 100px;
          margin: 1em;
          color:#fff;
          background: #9f5bd0;
    
          /*you just have to use this */
          display: flex;
          justify-content:center;
          align-items:center;
    }
    
    
    我在中心
    .中心{
    /*这是用于造型的*/
    高度:100px;
    边缘:1米;
    颜色:#fff;
    背景#9f5bd0;
    /*你只要用这个就行了*/
    显示器:flex;
    证明内容:中心;
    对齐项目:居中;
    }
    

    要学习“灵活的方框布局模块”,您可以访问FLEXBOX FROGGY。

    谢谢,代码不错,但是,又有一个该死的“设置高度”限制,所以我想没有办法将一个块居中以用于不同的屏幕分辨率?您可以将外部分区设置为100%高度。谢谢,代码很好,但是,又有一个该死的“设置高度”限制,所以我想没有办法将一个块居中以用于不同的屏幕分辨率?你可以将外部分区设置为100%高度。看到了,不错,但我觉得我的有点像versetile,尽管我用的是javascript。不错,但我觉得我的有点像versetile,尽管我用的是javascript。这是最终结果-这是最终结果-