我想要实现的是连续三个具有不同、特定宽度和相等高度的 div。其中两个实际上有内容,而中间一个只包含一个垂直间隔图像。这三个 div 与其他幻灯片一起包含在“幻灯片”div 中。幻灯片都在一个容器 div 中,并由 JavaScript 控制,一次隐藏除一张幻灯片之外的所有幻灯片。请注意,幻灯片不是问题,而是其内容的布局。目前,我只能使第二张幻灯片中的三个 div 彼此重叠,但在第一张幻灯片中有四个 div 时效果很好。这是我到目前为止尝试过但没有奏效的方法:
float:left;
在每个 div 上float:left;
在前两个,然后float:right
在最后一个display:inline;
在每个 div 上display:inline-table;
- 降低宽度,所以它们不精确
- 删除所有边距
clear:left;
在第三个 div 之后clear:both;
在第三个 div 之后- 使用
class
而不是id
(实际上已经改变了事情) - 以上各种组合
我在 Mac OS X 上使用 Eclipse 代码和 Safari 进行测试;一切都是最新的。非常感谢任何帮助,因为我已经尝试了两天半的工作。这是我的代码,如果您需要更多代码来查找问题,请告诉我。
HTML:
<div id="container">
<div class="slide1">
<div id="news-content">
<div id="news-img">
<img src="album_example.png" />
</div>
<div id="news-img-description">
<h2 align="left">Lorem Ipsum</h2>
<p align="left">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam consequat dictum pharetra. Cras porta.</p>
</div>
<div id="news-vr">
<img src="light_vr.png" />
</div>
<div id="news-feed">
</div>
</div>
</div>
<div class="slide2">
<div id="music-content">
<div id="music_albums">
<ul style="list-style-type: none;">
<li><img src="album_test.png" /></li>
<li><img src="album_test.png" /></li>
<li><img src="album_test.png" /></li>
</ul>
</div>
<div id="music_vr">
<img src="light_vr.png" />
</div>
<div id="music_remixes">
</div>
</div>
</div>
<div class="slide3">
<h2>This is slide 3.</h2></div>
<div class="slide4">
<h2>This is slide 4.</h2></div>
</div>
*album_example.png 为 300x300,album_test.png 为 100x100
CSS:
@CHARSET "UTF-8";
h2 {
color: #AAAAAA;
font-family: Arial, Helvetica, sans-serif;
font-size: 150%;
}
p {
color: #AAAAAA;
font-family: Arial, Helvetica, sans-serif;
}
#container {
width: 900px;
height: 500px;
}
.slide1, .slide2, .slide3, .slide4 {
width: 900px;
height: 500px;
}
#news-content {
width: 900px;
height: 500px;
margin: 0;
max-height: 500px;
}
#news-img {
float: left;
width: 300px;
padding: 100px 0 0;
max-height: 300px;
}
#news-img-description {
float: left;
width: 295px;
padding: 160px 15px 0 15px;
max-height: 340px;
}
#news-vr {
float: left;
width: 1px;
padding: 0 2px;
max-height: 500px;
}
#news-feed {
float: right;
width: 300px;
max-height: 500px;
}
#music-content {
width: 900;
height: 500;
margin: 0;
max-height: 500px;
}
#music-albums {
float: left;
width: 447px;
padding: 15px 0 0 0;
max-height: 485px;
}
#music-vr {
float: left;
width: 1px;
padding: 0 2px;
display: inline-block;
max-height: 500px;
}
#music-remixes {
float: left;
width: 448px;
padding: 15px 0 0 0;
display: inline-block;
max-height: 485px;
}
#music-albums, #music-remixes ul
{
margin: 0;
padding: 0;
}
#music-albums, #music-remixes ul li
{
margin: 0 0 1em;
padding: 0;
list-style-type: none;
}