使用表格布局时,对单元格的宽度控制很伤脑筋,所以查阅资料整理如下:

一、表格布局table-layout

  语法:
    table-layout : auto | fixed

  取值:

    auto  : 大多数浏览器采用自动表格布局算法对表格布局;表格及单元格的宽度取决于其包含的内容。

    fixed :表格和列的宽度通过表格的宽度来设置,某一列的宽度仅由该列首行的单元格决定;在当前列中,该单元格所在行之后的行并不会影响整个列宽。

  **注意**

    使用 “fixed” 布局方式时,整个表格可以在其首行被下载后就被解析和渲染。

    这样对于 “automatic” 自动布局方式来说可以加速渲染,但是其后的单元格内容并不会自适应当前列宽。

    任何一个包含溢出内容的单元格可以使用 overflow  属性控制是否允许内容溢出。

二、单元格文字控制

  1.white-space

    该属性是用来设置如何处理元素中的空白

    语法:

      white-space : normal | pre | nowrap | inherit
    取值:
      normal : 默认值;文本自动处理换行;假如抵达容器边界内容会转到下一行;

      pre      : 连续的空白符会被保留,在遇到换行符或者<br>元素时才会换行;

            换行和其他空白字符都将受到保护;
            这个值需要IE6+或者 !DOCTYPE 声明为 standards-compliant mode 支持;

            如果 !DOCTYPE 声明没有指定为 standards-compliant mode ,此属性可以使用,但是不会发生作用;结果等同于 normal ;

      nowrap : 连续的空白符会被合并,强制在同一行内显示所有文本,直到文本结束或者遭遇 br 对象;

  2.word-break

    该属性指定了怎样在单词内断行

    语法:
      word-break : normal | break-all | keep-all

    取值:

      normal   : 依照亚洲语言和非亚洲语言的文本规则,允许在字内换行 ;

      break-all: 对于non-CJK (中文/日文/韩文) 文本,可在任意字符间断行 ;

      keep-all : CJK 文本不断行;

           Non-CJK 文本表现同 normal(与所有非亚洲语言的normal相同;对于中文,韩文,日文,不允许字断开;

           适合包含少量亚洲文本的非亚洲文本与之间的高度解决办法);

三、表格宽度综合处理

  1.css固定table td的宽度(默认显示)

 table{table-layout: fixed;}
<th style="width:63px" ></th>
td{white-space: normal;}

  2.css固定table td的宽度(一行显示)

table{table-layout: fixed;}
<th style="width:63px" ></th>
td{white-space: nowrap; overflow:hidden;word-break:break-all;} /*防止换行*/

四、CSS设置文本强制换行和不换行写法(题外)

  1.不转行

 .text{overflow:hidden;white-space:normal;}

  2.强行换行

.text{word-break: normal;}

五、本文涉及链接

  https://developer.mozilla.org/zh-CN/docs/Web/CSS/table-layout

  https://developer.mozilla.org/zh-CN/docs/Web/CSS/white-space

  https://developer.mozilla.org/zh-CN/docs/Web/CSS/word-break

