gpt4 book ai didi

css - 具有固定高度和水平滚动的动态宽度容器 div?

转载 作者:太空狗 更新时间:2023-10-29 12:29:00 25 4
gpt4 key购买 nike

我正在尝试获得一个容器 div,它将水平滚动到视口(viewport)之外。有点像全屏幻灯片,开头是 #a,结尾是 #c#a#c都是固定宽度的div,#b是动态宽度的图片内容。我遇到的问题是让 #container 动态更改其宽度以适应 #b。将 #container 宽度设置为自动或 100% 仅使用视口(viewport)宽度。

我追求的是:

[-  viewport width  -]
--#container---------------------------------------
| -------------------------------------------- |
| | #a | #b... | #c | |
| -------------------------------------------- |
---------------------------------------------------

我的标记:

#container {
height:400px;
}
#a {
float:left;
width:200px;
height:400px;
}
#b {
float:left;
width:auto;
height:400px;
}
#c {
float:left;
width:200px;
height:400px;
}


<div id="container">
<div id="a">fixed width content</div>
<div id="b">dynamic width content</div>
<div id="c">fixed width content</div>
</div>

编辑:我可以用表格来做到这一点,但我想尽可能避免这样做。

编辑 2:这是一个使用表格的工作版本:

#container {
height:400px;
background:#fff;
}
#a {
width:200px;
height:400px;
background:#ccc;
}
#b {
height:400px;
background:yellow;
white-space: nowrap;
}
#c {
width:200px;
height:400px;
background:#ccc;
}

<table cellpadding="0" cellspacing="0">
<tr>
<td id="a">
a
</td>
<td id="b">
<img src="..." />
<img src="..." />
<img src="..." />
</td>
<td id="c">
b
</td>
</tr>
</table>

最佳答案

<div id="container">
<div id="a">fixed width content</div>
<div id="b">
<img src="http://karenrothart.com/yahoo_site_admin/assets/images/Landscape_Panorama.13130817_large.jpg" />dynamic width content dynamic width content dynamic width content dynamic width content
</div>
<div id="c">fixed width content</div>
</div>

这是很好的 CSS:

div {
height: 400px;
}

#container {
position: relative; /* needed for absolutely positioning #a and #c */
padding: 0 200px; /* will offset for width of #a and #c; and center #b */
border: green 3px dotted; /* just for the show */
float: left; /* To dynamicaly change width according to children */
}

#a, #b {
position: absolute; /* causes #a and #b to not respect padding of #container and also gives it its place */
top: 0;
width:200px;
left: 0;
}

#c {
right: 0;
}

漂亮而 Shiny 的例子:http://jsfiddle.net/KefJ2/

如果您需要多张图片而不是添加此图片:

#b {
white-space: nowrap; /* causes all direct child elements to be in one line */
}

包含更多图片的示例:http://jsfiddle.net/KefJ2/1/显然,您将不得不在 #b 中尝试文本和图像布局,但这应该很容易:)

关于css - 具有固定高度和水平滚动的动态宽度容器 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7920199/

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