首页 > web前端 > H5教程 > 正文

如何解决table标签和col标签的一系列问题?

php中文网
发布: 2016-06-07 08:43:47
原创
2343人浏览过

我想用一个列表布局输出一系列信息,第一列是序号,第二列是图片,第三列要求文本左对齐。第四列是链接按钮。
我的代码如下:

PHPEIP
PHPEIP

PhpEIP企业信息化平台主要解决企业各类信息的集成,能把各种应用系统(如内容管理系统,网上商城,论坛系统等)统一到企业信息化平台中,整个系统采用简单易用的模板引擎,可自定义XML标签,系统采用开放式模块开发,符合开发接口的模块可完全嵌入到平台;内容管理模块可自定义内容模型,系统自带普通文章模型和图片集模型,用户可以定义丰富的栏目构建企业门户,全站可生成静态页面,提供良好的搜索引擎优化;会员管理模

PHPEIP 0
查看详情 PHPEIP








1 如何解决table标签和col标签的一系列问题? 我是一个字符串

问题1:我注意到h5不支持col标签中的align属性定义左对齐,可是我写在style里也不起作用,如何实现?难道非得在每个th标签里加style="text-align: left"吗?
问题2:我查到其他的解决方案是给第三个col添加左浮动的样式,可是这样一来第三列第四列的大小又变了,第四列的位置也变了..........
问题3:是不是这种布局最好不要用table标签来实现?我看到很多类似的布局都是用各种div、设浮动实现的。但是table比起他们来说有自动垂直居中、排布简单的优点,又让我不忍放弃...

回复内容:

谢邀。

首先,CSS Selectors 4 可以这样:
col.left-aligned || td { text-align: left }

td:nth-column(odd) { text-align: left }

不过目前为止(2016年4月),没有任何一款浏览器支持“||”combinator和nth-column伪类等特性。


下面谈点历史:

之所以直接在 col 上定义样式无效,是一个老问题了。实际上HTML4定义的col上的align属性在现代浏览器上从来没有得到过良好支持(只有始于CSS时代之前的IE支持),原因很简单,因为此设计在CSS1、2乃至3的机制中都无法实现。

按照CSS的模型,一个元素上的CSS样式值要么来自于匹配了自己的规则,要么来自于匹配了祖先元素的规则然后通过继承获得。所以一个cell(td/th)的text-align,要么来自于匹配td/th的规则,要么来自于tr,tbody,table等祖先元素。而col/colgroup不可能是其祖先元素。

因此尽管这个需求被开发者要求了十多年,但是始终未能满足。最终还是需要通过更新CSS规范,创造新的combinator和伪类来实现。


下面谈你这个需求:

一、table元素应该用于真的表格,所谓真的表格即二维数据表。从你的需求来看,其实并不像是真的数据表。因此不建议用table元素。

二、其实你可以使用 nth-child 来实现你要的效果。

以上。
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号