【发布时间】:2014-07-18 10:52:10
【问题描述】:
我正在尝试将图像水平居中于网页正文的左半部分。总宽度为 957 像素,两半之间有 15 像素的边距,每半边距为 471。右侧实际上有 4 行元素,但我在示例中只包含了 1 行。这些元素需要保持在右半边。
图片大小不一,所以:
- 宽度大于或等于 471 像素的任何图像都将调整为 471 像素宽。
- 宽度小于 471 像素的任何图像都保持其原始大小,并在左半部分水平居中(471 像素宽)。
如果可能的话,我想通过 CSS在不更改 HTML 的情况下做到这一点,但我也想知道应该设置的正确方法。
这是 HTML:
<div class="full-957">
<div class="left-471">
<p class="image-box">
<img id="image" src="http://icons.iconarchive.com/icons/hopstarter/social-bookmark/64/Photobucket-icon.png"/>
</p>
</div>
<div class="right-471">
<div class="row1-left">
<span>
ROW1-LEFT
</span>
</div>
<div class="row1-right">
<span>
ROW1-RIGHT
</span>
</div>
</div>
</div>
这是 CSS:
.full-957 .left-471 { float:left; max-width:471px; margin:0px 15px 15px 0px; }
.left-471 .image-box { width:100%; }
.full-957 .right-471 { float:right; width:471px; margin:0px 0px 15px 0px }
.right-471 .row1-left span { float:left; clear:both; margin:0px 0px 15px; }
.right-471 .row1-right span { float:right; margin:0px 0px 15px; }
回答
.full-957 .left-471 {
float:left;
width:471px;
margin:0px 15px 15px 0px;
}
.left-471 .image-box {
}
.left-471 .image-box img {
max-width:471px;
margin:0 auto;
display:block;
}
.full-957 .right-471 {
float:right;
width:471px;
margin:0px 0px 15px 0px
}
.right-471 .row1-left span {
float:left;
clear:both;
margin:0px 0px 15px;
}
.right-471 .row1-right span {
float:right;
margin:0px 0px 15px;
}
【问题讨论】: