gpt4 book ai didi

仅 CSS : How can I center fixed width div between two divs that fill the remaining space?

转载 作者:技术小花猫 更新时间:2023-10-29 10:38:10 25 4
gpt4 key购买 nike

JSFIDDLE

编辑:试图实现与 this 相反的结果.
(而不是在两侧设置 2 个固定宽度的 div,在中间设置一个宽度可变的 div,
我正在尝试在两侧设置 2 个宽度可变的 div,在中间设置一个宽度的 div居中)

我有 3 个 div:A、B 和 C。

B 需要位于 A 和 C 之间。

What I need to do

我目前所做的与上面发生的事情非常相符。但是,如果 A、B 和 C 的容器宽度不一致,一些浏览器会将 A 和 C 的宽度四舍五入,而另一些则向上舍入(分别使 C 长 1px 和短 1px)。

注意 C

右边的额外像素

请注意 C 右侧的空间变窄了一个像素。

我不在乎我需要多少嵌套 div,但我在这上面花费了太多时间!如果有人已经有了解决此问题的万无一失的解决方案,请分享!

注意事项:
- A、B 和 C 的父级不能 overflow hidden 。
- A、B 和 C 不能重叠(它们具有半透明的 png)

这是我的起点: JSFIDDLE

最佳答案

这里有两种工作方式,都带有警告(警告,都需要包装器):

HTML

<section class="wrapper">
<div class="column" id="a"></div>
<div class="column" id="b"></div>
<div class="column" id="c"></div>
</section>​​​​​​​​​​​

基础 CSS

.column {
height: 3em;
}

#a {
background-color: red;
}
#b {
background-color: green;
}
#c {
background-color: blue;
}

#b {
width: 50px;
}

CSS3 方法:

.wrapper {
display:box;
box-orient:horizontal;
box-align:stretch;
}

#a, #b {
box-flex:1.0;
}

警告:仅在 Firefox 和 Webkit (Chrome/Safari) 中支持(到目前为止),两者都需要前缀规则。以上就是总有一天会发生的事情。

这是一个带前缀的演示:http://jsfiddle.net/crazytonyi/cBVTE/

表格显示方法

.wrapper {
display: table;
width: 100%;
table-layout: fixed;

}
.column {
display: table-cell;
}

警告:IE 直到 7 或 8 才开始支持这种显示类型。另一方面,担心旧版 IE 的用户就像担心仍然关闭 cookie 和 javascript 的人一样。他们要么 catch ,要么习惯于分页。结束迎合!

这是一个使用上面的演示:http://jsfiddle.net/crazytonyi/kM46h/

在这两种情况下,都不需要 float 或定位,只需要对旧版浏览器竖中指即可。多大取决于您选择的方法。

关于仅 CSS : How can I center fixed width div between two divs that fill the remaining space?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10593405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com