我想得到的是以下图片。
有两个div。内部div位于外部div的中心,文本box1
位于内部div的中心。
css代码无法实现目标。
div.father {
align-items: center;
border: 1px solid black;
display: flex;
height: 300px;
justify-content: center;
left: 50%;
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
width: 300px;
}
div.son {
border: 1px solid black;
height: 100px;
width: 100px;
}
<div class="father">
<div class="son">box1</div>
</div>
如何将box1
放在div.son的中心?
答案 0 :(得分:1)
试试这个,希望会有用。
div.son {
border: 1px solid black;
height: 100px;
width: 100px;
text-align: center;
vertical-align: middle;
line-height: 100px;
}
答案 1 :(得分:1)
这很简单,只需将text-align: center
添加到任何元素以进行水平对齐。
E.g。
div.son {
...
text-align:center; /* horizontal align */
}
对于垂直对齐,如果它是一个单词,你可以像这样使用行高:
div.son {
border: 1px solid black;
height: 100px;
width: 100px;
text-align:center; /* horizontal align */
line-height:100px; /* vertical align */
}
答案 2 :(得分:1)
您可以使用弹性框。 Here's my fiddle
div.father {
border: 1px solid black;
align-items: center;
justify-content: center;
display: flex;
height: 300px;
width: 300px;
left: 50%;
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
/**/
margin-top: 100px;/*only for snippet spacing*/
}
div.son {
border: 1px solid black;
height: 100px;
width: 100px;
align-items: center;
justify-content: center;
display: flex;
}
&#13;
<div class="father">
<div class="son">box1</div>
</div>
&#13;
答案 3 :(得分:0)
尝试这样的事情: https://jsfiddle.net/j1e9qoao/
div.father {
display: flex;
align-items: center;
border: 1px solid black;
height: 300px;
justify-content: center;
left: 50%;
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
width: 300px;
}
div.son {
vertical-align: middle;
display: table-cell;
border: 1px solid black;
height: 100px;
width: 100px;
}
答案 4 :(得分:-1)
你可以尝试这个:
div.son {
border: 1px solid black;
padding: 50px;
}