0

我试图在 div 的确切中心将三角形居中,但我做不到。它将自己定位在 div 的中间,但只是水平对齐而不是垂直。我做了margin: 0 auto;但仍然不起作用。我也尝试display: table; margin: 0 auto;过内部 div 给margin: 0 auto;外部 div ,但没有。我也尝试过display: inline-block;,没有结果。我不知道为什么!有人有什么想法吗?

我的简单代码是: jsfiddle.net/

4

2 回答 2

2

选项很少。

我最喜欢的是给外部 div 一个绝对位置,给内部一个相对位置,然后使用 top:50% 垂直定位。您还需要添加三角形高度一半的负边距,因为 top:50% 将使三角形顶部居中而不是中间。

#main_content {
    width: 300px;
    height: 300px;
    background-color: red;

    position: absolute;
}


#container {
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 25px 43.3px 25px 0;
    border-color: transparent #007bff transparent transparent;

    position: relative;
    top:50%;
    margin:  -21.65px auto; //Half the height of your triangle
}
于 2013-10-28T09:36:25.827 回答
0

您可以设置 main_content 的 display:table-cell ,然后使用 vertical-align: middle;

#main_content {
    width: 300px;
    height: 300px;
    background-color: red;
    display: table-cell;
    vertical-align: middle;
}
于 2013-10-28T09:14:05.637 回答