Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 将项目居中放置位置:相对_Css_Alignment_Css Position_Center - Fatal编程技术网

Css 将项目居中放置位置:相对

Css 将项目居中放置位置:相对,css,alignment,css-position,center,Css,Alignment,Css Position,Center,我有一个菜单,它出现在绝对定位的div上。所有菜单项都必须相对定位,因为绝对定位的div会在一个页面上出现多次,并且在一个实例中会以多种大小出现 当我不知道父div的大小时,如何使用位置:relative将多个项目垂直和水平居中 我知道带负边距的position:absolute技巧,但这种情况需要一些不同的东西 代码如下: .OuterCase { position : absolute; width : 100%; height : 100%; te

我有一个菜单,它出现在绝对定位的div上。所有菜单项都必须相对定位,因为绝对定位的div会在一个页面上出现多次,并且在一个实例中会以多种大小出现

当我不知道父div的大小时,如何使用
位置:relative
将多个项目垂直和水平居中

我知道带负边距的
position:absolute
技巧,但这种情况需要一些不同的东西

代码如下:

.OuterCase { 
  position  : absolute; 
  width     : 100%;  
  height    : 100%; 
  text-align: center;
}

.InnerItem  { 
   width  : 38px;
   height : 38px;
   display: inline-block;
}
我有它的中心项目水平;垂直方向有点难以捉摸。

如果你有一个相对(或其他)定位的div,你可以用
margin:auto


有点小把戏,但也有可能。

或者,您也可以使用。 这是一种创建灵活布局的好方法,也可以应用于中心内容,如下所示:

#parent {
    -webkit-box-align:center;
    -webkit-box-pack:center;
    display:-webkit-box;
}

可以使用
calc
相对于中心定位图元。例如,如果要将元素
200px
从中心向右放置。。您可以这样做:

#your_element{
    position:absolute;
    left: calc(50% + 200px);
}
别忘了这个 当你使用符号
+
-
时,符号和数字之间必须有一个空格,但当你使用符号
*
/
时,不需要空格。

简单得多:

position: relative; 
left: 50%;
transform: translateX(-50%);

您现在位于父元素的中心。您也可以垂直进行此操作。

另一个选项是创建一个额外的包装器,使元素垂直居中

#容器{
边框:实心1px#33aaff;
宽度:200px;
高度:200px;
}
#助手{
位置:相对位置;
高度:50px;
最高:50%;
边框:点1px#ff55aa;
}
#居中{
位置:相对位置;
高度:50px;
前-50%;
边框:实心1px#ff55aa;
}


我们将非常感谢您的codez,因为没有他们回答您的问题有点困难。:)谢谢Bazzz,我添加了代码。你应该添加你的解决方案作为一个单独的答案,并接受这个答案,这样每个人都知道这个问题的答案。我不完全确定你是否需要position:relative。这是一个很好的可读性。。。从未见过CSS格式如此..Mozilla有自己的前缀,-moz。还有一个新的Flexbox,看,这正是我的项目所需要的,虽然不准确,但很好的解决方案。如果您知道元素的宽度和高度,例如w:40,h:30,那么左:calc(50%-20px),右:calc(50%-15px),结果会更好。若水平放置,那个将使元素准确居中