Css 使其连续两次<;部门>;在容器的中心
我有Css 使其连续两次<;部门>;在容器的中心,css,html,center,Css,Html,Center,我有 有没有办法使#div2和div3同时位于#容器的中心(水平和垂直),且高度可变 使用浮动:左和高度:100% 这可以通过使用flexbox的当前标记来完成 (在fiddle中为旧浏览器添加了供应商前缀) CSS 这就是说,如果您将div2和div3元素包装在一个div中,然后尝试对齐包装div,这将变得容易得多。这是一个很难回答的问题,因为在所有现实中,我们都不知道,一旦您将所需的所有内容放在两个内部div中,您的宽度将接近什么样子。不过,我确实有一些解决方案可以让您受益匪浅 注意:以下所
有没有办法使#div2和div3同时位于#容器的中心(水平和垂直),且高度可变 使用
浮动:左代码>和<代码>高度:100%代码>
这可以通过使用flexbox的当前标记来完成
(在fiddle中为旧浏览器添加了供应商前缀)
CSS
这就是说,如果您将div2和div3元素包装在一个div中,然后尝试对齐包装div,这将变得容易得多。这是一个很难回答的问题,因为在所有现实中,我们都不知道,一旦您将所需的所有内容放在两个内部div中,您的宽度将接近什么样子。不过,我确实有一些解决方案可以让您受益匪浅
注意:以下所有JSFIDLE示例都已修改为包含颜色,这样您就可以完全理解定位效果
第一种选择:
基本上,这个选项非常简单,除了添加三个元素display、vertical align和float
,我们保持一切不变。这会导致以下CSS:
#container {
height:500px;
text-align: center;
background: pink;
display: flex;
align-items: center; /* horizontal center */
flex-direction: column;
justify-content: center; /*vertical center */
}
#div2, #div3 {
width: 50%;
background: orange;
}
稍后,我将进一步详细介绍我们为什么使用这三种方法
第二种选择:
我相信这可能就是您想要的,我添加的只是边距、显示和垂直对齐
,它生成以下CSS代码:
#container {
height:500px;
width:100%;
text-align: center;
background-color:blue;
display: table-cell;
vertical-align:middle;
}
#div2, #div3 {
float:left;
text-align:center;
width: 50%;
background-color:orange;
}
那么为什么我们要使用时髦的表格单元格显示呢?这是一个简单的技巧,当与垂直对齐相结合时,可以将任何东西放置在外部div的内部,从而正确地将项目放置在其中心
第一个示例和第二个示例之间的区别在于,浮动将使内容始终保持在div的左侧(本质上,不是垂直居中),但有些人喜欢这一方面
边距是一个简单的技巧,可以确保你可以水平居中。我想指出的是,这个div只会随着div中内容的扩展而扩展(即100%宽度的含义)。因此,如果您没有任何内容,那么最外层的div实际上不存在,直到内容被放置在内部div中。因此,如果您的div看起来像一条宽度方向的小直线和长高度,请不要气馁;为了更好地表达这一点,这里有一个。您是希望div2位于div3之上(即块元素),还是希望它们彼此相邻-内联?嗨,Danield,div2将位于div3之上,并且两者的宽度相同。谢谢。我喜欢第二种方法,这是模仿表格单元格垂直对齐(排序)。当然:)我很高兴它为您工作得很好:)祝您好运!
#container {
height:500px;
text-align: center;
background: pink;
display: flex;
align-items: center; /* horizontal center */
flex-direction: column;
justify-content: center; /*vertical center */
}
#div2, #div3 {
width: 50%;
background: orange;
}
#container {
height:500px;
width:100%;
text-align: center;
background-color:blue;
display: table-cell;
vertical-align:middle;
}
#div2, #div3 {
float:left;
text-align:center;
width: 50%;
background-color:orange;
}
#container {
height:500px;
width:100%;
text-align: center;
background-color:blue;
display: table-cell;
vertical-align:middle;
}
#div2, #div3 {
margin: 0 auto;
text-align:center;
width: 50%;
background-color:orange;
}