html - float 问题 : content jumping out of parent div

标签 html css css-float

我知道如果我 float 一个元素,如果它们自己没有设置 float 或至少清除 float ,则后续元素最终会消失在该元素后面。就像本例中的 »box three« 一样。但是为什么第三个框的内容会跳出div呢?数字 3 或盒子的任何潜在内容不应该在内部»第三个盒子«吗?

http://jsfiddle.net/7vw4Leg5/

<div class="box one">1</div>
<div class="box two">2</div>
<div class="box three">3</div>

.box {
    text-align: center;
    font-size: 30px;
    color: red;
    margin: 5px;
    width: 200px;
    height: 100px;
    background: grey;
}
.two {
    border: 2px solid red;
    float: left;
    opacity: 0.66;
}
.three {
    opacity: 0.33
}

*编辑:

这里是另一个例子来解释我不明白的问题。 为什么二号不在蓝色框内? @Terry:好的,如果我减小第一个框的宽度,内容会跳上一行并进入 div。但为什么它一开始就不存在呢?盒子是空的,空间不够用吗?

http://jsfiddle.net/utsc84pq/

<div class="box one">1</div>
<div class="box two">2</div>

.box {
    font-size: 40px;
    margin: 5px;
    width: 300px;
    height: 150px;
}
.one{
    float: left;
    border: 5px solid rgba(255, 154, 188, 0.9);
    background-color: rgba(255, 165, 0, 0.25);
}
.two {
    position: relative;
    top: 170px;
    border: 5px solid rgba(35, 154, 255, 0.5);
    background-color: rgba(100, 165, 255, 0.25);
}

最佳答案

试试这个。

.box {
    text-align: center;
    font-size: 30px;
    display:block;
    color: red;
    margin: 5px;
    width: 200px;
    height: 100px;
    line-height:100px;
    background: grey;
}

.one{
    border:1px solid green;
    display:block;
    
}
.two {
    
    border: 1px solid red;
    opacity: 0.66;
}
.three {
 border: 1px solid yellow;
    opacity: 0.66;
}
<div class="box one">1</div>
<div class="box two">2</div>
<div class="box three">3</div>

关于html - float 问题 : content jumping out of parent div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32340004/

相关文章:

html - 如何在 IE 7 中正确清除它?

javascript - 如何将红色边框与必填属性一起添加到输入字段?

java - 更改未在 Eclipse 中更新

左侧CSS导航,右侧图片

Css 背景/背景位置问题

html - 空的 HTML 标签

html - IE 中的文字过渡动画效果问题(不知道为什么) HTML+ CSS3

javascript - 使用 bootstrap,让 slide 上下滚动,而不是左右滚动

html - 位置固定元素在滚动时移动

IE9 和 float div 对齐的 CSS 问题