CSS设置表格TD宽度布局的更多相关文章

  1. 设置表格td宽度

      CSS布局,表格宽度不听使唤的实例.想把表格第一例宽度设为20,其他自适应.但CSS中宽度是等宽的.只设这一行也不起作用.但是在实际应用中总是等宽处理,并不按照样式来走. XML/HTML代码 & ...

  2. 如何通过css设置表格居中

    CSS控制整个表格居中,不只是让表格里的文字居中,是整个表格居中1. 不用table的Align="center",要用CSS实现2. 不加<center></c ...

  3. CSS设置超出指定宽度自动换行

    一.背景 最近项目中有用到在div中显示用户反馈的信息,是指定宽度的div,超出要自动换行,开始写好后感觉应该没什么问题,后来自己随便输入测试数据的时候发现:如果是纯字母或者是纯数字就会出现超出了也不 ...

  4. 设置表格td超出内容后截取并以...显示

    .ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } <table style=" ...

  5. css两列自适应宽度布局(左定宽,右自适应)

    1.利用BFC: <div id="root"> <div class="left">左</div> <div cla ...

  6. layui静态表格固定td宽度,table固定td宽度

    正在做一个项目,要求数据表的列是不固定的,有可能是有10列,有可能是20列,第一列宽度要固定,然后我怎么设置都没有用, 这个问题困扰了我三天,后来终于百度到了, 这个博客: https://www.c ...

  7. CSS+DIV网页样式与布局:第二章:CSS的基本语法

    第二章:CSS的基本语法 一 CSS选择器(所有的HTML语言中的标记都是通过不同的css选择器进行控制的).用户只需要 通过选择器对不同的HTML标签进行控制,并赋予各种样式声明,即可实现各种效果. ...

  8. table表格宽带研究(附带:table表格为什么设置td宽度无效)

    情况1:下面代码定义了表格宽带为为600px,未设置td宽带,3个td内容为1,2,3,可以看到3个内容平分table的宽度. 也就是每个td都是200px(请注意:如果用chrome调试宽度,会有一 ...

  9. 精通CSS+DIV网页样式与布局--设置表单和表格

    表格和表单是网页中非常重要的两个元素,在上篇博客中,我们简单的介绍了CSS的页面背景设置,今天小编继续来介绍CSS的相关知识,在我们的CSS中如何设置表格和表单,首先,来看一张思维导图,通过图简单的预 ...

随机推荐

  1. 【LeetCode每天一题】Length of Last Word(字符串中最后一个单词的长度)

    Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...

  2. 如何相互转换逗号分隔的字符串和List【转】

    将逗号分隔的字符串转换为List 方法 1: 利用JDK的Arrays类 String str = "a,b,c"; List<String> result = Arr ...

  3. Delphi中的消息 (转载)

    消息是Windows发出的一个通知,它告诉应用程序某个事件发生了.在Delphi中,大多数情况下Windows的消息被封装在VCL的事件中,我们只需处理相应的VCL事件就可以了,但如果我们需要编写自己 ...

  4. 0006-20180422-自动化第七章-python基础学习笔记

    内容回顾: - bytes - str 和bytes - int - str - list - tuple - 深拷贝和浅拷贝 今日内容: 数据类型 - bytes - int - str - boo ...

  5. bash vim等常用命令

    生成的txt一不小心带了./,用vim: :%s/\.\/single/single #%s/xxx/yyy/g是全文本替换,这里用\将特殊字符.和/转换成普通字符 结果还不错: ---------- ...

  6. 线上bug分析

    昨天下午大神把组内几十号人召集在一起开Online bug分析大会,主要是针对近期线上事故从事故原因和解决方案两个维度来分析. 对金融软件来说,每一次的线上事故都有可能给公司带来重大的损失,少扣了用户 ...

  7. 一个简单好用的日志框架NLog

    之前我介绍过如何使用log4net来记录日志,但最近喜欢上了另一个简单好用的日志框架NLog. 关于NLog和log4net的比较这里就不多讨论了,感兴趣的朋友可以参看.NET日志工具介绍和log4n ...

  8. C++ 打印机设置

    我在网上已不断看到一些网友关于自定义纸张打印的问题,基本上还没有较完美的解决方案,我在这里提供一个WindowsNT/2000/XP下的解决办法,供广大同仁参考.Windows9x/Me下也有解决办法 ...

  9. MySQL条件检索_WHERE

    MySQL使用WHERE命令来限定数据查询条件. 语法:SELECT 属性1,属性2 FROM 表名 WHERE 条件1 OR 条件2 AND 条件3 说明:WHERE同样适用于UPDATE.DELE ...

  10. Linux学习笔记之时间同步the NTP socket is in use, exiting问题

    [root@app1 ~]# ntpdate ntp.api.bz 17 Apr 14:39:09 ntpdate[24744]: the NTP socket is in use, exiting ...