2013-02-12 34 views
0

我想要以编程方式写入页面的链接数量是可变的。我宁愿没有一个长列表,但列出一个或多个列中的链接。然而,我不想强​​制一个具有特定列数的表...而是我想指定列宽(或让每列自动适应最宽的元素)。如何制作调整大小以适应页面宽度的HTML网格?

这是可以使用普通的HTML/CSS?作为参考,我在C#(.NET2)中这样做了,但是如果有人想在代码中使用bash,那么任何伪都是很好的 - 输入就是我想要写入页面的数组/列表。

+1

我相信你可以使用一个_inlined_列表('ul'),每个'li'将有一个固定的宽度。 – 2013-02-12 12:56:59

+0

Hiya @John。您所描述的是您希望实现的一般概念,而Stackoverflow往往更多地帮助您调试代码问题。你可以发布你有什么,所以我们可以建议它的方式? – Barney 2013-02-12 12:57:11

+0

查看CSS3列。 [Quirksmode链接](http://www.quirksmode.org/css/multicolumn.html):“测试2”中的行为可能是您正在寻找的。 – hsan 2013-02-12 13:00:28

回答

2

您可以使用的内联名单。考虑每个项目具有固定宽度的水平列表。

link1.....link2.....link3.....link4..... 
link5.....link6.....link7.....link8..... 
link9.....link10....link11.... 

依此类推。所有你需要的是让你的清单(ul)内嵌,然后每个项目(li)具有固定的宽度。

下面是使用Twitter的引导工作演示(的概念是相同的):http://jsfiddle.net/FXkYr/

如果你不想使用Twitter的引导这里有相关的HTML CSS &你将需要使用:

HTML:

<ul> 
    <li><a href="#">link1</a></li> 
    <li><a href="#">link2</a></li> 
    <li><a href="#">link3</a></li> 
</ul> 

CSS:

ul { 
    margin-left: 0; 
    list-style: none; 
} 

li { 
    width: 100px; 
    display: inline-block; 
    padding-left: 5px; 
    padding-right: 5px; 
    /* The following two lines is because IE is funny... */ 
    *display: inline; 
    *zoom: 1; 
} 
+0

我认为这是一种更好的方式,但是您能否提供一个不依赖于外部文件的独立示例......我必须通过使得理解示例更加困难的引导CSS。 – 2013-02-12 16:07:18

+0

你是对的@约翰,我刚刚更新了我的答案。 – 2013-02-12 19:56:45

1

这里是你可以做的一种方式:http://jsfiddle.net/vYtBM/

有不同的方式加载后,你可以做到这一点,虽然是公平的。通过在每个LI内部具有锚标签的无序列表将是另一种方式。

<div class="container"> 
    <a href="#">Link #1</a> 
    <a href="#">Link #2</a> 
    <a href="#">Link #3</a> 
    <a href="#">Link #4</a> 
    <a href="#">Link #5</a> 
    <a href="#">Link #6</a> 
    <a href="#">Link #7</a> 
    <a href="#">Link #8</a> 
    <a href="#">Link #9</a> 
</div> 

.container { 
    overflow: hidden; 
    width:960px; 
} 

.container a { 
    display: inline-block; 
    width: 440px; 
    padding: 10px; 
    background: #ccc; 
    margin: 0 20px 20px 0; 
    float: left; 
} 
+0

这看起来不错,但我必须对元素宽度进行硬编码。如果必须的话,我可以管理。 – 2013-02-12 13:07:13

+0

您可以将其设置为百分比。我使用的填充和背景只是为了说明布局,但显而易见,您可以修改所有这些以适应您的需求。 – 2013-02-12 13:08:12

+0

百分比示例:http://jsfiddle.net/vYtBM/1/ – estrar 2013-02-12 13:10:47

相关问题