LODOP打印table表格宽度固定-超宽隐藏

之前有博文介绍关于超出div隐藏内容的:LODOP打印超过后隐藏内容样式
里面提到了overflow:hidden;控制超出后隐藏,但是前面那篇用的是div,如果是在table中,由于table默认的table-layout是auto自动,虽然设置了超出隐藏,也设置了具体的td单元格宽度,设置了table的具体宽度,但是因为这个able-layout是auto还在,内容超过设置的宽度,表格宽度也会发生变化,设置的具体的td的宽度也没有完全按照设置的宽度进行布局。

前面还有篇是介绍固定table宽高的(如何固定table表格宽度,样式不受容器影响),需要知道存放内容的大致多少来进行设计表格,如果内容比宽高设置的多,为了显示完全,宽高还是会有变化,如果想完全固定宽高,超出的直接隐藏掉,可以进行如下设置:

固定表格宽度,超过宽度隐藏:
table:table-layout:fixed;
td:overflow:hidden;

前面那篇博文的是table不受容器影响,但是表格宽度还可能受到内容的影响,这里通过对表格布局固定超出内容影响,实现内容不会影响表格宽度。

测试代码:

代码中的测试:
有效:宽有效(内容是空格)
有效:宽有效(内容不超出设定宽度)
无效:宽度不是设置的宽度(内容超出设定宽度)
无效:td设置了超出隐藏,宽度不是设置的宽度(内容超出设定宽度)
有效:table设置了table-layout:fixed,宽度固定(但是内容超出了表格)
有效:table设置了table-layout:fixed且td设置了超出隐藏,内容在表格里且宽度有效

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<div id="d1"><!--table和td都加固定宽度-->
<table border=1 style="width:140px;border-collapse:collapse" ><!--宽高有效-->
<tr>
    <td style="width:40px;">&nbsp;</td>
    <td style="width:100px;">&nbsp;</td>
</tr>
</table>
<br>
<table border=1 style="width:140px;border-collapse:collapse" ><!--宽高有效(内容不超出)-->
<tr>
    <td style="width:40px;">1</td>
    <td style="width:100px;">333</td>
</tr>
</table>
<br>
<table border=1 style="width:140px;border-collapse:collapse" ><!--内容超出宽度,单元格宽高无效-->
<tr>
    <td style="width:40px;">1</td>
    <td style="width:100px;">333333333333333333333333333333333333333333333333</td>
</tr>
</table>
<br>
<table border=1 style="width:140px;border-collapse:collapse;" ><!--内容超出宽度,单元格设置了溢出隐藏,无效-->
<tr>
    <td style="width:40px;">1</td>
    <td style="width:100px;overflow:hidden;">333333333333333333333333333333333333333333333333</td>
</tr>
</table>
<br>
<table border=1 style="width:140px;border-collapse:collapse;table-layout:fixed;" ><!--内容超出,表格设置了table-layout:fixed-->
<tr>
    <td style="width:40px;">1</td>
    <td style="width:100px;">333333333333333333333333333333333333333333333333</td>
</tr>
</table><br>
<table border=1 style="width:140px;border-collapse:collapse;table-layout:fixed;" ><!--内容超出,格设置了table-layout:fixed且设置了超出隐藏-->
<tr>
    <td style="width:40px;">1</td>
    <td style="width:100px;overflow:hidden;">333333333333333333333333333333333333333333333333</td>
</tr>
</table>
<br>
</div>
<a href="javascript:prn1_preview()">表格宽度是否固定</a><br>
<script language="javascript" type="text/javascript">
        var LODOP; //声明为全局变量
    function prn1_preview() {
        LODOP=getLodop();
        LODOP.PRINT_INIT("");
        LODOP.ADD_PRINT_HTM(0,0,"100%","100%",document.getElementById("d1").innerHTML);
        //LODOP.PRINT_DESIGN();
        LODOP.PREVIEW();
    };
</script>
</body>

图示:

原文地址:https://www.cnblogs.com/huaxie/p/11157189.html

时间: 2024-08-26 19:05:08

LODOP打印table表格宽度固定-超宽隐藏的相关文章

LODOP打印table超宽用省略号带&#39;-&#39;的内容换行问题

