我正在尝试创建一个由四个图像组成的正方形网格,并将它们放置在一些标题文本的右侧,这些标题文本已经居中。
现在我创建了一个plnkr,这是一个非常糟糕的尝试-请原谅我,但我的CSS技能几乎不存在。HTML是:
<div class="header">Square To My Right Please!
<span>
<div>
<span><img src="images/1.gif"></span>
<span><img src="images/1.gif"></span>
</div>
<div>
<span><img src="images/1.gif"></span>
<span><img src="images/1.gif"></span>
</div>
</span>
</div>
这确实得到了我想要的图像的一般盒子网格,但它把它们放在标题文本下面,而不是仅仅在右边。我想当我把东西在它将放置内联,而不是在一个新的行?
标题的css格式为:
.header {
text-align: center;
}
plnkr在这里:http://plnkr.co/edit/9UPppkLcJDd9URgOC8JO
您不能将像<div>
这样的块级元素封装在像<span>
这样的内联元素中。这就像你把一个盒子放在液体里,而不是液体放在盒子里。但无论如何,给span
一个float: right
。
span {float: right;}
<div class="header">
Square To My Right Please!
<span>
<div>
<span><img src="images/1.gif"></span>
<span><img src="images/1.gif"></span>
</div>
<div>
<span><img src="images/1.gif"></span>
<span><img src="images/1.gif"></span>
</div>
</span>
</div>
或者第二个是display: inline-block;
:
span {display: inline-block;}
<div class="header">
Square To My Right Please!
<span>
<div>
<span><img src="images/1.gif"></span>
<span><img src="images/1.gif"></span>
</div>
<div>
<span><img src="images/1.gif"></span>
<span><img src="images/1.gif"></span>
</div>
</span>
</div>
如果你想居中,给vertical-align: middle
。
span {display: inline-block; vertical-align: middle;}
<div class="header">
Square To My Right Please!
<span>
<div>
<span><img src="images/1.gif"></span>
<span><img src="images/1.gif"></span>
</div>
<div>
<span><img src="images/1.gif"></span>
<span><img src="images/1.gif"></span>
</div>
</span>
</div>
我认为你也需要改变你的标记结构,在span
里面写div不是好的做法.floatL {
float: left;
}
.header {
float: left;
width: 100%;
}
<div class="header">
<div class="floatL"><span>Square To My Right Please!</span></div>
<div class="floatL">
<div>
<span><img src="images/1.gif"></span>
<span><img src="images/1.gif"></span>
</div>
<div>
<span><img src="images/1.gif"></span>
<span><img src="images/1.gif"></span>
</div>
</div>
</div>
这个怎么样http://plnkr.co/edit/wOukuoOFssqrJoX0mxqr?p=preview
HTML<div class="header">
<div class="left">Square To My Right Please!</div>
<div class="right">
<span><img src="images/1.gif"></span>
<span><img src="images/1.gif"></span>
<span><img src="images/1.gif"></span>
<span><img src="images/1.gif"></span>
</div>
</div>
Css .left {
float: left;
}
.right {
float: right;
}
.right span img {
display: inline-block;
}