首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多列中显示信息的最佳方式是什么?

问在多列中显示信息的最佳方式是什么?
EN

Stack Overflow用户
提问于 2009-04-24 11:17:01
回答 3查看 1.4K关注 0票数 2

我有一个基本的页面布局,并希望以列的形式排列信息。

我已经设法做到了这一点,但我觉得我用了一种非常糟糕的方式。

我做了一个叫做'leftlayer‘的图层和样式,它漂浮在左边。然后是两层,它的样式叫做'leftlayer2‘,它也漂浮在左边,以保持我想要的信息的顺序。然后是一个叫做“rightlayer”的层,它漂浮在右边。

我应该改用表格,还是把所有东西都放在不同的层中?最好的方法是什么?

我的代码:

代码语言:javascript
复制
<html>
<head>
<title>Test page</title>
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<div id="Layer0">
<div id="Layer1" class="Layer1">
<h3 align="left">A menu</h3>
<div align="left">
<ul class="BLUE">
<li><a href="#">item 1</a></li>
<li><a href="#">item 2</a></li>
</ul>
</div>
</div>
<div id="Layer2">
<h1>Artcile heading</h1>
<div id="leftlayer" class="leftlayer">
<p><strong>Random info 1: </strong>blah
</p>
<p><strong>Random info 2: </strong>blah blah
</p>
<p><strong>Random info 3: </strong>anything
</p>
<p><strong>Random info 4: </strong>more text
16:46:29 </p>
<p><strong>Random info 5: </strong>and so on
</p>
<p><strong>Random info 6: </strong>such as
</p>
<p><strong>Random info 7: </strong>sport
</p>
</div>
<div class="leftlayer2">
<p><strong>Random info 1: </strong>blah
</p>
<p><strong>Random info 2: </strong>blah blah
</p>
<p><strong>Random info 3: </strong>anything
</p>
<p><strong>Random info 4: </strong>more text
16:46:29 </p>
<p><strong>Random info 5: </strong>and so on
</p>
<p><strong>Random info 6: </strong>such as
</p>
<p><strong>Random info 7: </strong>sport
</p>
</div>
<div class="leftlayer2">
<p><strong>Random info 1: </strong>blah
</p>
<p><strong>Random info 2: </strong>blah blah
</p>
<p><strong>Random info 3: </strong>anything
</p>
<p><strong>Random info 4: </strong>more text
16:46:29 </p>
<p><strong>Random info 5: </strong>and so on
</p>
<p><strong>Random info 6: </strong>such as
</p>
<p><strong>Random info 7: </strong>sport
</p>
<form name="testForm">
<p><input name="radiobutton" value="test1" type="radio">Test</p>
<p><input name="radiobutton" value="test2" type="radio">test</p>
<p><input name="radiobutton" value="test3" type="radio">Test</p>
<p><input name="radiobutton" value="test4" type="radio">test</p>
<input name="Submit" value="Update" type="submit">
</form>
</div>
<div id="rightlayer">
<a href="#">
<img src="img.jpg" height="300" width="199">
</a>
<p>
<a href="#">Click for full description </a>
</p>
<p><a href="#">DELETE</a>
</p>
</div>
<div id="Layer3">
<h1>A list of records</h1>
<table border="0" width="85%">
<tbody>
<tr>
<td width="15%"><strong>Column 1</strong></td>
<td width="10%"><strong>Column 2</strong></td>
<td width="65%"><strong>Column 3</strong></td>
<td width="10%"><strong>Column 4</strong></td>
</tr>
<tr id="article_250405322811">
<td><a href="#">Some info</a></td>
<td><a href="#">more info</a></td>
<td><a href="#">Even more info</a></td>
<td>No more info</td>
</tr>
</tbody>
</table>
</div>
<div id="tablefooter" class="tablefooter">
<div id="tablefooterleft" class="tablefooterleft"><a href="#">&lt;&lt;-First</a>
<a href="#" onclick="updateByPage('Layer3', 'Hardy', '1')">&lt;-Previous</a>
-----------------------------------------------------------------
<a href="#" onclick="updateByPage('Layer3', 'Hardy', '2')">Next -&gt; </a>
<a href="#" onclick="updateByPage('Layer3', 'Hardy', '7')"> Last-&gt;&gt;</a>
</div>
</div>
</div>
</div>
</body>
</html>

css:

代码语言:javascript
复制
#Layer0 {
  width: 100%;
  height: 100%;
}

body{
margin:10px 10px 0px 10px;
padding:0px;
color:#999999;
font-family:"Trebuchet MS",arial,sans-serif;
font-size:70.5%;

}

#Layer2 {
background:#fff;
color:#000;
voice-family: "\"}\"";
voice-family: inherit;
padding:20px;

}

#Layer2 p {color:#888;}

#Layer2 a, a:link { color:#006633; text-decoration: none;}

#Layer2 a:hover, a:active{ color:#FF6666; text-decoration: none;}

html>body #Layer2 {
}

p,h1,pre {
margin:0px 10px 10px 10px;
font:Arial, Helvetica, sans-serif;
font-size:12px;
line-height: 1.6em;
text-align:justify;
text-decoration:none;
}

h1 {
font-size:2.5em;
text-align: center;
color:#ccc;
padding-top:15px;

}

h3 {
font-size:14px;
color:#999;

}

.leftlayer {
  float: left;
  left: 20%;
  width: 20%;
  height: 100%;
  margin-right: 10%;
}
.leftlayer strong {
  text-align: left;
}
.leftlayer2 {
  float: left;
  width: 20%;
  height: 100%;
  margin-left: 2%;
}
#rightlayer {
  float: left;
}
#Layer3 {
  float: bottom;
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-04-24 11:42:19

不,你不应该使用表格!< div >标签是正确的布局方式!

在internet上阅读有关CSS列布局的信息:

对于频繁的建议I don't recommend CSS grids也是如此。

另外:

  • 你遗漏了你的body标签
  • 你应该缩进你的代码,它很难像

那样阅读

票数 4
EN

Stack Overflow用户

发布于 2009-04-24 12:25:33

布局方面坚持使用<div>方法,但要使用<table>标记显示常规的表格数据(如表中的记录)(这正是最初引入该标记的原因)。

要掌握基于div的布局技巧,需要更好地理解CSS positioning model.

票数 2
EN

Stack Overflow用户

发布于 2009-04-25 07:03:11

在我看来,在多列中显示信息的最好方法是使用网格框架,如Blueprint CSS。

(表格是一个禁忌。使用div+ CSS)

Blueprint (和其他类似的框架)是

  • 非常易于使用
  • 允许您非常轻松地创建/调整您希望的任意数量的列
  • 适用于所有浏览器(包括IE6)
  • 允许您轻松地进行非常复杂的网格布局(创建简单的2列或3列仍然非常容易)

<代码>F210

在我看来,手工编码的布局--尽管它们工作得很好--伸缩性不好,当您试图添加额外的布局元素时,通常需要进行大量重新设计。使用网格框架的布局非常容易维护,而且您可以立即启动并运行(对于所有类型的布局,简单和复杂)。试一试:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/785437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档