前面的博文有div超宽隐藏(LODOP打印超过后隐藏内容样式),还有有table设置超宽隐藏(),此外,还有超宽后用省略号表示的css样式,此文是针对这个样式的.该样式正常情况下没问题,但是遇到-短线这种英文连接符的时候,会导致换行,换行后隐藏后面的内容,为了宽度固定,可以设置不换行样式,但是浏览器显示正常,lodop可能会有问题.此问题可以用table里需要的内容嵌套div来解决.加了居中样式后,-线会可能会变省略号问题:可见本博文的最下方的代码测试代码2和图示2. 测试代码1: 去掉了注释,

html - table 表格不被撑开,td某些列宽度固定某些列自适应

table-layout 属性的解释:http://www.w3school.com.cn/cssref/pr_tab_table-layout.asp 1,实现table细边框,设置如下css: table,table td,table th{border:1px solid #ff0000;border-collapse:collapse;} 2,table表格宽度固定,同时td内容过长也不会被撑开,设置如下css: table{table-layout:fixed;word-break:b

table表格某一td内容太多导致样式混乱的解决方案

在开发过程难免遇到这样那样的问题.对于有很多条目的数据,我们通常采用table元素来快速实现.如果某一个td的内容太多的话就会出现下面的情况,导致样式混乱难看. 解决方案 要让table的宽度固定我们可以给table元素设置table-layout:fixed;样式,但这样表格的宽度问题是解决了,但是里面的内容并不会自动换行.我们还需要给td设置word-break: break-all; word-wrap:break-word;即可完美解决. http://www.7kxs.com/4gsh

table拖动(兼容Firefox 3.5/IE6),固定表格宽度

效果:可鼠标拖动td,动态修改它们的宽度 html: <html> <head> <title>table拖动(兼容Firefox 3.5/IE6),固定表格宽度</title> <meta content="charset=utf-8"> <link rel="stylesheet" href="css/22.css" /> </head> <body&g

LODOP打印超文本字符串拼接2 单选选择css样式表格

之前的相关字符串拼接的博文:LODOP打印超文本字符串拼接1 固定表格填充数值之前博文介绍过,字符串可以随意拼接,只要最后组织成的字符串是自己需要的超文本就可以了,前面还有一篇也是拼接样式的:Lodop打印如何隐藏table某一列.该文也演示拼接样式,演示如何用单选框选择样式,一个按钮实现不同的样式的打印效果.由于之前的博文:Lodop打印控件不打印css背景图怎么办,这个是早期写的,没有在博文里放代码,代码都在图里,这里再演示下lodop不打印css背景图的解决方法. 如图,一个单选框是选择的

asp.net table表格表头及列固定实现

在开发中常会遇到table表格中列特别多,下拉后,表头就看不见了,水平滚动后,第1.2列就看不见了,于是需求就出来了,就是需要固定table的表头和列. demo结构如下图所示: demo下载地址:http://download.csdn.net/detail/taomanman/9124949 示例运行效果如下图所示: 版权声明:本文为博主原创文章,未经博主允许不得转载.

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

情况1:下面代码定义了表格宽带为为600px,未设置td宽带,3个td内容为1,2,3,可以看到3个内容平分table的宽度. 也就是每个td都是200px(请注意:如果用chrome调试宽度,会有一定的误差,因为600px还包括边框,因此实际宽度可能是198px,这里进行了简化,下同). <table style="width:600px; background-color:red" > <tr> <td>1</td> <td&g

关于html中table表格tr,td的高度和宽度

做网页的时候精到会遇到各种各样的问题,经常遇到的一个就是会碰到表格宽度对不齐的问题. 首先,来分析一下这三个标签中height和width的区别: 1.table中的width和height设置及其作用:table中设置的height其实是设置个最小值,也就是当表格中的内容或者行高总值超过这个设置值时,会自动延长表格的height值,当表格中的内容或者行高没有达到这个值时,会自动扩大到这个值.table中设置的width值一般为表格宽度的最大值,不能改变,即使内部的内容宽度超过也不能改变.(这个

如何让table中td宽度固定

table中td会随着里面的内容伸缩,设置其width样式并没有效果.这个时候需要下面的CSS可以实现. 首先是设置table .table {table-layout:fixed;} 其次是td .table  td { overflow: hidden; white-space: nowrap; text-overflow: ellipsis;} 如何让table中td宽度固定