一、table td的宽度详解

Table只有Table的宽度是可以设置的,并且各个浏览器理解一致

  • 原则上应该将table的宽度设置成一个固定的值,而不应该设置成一个根据屏幕变化的值
  • Table的宽度为600px,Table的td所有宽度总和不到600px,浏览器会自动按照td的宽度的比例算出宽度
 <table style="width: 600px;border-collapse: collapse;border:1px solid" >
<tr>
<td style="width: 200px;">我是200px</td>
<td style="width: 200px;">我也是200px</td>
</tr>
</table>

运行结果:两个td都是300px;

  • Table的宽度为600px,前两个td的宽度已经为600px,那么第三个td的宽度没有指定,这样的话第三个td的宽度是根据内容出现宽度的,然后前两个再按照比列计算、

前两个td小于table宽度,那么最后一个td就起到补全的作用

<table style="width: 600px;border-collapse: collapse;border:1px solid">
<tr>
<td style="width: 300px;">我是200px</td>
<td style="width: 300px;">我也是200px</td>
<td>我是根据内容的</td>
</tr>
</table>
  • 如果一行文字太多,可以在<td>的样式中加入word-break: break-all(强制换行)

二、两个table水平并排显示

  可以在外面再套个一行两列的大表格,左右两个单元格里再放表格

<table>
<tr>
<td><table>....</table><td>
<td><table>....</table><td>
<td><table>....</table></td> //同样可以设置一行3个表以上的
</tr>
</table>

三、Table中双虚线

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; border-collapse: collapse">
<tbody>
<tr>
<td style="border-bottom: black 3px double; width: 40%">
收費項目</td>
<td style="border-bottom: black 3px double; width: 20%">
價格</td>
<td style="border-bottom: black 2px double; width: 20%">
每日數量</td>
<td style="border-bottom: black 2px double;width: 20%">
港幣$</td>
</tr>
<!--StartHotelExpert--> <tr>
<td>
{FeeName}</td>
<td>
{Price}</td>
<td>
{Quantity}</td>
<td align="right">
{TotalPrice}</td>
</tr>
<!--EndHotelExpert--> <tr>
<td>
&nbsp;</td>
<td>
&nbsp;</td>
<td>
&nbsp;</td>
<td style="border-bottom: black 3px double; text-align: right; border-top: black 2px double">
<strong>{GrandTotal}</strong></td>
</tr>
</tbody>
</table>

  在td中设置border,<td style="border-bottom: black 3px double; width: 40%">

  注意:双虚线时需要设置为3px,而2px会叠在一起,没有效果。

四、Table中tr间距的设置

  tr、td设置margin 无效;tr 设置padding无效、td设置padding有效

  table中的tr的默认display:table-row,虽然可以修改为display:block但是就失去了tr特有的显示效果,如(td自动对齐);

解决方案:

css的两个属性:

border-collapse:collapse / separate

border-spacing:10px 10px;      // 设置相邻单元格的边框间的距离(仅用于“边框分离”模式)

需要用border-collapse & border-spacing联合控制tr的间距.

  • border-collapse 属性设置表格的边框是否被合并为一个单一的边框,还是象在标准的 HTML 中那样分开显示。

Separate: 默认值。边框会被分开。不会忽略 border-spacing 和 empty-cells 属性。

Collapse: 如果可能,边框会合并为一个单一的边框。会忽略 border-spacing 和empty-cells 属性。

  • border-spacing: 该属性指定分隔边框模型中单元格边界之间的距离。在指定的两个长度值中,第一个是水平间隔,第二个是垂直间隔。除非 border-collapse 被设置为 separate,否则将忽略这个属性。尽管这个属性只应用于表,不过它可以由表中的所有元素继承。

如:<table style="border-collapse:separate; border-spacing:50px 10px;">

<tr></tr></table>

大致效果如下

五、Table中列太多支持左右滚动

<div id="divList" style="overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling: touch;width: 100%;">
<table class="CommonTable" id="orderlist" style="margin-bottom: 10px; left: 0;table-layout:fixed;">

white-space属性指定元素内的空白怎样处理:

  nowrap:文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。

overflow-x 属性规定是否对内容的左/右边缘进行裁剪 - 如果溢出元素内容区域的话:

  auto:如果溢出框,则应该提供滚动机制。

table-layout属性用来显示表格单元格、行、列的算法规则:

  默认是auto,可以改为fixe。

固定表格布局:

固定表格布局与自动表格布局相比,允许浏览器更快地对表格进行布局。

在固定表格布局中,水平布局仅取决于表格宽度、列宽度、表格边框宽度、单元格间距,而与单元格的内容无关。

通过使用固定表格布局,用户代理在接收到第一行后就可以显示表格。

