4

*并在填充前一行时开始新行?
这应该有效,但不适合我,
html:

<div id="squares">
<div id="1">
width:150px;
height:150px;
</div>
<div id="2">
width:150px;
height:150px;
</div>
<div id="3">
width:150px;
height:150px;
</div>  
</div>

所以这在页面上建立了 3 个框

CSS:

#squares {
display:inline;
background-color:#000000;
}

css 应该告诉他们排队并且是黑色的,这样我们就可以看到他们,判断他们是否在正确的位置。
我需要添加什么吗?你能想出任何不同的方法来达到这个结果吗?

4

5 回答 5

6

HTML

<div id="squares">
    <div id="1"></div>
    <div id="2"></div>
    <div id="3"></div>
</div>​

CSS

#squares div {
    /* these styles will let the divs line up next to each other
       while accepting dimensions */
    display: block;
    float: left;

    width: 150px;
    height: 150px;
    background: black;

    /* a small margin to separate the blocks */
    margin-right: 5px;
}

使用的替代方法float是使用inline-block样式:

display: inline-block;
zoom: 1;
*display: inline;
于 2012-08-08T19:24:45.453 回答
1

您缺少一个 div 语句,表明它必须应用于 id 为“squares”的 div 内的 div:

css:
#squares div {
display:inline;
background-color:#000000;
}
于 2012-08-08T19:22:32.843 回答
1

最好的方法是使用 display: inline-block;

HTML

<div id="squares">
<div id="1" class="square">
</div><div id="2" class="square">
</div><div id="3" class="square">
</div>
</div>​

请注意 HTML 标记的格式,重要的是避免在使用 display inline-block 时在元素之间获得额外的边距(检查这个

CSS:

.square {
background-color: #000;
display: inline-block;
height: 150px;
vertical-align: top;
width: 150px;
*display: inline;
zoom: 1;
}

出于开发目的,您可以添加: CSS:

.square {outline: 1px solid red;}

所以你可以在不破坏布局的情况下看到它们的尺寸(通过扩展元素的自然宽度)

于 2012-08-08T20:15:16.880 回答
0

我想你不见了;

div {float:left;}
于 2012-08-08T19:20:22.647 回答
0

如果我理解正确,您希望每个 div #1 #2 和 #3 的宽度和高度都为 150px,并且都排成一行,在这种情况下

你想定位每个 div 而不是主要的,像这样

#squares > div {
    display:block;
    float:left;
    width:150px;
    height:150px;
    background-color:#000000;
    margin-right:5px;
}
于 2012-08-08T19:27:26.963 回答