我有一个我想要横向布置的项目列表。它基本上是一排带有字幕的图片。像
这样的东西picture1 picture2 picture3
caption1 caption2 caption3
所以我认为这是一个无序列表,其中List元素的样式为“display:inline”。但是字幕必须是块元素,否则它们就像这样打印出来:
picture1 caption1 picture2 caption2 ...
但是当它们是块元素时,列表保持垂直:
picture1
caption1
picture2
caption2
picture3
caption3
在这种情况下,我是否需要使用浮动div而不是列表?什么是使这项工作的最佳方式?
以下是使用div而不是图像的完整示例。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" >
<head>
<title>Blah</title>
<style type="text/css">
.myclass li{
list-style: none;
display: inline;
}
.item{
display: inline;
}
</style>
</head>
<body>
<div class="myclass">
<ul>
<li><div class="item"><a href="http://google.com">one</a><p>uno</p></div></li>
<li><div class="item"><a href="http://google.com">two</a><p>dos</p></div></li>
<li><div class="item"><a href="http://google.com">three</a><p>tres</p></div></li>
</ul>
</div>
</body>
</html>
答案 0 :(得分:0)
每当你有一个块级元素时,所有布局都会向下移动,即使它的容器是内联显示的。
浮动你的LI是要走的路;这样你就可以拥有任何内容。
答案 1 :(得分:0)
您不需要div
。只需将.myclass li
设置为display: inline-block
。
答案 2 :(得分:0)
li元素中的div是多余的。这是最简单的方法:
HTML:
<ul id="captions">
<li><a href="#"><img /></a><p>Caption here</p></li>
<li><a href="#"><img /></a><p>Caption here</p></li>
<li><a href="#"><img /></a><p>Caption here</p></li>
<li><a href="#"><img /></a><p>Caption here</p></li>
</ul>
CSS:
#captions {
list-style:none;
margin:0;
padding:0;
}
#captions li {
list-style:none;
margin:0;
padding:0;
width:200px;
height:220px;
float:left;
text-align:center;
}