Css:没有<表格>的画廊视图
css: gallery view without <table>
我想创建一个12个缩略图(4X3)的页面。
我希望它们在某个div中均匀而美观地分布。
我知道使用<table>
标记样式是一个不好的做法。
- 我如何传播它们?
- 我想要各种窗口风格的文件类型图标的缩略图(办公文档,jpg,视频,音频)。有什么有用的入门框架吗?
TIA
如果您的数据是表格式的,也就是适合于表格,那么无论如何都要使用<table>
(这就是为什么他们把它放在规格中),但如果您正在制作像画廊这样的东西,其唯一的目的是显示图像,请继续阅读
不需要框架。只需将它们全部浮动,并每隔4个图像清除一次。
下面是一个工作示例
它使用CSS nth-child
伪选择器,这在IE8中不支持-,但话又说回来,display: table-*
也不支持,所以你很好。本例中使用的代码(仅CSS):
#grid img {
width: 50px;
float: left;
border: 2px solid black;
margin: 5px;
padding: 2px;
}
#grid img:nth-child(4n+1) { /* Counting starts from 0 */
clear: both;
}
你可以这样写:
http://jsfiddle.net/45TwK/1/但这完全取决于你的方便
除了真理的答案:如果你也想要IE8的支持,我会这样做:http://jsfiddle.net/HcP7q/
如果你也想要IE6+7的支持,我会选择表格——如果你需要一个表格式的布局,使用表格并没有什么错。
只使用div
's,这可以确保你在布局上的灵活性。
<div class="gallery">
<div class="first"><img src="someimage.png" alt="alt-text"></div>
<div><img src="someimage.png" alt="alt-text"></div>
<div><img src="someimage.png" alt="alt-text"></div>
<div class="last"><img src="someimage.png" alt="alt-text"></div>
<div class="first"><img src="someimage.png" alt="alt-text"></div>
<div><img src="someimage.png" alt="alt-text"></div>
</div>
CSS .gallery { overflow: hidden; width: 230px; padding: 10px; }
.gallery > div { width: 40px; margin-right: 10px; float: left; }
.gallery > div.last { margin-right: 0; }
这种技术使用了更多的HTML (.first
和.last
类,但你必须为此责怪IE,而不是我)
相关文章:
- 如何使用javascript从主svg对象动态创建svg视图框
- 正在使用$location.path(.)路由ng视图
- angular.js没有'无法在PhoneGap中处理视图标记
- 如何包含特定于每个视图angularjs的javascript文件
- 通过在Dojo mobile ViewController.openExternalView中动态更改打开同一外部视图的
- Kendo:我该如何在树视图中创建一个递归的hieiarchy
- Ajax Live搜索发布到Laravel视图
- backbone.js无法渲染视图
- 我应该使用Ng提交还是点击表格
- CSS表格:从列平移到整个表格宽度
- 根据某些条件在视图之间切换
- ng视图外的链接重定向到ng视图内的页面
- 将HTML表格导出到excel时,无法将数据加载到excel文件中
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 使用AngularJS在视图中预先填写并提交表格
- Css:没有<表格>的画廊视图
- 通过第一列创建一个可展开的表格视图单元格
- 使用jquery动态显示表格视图
- 转换JavaScript数组,创建表格视图
- JavaScript:表格视图中的按钮