CSS定位,需要一些建议

时间:2014-01-02 12:03:41

标签: javascript html css css-position

这是我的HTML代码

<div id="container">
        <div id="topleft"></div>
        <div id="topright"></div>
        <div id="bottomleft"></div>
        <div id="bottomright"></div>
    </div>

这是我的css代码

#container{
    width: 400px;
    height: 400px;
    background-color: red;
    margin: 0 auto;

}

#topright{
    width: 50px;
    height: 50px;
    background-color: black;
    position: relative;
    top:0px;
    right:0px;
}
#topleft{
    width: 50px;
    height: 50px;
    background-color: black;
    position:relative;
    top:0px;
    left:350px;
}

#bottomright{
    width: 50px;
    height: 50px;
    background-color: black;
    position: relative;
    top:250px;
    right:0px;
}
#bottomleft{
    width: 50px;
    height: 50px;
    background-color: black;
    position:relative;
    top:250px;
    left:350px;
}

这是输出 http://s23.postimg.org/dhgy9mpq3/image.png

我需要获得的是,所有4个黑色方块都位于红色方块的角落,就像在这张图片中一样,我应该更改或添加代码?谢谢 http://postimg.org/image/r5kv15l5v/

5 个答案:

答案 0 :(得分:6)

position:relative添加到#containerposition:absolute添加到内部div。

您可以将常用属性与逗号结合使用,例如

#bottomright,#bottomleft{css properties}

CSS:

#container {
    position: relative;
}
#container > div {
    width: 50px;
    height: 50px;
    background-color: black;
    position: absolute;
}
#bottomright, #bottomleft {
    bottom:0;
}
#topright, #topleft {
    top:0;
}
#bottomleft, #topleft {
    left:0;
}
#bottomright, #topright {
    right:0;
}

DEMO here.

答案 1 :(得分:1)

solution

为什么你的css失败了?对于底层对齐,请使用bottom:0;left:0;而不是topright ....这是正确的语义,否则会失败position的概念...也是,让孩子absolute和父母relative !! :)

 #container {
        width: 400px;
        height: 400px;
        background-color: red;
        margin: 0 auto;
        position: relative;
    }
    #topright {
        width: 50px;
        height: 50px;
        background-color: black;
        position: absolute;
        top:0px;
        right:0px;
    }
    #topleft {
        width: 50px;
        height: 50px;
        background-color: black;
        position:absolute;
        top:0px;
        left:0;
    }
    #bottomright {
        width: 50px;
        height: 50px;
        background-color: black;
        position: absolute;
        bottom:0;
        right:0px;
    }
    #bottomleft {
        width: 50px;
        height: 50px;
        background-color: black;
        position:absolute;
        bottom:0;
        left:0;
    }

答案 2 :(得分:0)

制作#container position relative。在absolute

里面的div

完整代码

#container{
    width: 400px;
    height: 400px;
    background-color: red;
    margin: 0 auto;
    position: relative; //change

}

#topright{    
    width: 50px;
    height: 50px;
    background-color: black;
    position: absolute; //change
    top:0px;
    right:0px;
}
#topleft{
    width: 50px;
    height: 50px;
    background-color: black;
    position:absolute; //change
    top:0px;
    left:0px;  //change
}

#bottomright{
    width: 50px;
    height: 50px;
    background-color: black;
    position: absolute;
    bottom:0px; //change
    right:0px;
}
#bottomleft{
    width: 50px;
    height: 50px;
    background-color: black;
    position:absolute; //change
    bottom:0px; //change
    left:0px; //change
}

答案 3 :(得分:0)

Demo

#container{
    width: 400px;
    height: 400px;
    background-color: red;
    margin: 0 auto;
    position: relative;

}

#topright{    
    width: 50px;
    height: 50px;
    background-color: black;
    position: absolute;
    top:0px;
    right:0px;
}
#topleft{
    width: 50px;
    height: 50px;
    background-color: black;
    position:absolute;
    top:0px;
    left:0;
}

#bottomright{
    width: 50px;
    height: 50px;
    background-color: black;
    position: absolute;
    bottom:0px;
    right:0px;
}
#bottomleft{
    width: 50px;
    height: 50px;
    background-color: black;
    position:absolute;
    bottom:0;
    left:0;
}

答案 4 :(得分:0)

以下css将起作用

#container {
    background-color: #FF0000;
    height: 400px;
    margin: 0 auto;
    position: relative;
    width: 400px;
}
#topleft {
    background-color: #000000;
    height: 50px;
    left: 0;
    position: absolute;
    top: 0;
    width: 50px;
} 

#topright {
    background-color: #000000;
    height: 50px;
    position: absolute;
    right: 0;
    top: 0;
    width: 50px;
}
#bottomleft {
    background-color: #000000;
    height: 50px;
    left: 350px;
    position: absolute;
    top: 350px;
    width: 50px;
}
#bottomright {
    background-color: #000000;
    height: 50px;
    left: 0;
    position: absolute;
    top: 350px;
    width: 50px;
}