html – 让浮动子元素确定父宽度

前端之家收集整理的这篇文章主要介绍了html – 让浮动子元素确定父宽度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是一个例子

http://jsfiddle.net/BringMeAnother/LwXhE/

// html
<div class="container clearfix">
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
</div>

// css
.container {
    background: red;
    padding: 10px;
}
.child {
    width: 100px;
    height: 100px;
    float: left;
}
.child:nth-child(even) {
    background: green;
}
.child:nth-child(odd) {
    background: blue;
}

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

红色背景的容器似乎总是伸展到100%.我想做的是让它的宽度取决于漂浮的孩子,所以在这种情况下,3倍100px.

我想要这个的原因如下.在灵活的布局中,我有一个容器,其中包含几个不同大小的子元素.这些孩子的宽度和数量可能会有所不同.孩子们总是漂浮着.目标是让漂浮的孩子居中.所以,如果我总是有一个子元素,我只需将其margin-right和margin-left设置为auto.但是,有几个孩子我希望彼此相邻,但是在水平订购之后,我希望那一行在页面上居中.我不能给容器一个固定的宽度,因为儿童的数量和他们的每个宽度都没有提前确定.

我想我可以用javascript做到这一点,但我想知道是否有一个纯粹的CSS解决方案.谢谢

解决方法

除了Adsy建议(将容器的位置设置为固定),您可以:

1)在容器上使用绝对位置:

HTML:

<div class="container">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>

CSS:

.container {
    background: red;
    padding: 10px;
    position:absolute;
}
.child {
    width: 100px;
    height: 100px;
    float: left;
}
.child:nth-child(even) {
    background: green;
}
.child:nth-child(odd) {
    background: blue;
}

http://jsfiddle.net/tKz8b/

2)在容器上设置一个浮子,如果你需要相对/静态定位,这是好的:

HTML:

<div class="container">
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
</div>
<div class="clearfix"></div>
<div>Next</div>

CSS:

.container {
    background: red;
    padding: 10px;
    float: left;
}
.child {
    width: 100px;
    height: 100px;
    float: left;
}
.child:nth-child(even) {
    background: green;
}
.child:nth-child(odd) {
    background: blue;
}

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

http://jsfiddle.net/LYrWx/1/

原文链接:https://www.f2er.com/html/231558.html

猜你在找的HTML相关文章