5

这个问题以前也出现过类似的问题,但我环顾四周,找不到其他人发生这种情况。

我可以制作一个 4x4 的 div 网格以及在 HTML 中使用的图像,但其中一个 div 是我想要的文本(右上角)。当我<p>Some text</p>在该 div 中输入时,它会在左侧的 div 下方,底部两个仍然对齐并在移动的文本 div 下方。

我尝试将高度固定,但没有任何改变,div 只是向上移动,但其他人保持原样。

CSS:

/* Page Content */

.container
    {width: 910px;
    height: auto;
    margin: 0px auto;
    padding-top: 35px;
    position: relative;}

/* Home Page Content */

.gridblock, .gridblock2, .gridtext
    {width: 450px;
    height: 200px;
    padding: 0px;
    position: relative;
    display: inline-block;}

.gridblock
    {margin: 2px;}

.gridblock2, .gridtext
    {margin: 3px, 0px, 3px, 0px;}

.gridtext
    {width: 450px;
    height: 200px;
    position: relative;
    background-color: #f9f9f9;}

HTML:

<div class="container">
    <div class="gridblock">
        <img src="images/homegrid1.jpg" alt="3345 Mastering">
    </div>
    <div class="gridtext">
        <p>Some Text</p>    
    </div>
    <div class="gridblock">
        <img src="images/homegrid2.jpg" alt="3345 Mastering">
    </div>
    <div class="gridblock2">
        <img src="images/homegrid3.jpg" alt="3345 Mastering">
    </div>
    <ul class="footer">
    </ul>

这是一个在线演示:http: //jsfiddle.net/saidbakr/2LCwg/

4

1 回答 1

2

如果我的问题是正确的,那么问题似乎出在 property 上display:inline-block

添加vertical-align:top到您的.gridtext班级:

.gridtext {
    vertical-align:top;
}

它应该修复它。这是一个工作小提琴

这是一篇关于 display:inline-block 属性的有趣文章

或者,您可以删除该display:inline-block属性(默认情况下,您的 div 将显示为块)并给它们浮动:

.gridblock, .gridblock2, .gridtext {
    width: 450px;
    height: 200px;
    padding: 0;
    position: relative;
    float:left;
}

此外,当您使用图像时,您可以添加overflow:hidden到上述类中,以确保这些图像不会扩展出其容器并弄乱网格。

.gridblock, .gridblock2 {
    overflow:hidden;
}
于 2012-12-25T23:15:01.757 回答