自动表格布局:

在自动表格布局中,列的宽度是由列单元格中没有折行的最宽的内容设定的。

此算法有时会较慢,这是由于它需要在确定最终的布局之前访问表格中所有的内容。

【CSS】Table样式的更多相关文章

  1. css table样式

    1.table样式首先设置表格边框,属性设置表格的边框是否被合并为一个单一的边框. table{ border-collapse: collapse; border-spacing: 0;} 2.固定 ...

  2. table完美css样式,table的基本样式,table样式

    table完美css样式,table的基本样式,table样式 >>>>>>>>>>>>>>>>> ...

  3. css 设置table样式

    <style type="text/css" >      table tr td{height:39px; font-size: 13px; line-height: ...

  4. CSS div仿table样式

    要想让div元素显示的样式与table相同,那么需要使用display属性,这个属性将告诉浏览器这些数据是制表的,将以哪种样式来渲染数据: // table --使该元素按table样式渲染 // t ...

  5. css初始化样式代码

    为什么要初始化CSS? CSS初始化是指重设浏览器的样式.不同的浏览器默认的样式可能不尽相同,所以开发时的第一件事可能就是如何把它们统一.如果没对CSS初始化往往会出现浏览器之间的页面差异.每次新开发 ...

  6. CSS常用样式及示例

    CSS常用样式及示例 一.简介      层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集) ...

  7. CSS Reset样式重置

    为了让页面在各不同浏览器之间显示效果一致,CSS样式清除和重置是前端开发必需要做的事情,结合前车之鉴,整理了份CSS重置样式代码供参考. @charset "utf-8"; /* ...

  8. CSS详细样式

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  9. 经常使用的两个清爽的table样式

    两个我经常使用的table样式: <html> <head> <title></title> <style type="text/css ...

  10. CSS自学笔记(5):CSS的样式

    CSS中拥有各种各样的样式表,而基本的样式有背景,文本,字体,链接,列表,表格,轮廓. 一.CSS-背景 CSS中允许用纯色背景,也允许用图片来创建复杂的个性背景. p {background-col ...

随机推荐

  1. Quartus II——工程建立和常用设置

    Quartus ii是针对Altera FPGA的一款EDA软件,在此以一个led闪烁工程来简单说一下基本操作: 一.注意事项 Quartus ii最大的注意事项就一点:工程名称以及工程里面的文件名称 ...

  2. Oracle 11g Java驱动包ojdbc6.jar安装到maven库,并查看jar具体版本号

    ojdbc6.jar下载 Oracle官方宣布的Oracle数据库11g的驱动jar包是ojdbc6.jar ojdbc6.jar下载地址:https://www.oracle.com/technet ...

  3. 使用PrintDocument定制打印格式

    虽然说使在IE上直接调用打印插件打印已经不常用,但是有时候还是会用到,这里就记录一下. 首先我们列出来我们的打印类 public class PrintService { //打印机名称 privat ...

  4. 前端开发 Vue Vue.js和Nodejs的关系

    首先vue.js 是库,不是框架,不是框架,不是框架. Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据. Vue.js 的核心是一个允许你 ...

  5. DCL 管理权限

    一个数据库里面有着多个用户,每个用户的权限也不仅相同. 一.查询权限 1.基本语法格式: show grants for '用户名'@'主机名';  2.具体操作 查看 user1 用户的权限 注意: ...

  6. Fortify漏洞之 Log Forging(日志伪造)

    继续对Fortify的漏洞进行总结,本篇主要针对 Log Forging(日志伪造)的漏洞进行总结,如下: 1.1.产生原因: 在以下情况下会发生 Log Forging 的漏洞: 1. 数据从一个不 ...

  7. 如何使用API的方式消费SAP Commerce Cloud的订单服务

    最近Jerry在做一个微信和SAP Commerce Cloud集成的项目,需要在微信里调用后者的Restful API进行订单创建和读取.以前Jerry对SAP Commerce Cloud知之甚少 ...

  8. 解决问题 inner element must either be a resource reference or empty.

    -Q: 错误<item>内部元素必须是资源引用或空 升级Andriod Studio之后编译发现如下错误 Android resource compilation failed ***\a ...

  9. p1.BTC-密码学的原理

    所谓加密货币是不加密的,区块链上所有的交易内容(包括:账户的地址,转账的地址)都是公开的. Bitcoin中主要用到密码学的中的两个功能:Hash和签名. 一 Hash Cryptographic h ...

  10. [nginx] nginx源码分析--框架概览

    ALLINONE 所有我分析到的内容,都花在了一张图里. 其中包括: 1.  核心config数据结构. 2.  模块类关系图. 3. 配置类关系图. 4. 主要模块的实例化实体关系图. 5. htt ...