css - 如果没有向右浮动的 div,如何让向左浮动的 div 展开

标签 css html

我有一个 div,它包含三个等长的子 div,右边有一个图像 div(它可以是一个子 div,但不一定是)。我的 CMS 工作方式 我可以使用语句 [if image] 使图像 div 在加载图像时显示。但是如果没有图像,我无法告诉前三个子 div 表现不同。如果没有图像,我希望它们像父对象一样为 800px,但如果有图像,则为 490px,以便为图像腾出空间让图像向右浮动。不幸的是,我的 CMS 的“if”函数没有“else”函数。

父 div 是故事,因此 CMS 加载的页面上有多个父 div。如果有图像,我希望 CMS [if image] 显示为下面的狗。 http://i2.photobucket.com/albums/y44/elfshadowreaper/example1.jpg

但对于没有图像的故事,我希望子 div 的宽度像这样增加到 800px。 http://i2.photobucket.com/albums/y44/elfshadowreaper/example2.jpg

这是我的基本代码: HTML

<div class="parent_div">
    <div class="child_div_a">
    </div>
    <div class="child_div_b">
    </div>
    <div class="child_div_c">
    </div>
</div>

<div class="image_div"> <!-- this doesn't have to be outside the parent div if it'll work that way-->
    <img src="www">
</div>

CSS

.parent_div {
    width: 800px;
    float: left;
}
.child_div_a {
    width: 490px;
    float: left;
}
.child_div_b {
    width: 490px;
    float: left;
}
.child_div_c {
    width: 490px;
    float: left;
}
.image_div {
    width: 300px;
    float: right;
}

最佳答案

我认为你把情况复杂化了。只有图像需要向右浮动。另一个 div 不需要应用任何 float 。

这是一个 fiddle 来演示我在说什么。将图像 div 放在父级内部的其他 div 之前

http://jsfiddle.net/NY2G3/1/

<div>
    <div  style='float:right; display: block; width: 300px;'><img style='width: 300px;' src='http://image.motortrend.com/f/oftheyear/car/1301_2013_motor_trend_car_of_the_year_tesla_model_s/41007848+w623+h388+cr1+ar0/2013-Tesla-Model-S-front-three-quarter-2.jpg' /></div>
    <div>span 1span 1span 1span 1span 1span 1span 1span 1span 1span 1span 1span 1span 1span 1span 1span 1span 1span 1span 1span 1span 1span 1</div>
 <div>span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2span 2</div>
 <div>span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3span 3</div>

</div>

div 将为 float 元素腾出空间。
如果图像 div 不存在,则 div 将占据父 div 的整个宽度。

http://jsfiddle.net/NY2G3/2/

关于css - 如果没有向右浮动的 div,如何让向左浮动的 div 展开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19797631/

相关文章:

javascript - 在不使用 &lt;input type ="text"> 的情况下创建输入文本框

javascript - 为什么此代码不适用于 svg 元素?

html - 内部 div 弹出布局

jquery - 喜欢在菜单上可见

html - 样式等级优于所有标题 (h1-h6)

html - 如何制作具有透明度的框阴影插图?

asp.net - 如何在 <td> 中制作 2 行

javascript - 响应标题宽度两个重叠图像

javascript - 收到 document.body 错误。帮助!

html - 如何创建支持跨浏览器的半实心、半透明渐变背景图像?