我的div从边界半径出来

时间:2014-01-06 10:11:28

标签: html css

这是我的问题:

我在<h1>内有一个<div>但是当我在border-radius中设置<div>时,<h1>已从div中删除,此处是我的代码:

<div class="test"><h1 class="text">test</h1></div>

.test{
    background: red;
    height: 300px;
    width: 300px;
    border-radius: 150px;
    display: inline-block;
    position: relative;
}
.test .text{
    display: inline-block;
    background: green;
    margin: auto;
    position: relative;
}

这是实时运行

http://jsfiddle.net/n3aru/

4 个答案:

答案 0 :(得分:3)

您的文字实际上不在您的div之外:

enter image description here

视觉刚刚改变,而不是结构。

您可能希望将文字放在中心位置:

.test{
    background: red;
    height: 300px;
    width: 300px;
    border-radius: 150px;
    display: inline-block;
    position: relative;

    text-align: center;
}

.test .text{
    display: inline-block;
    background: green;
    margin: auto;
    position: relative;

    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

jsFiddle

居中技巧:http://css-tricks.com/centering-percentage-widthheight-elements/

答案 1 :(得分:1)

.test{
    overflow: hidden;
}

答案 2 :(得分:0)

设置内部div的边距。像这样:

margin-top:50px;
margin-left:50px;

答案 3 :(得分:0)

一种更简洁的方式来集中文本(如果这就是你所追求的):

.test .text
{
    margin: 0; /* Only need this because h1 elements have default margin. */
    text-align: center;
    line-height: 300px;
}

jsFiddle(取自@nkmol作为基础)。