`
哥只是个传说
  • 浏览: 20663 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

单像素边框表格排版的设置问题(并不容易的问题)

阅读更多

什么?很容易?就让dreamweaver自动生成,设置宽高,然后给一个像素的border给td就能实现,真的很容易吗?但是我们按一般的设置会发现会出现下面这个问题:

出现的问题: firefox ie6,ie7 中存在表格宽高度不一致的显示( firefox ie5.5 的显示一样, ie6 ie7 中显示一样)

一种设置方法(提案):

代码中的设置:
table
标签中: cellspacing="0" cellpadding="0" 这句要加上,否则单元格高度比设置的要高 2px ,即设置的高度和行高为 20px, 实际显示为 22px
css
中设置:定义表格中的样式:加上 border-collapse:collapse; 单元格 td,th 中: line-height:20px; 即用行高的设置代替高度设置。

计算设置好的表格宽度和高度:
单元格的高度: = 行高(不包括边框在内);
单元格的宽度: ie = 设置的宽度(不包括边框在内), firefox= 设置的宽度(不包括边框在内) + border 宽度,(即多算了一个左 border 宽度)
宽度: ie 表格宽度 = 实际设置的表格宽度, firefox 中显示的表格宽度 = 设置的表格宽度 +1* 右(或外)边框宽度 px
高度:这个全部都相同, = 单元格行高 * 行数 ( 多行字,一行字算一行 )+ 边框数

这样做的缺点: firefox 中显示的表格宽度 = 设置的表格宽度 +1* 右(或外)边框宽度 px ;这是由 b order-collapse:collapse这句引起的。

问题出现的原因:

Firefox 对表格的解析和 ie5.5 的模型是一致的

1, 不加 cellspacing="0" cellpadding="0" 这句会出现的问题:

firefox td 的实际高度等于设置的行高 +2px 即默认时 firefox cellspacing cellpadding 是有数值的。

2, 以高度 height 来设置 td 高度 td{height:X px}

Ie6,ie7 以单元格高度(即不加上下边框)为 td 的设置高度,但 ie5.5 firefox 是将单元格和上下边框的高度加起来为 td 的设置高度(如果没有 border-collapse:collapse ,这个高度是算上边框和下边框的高度即: ,X= 单元格实际高 + 上边框 + 下边框,但设置 border-collapse:collapse 以后, border 的高度压缩了,则 ,X= 单元格实际高 +( 上边框 + 下边框 )/2 )。在宽度设置上也存在这个问题。

3, 给单元格设置了宽度后,加 padding 属性 td{width:X px; paading:Apx Bpx Cpx Dpx;}

Ie6,ie7, 的中对宽度的解释: X= 文字宽度,而实际单元格的宽度就等于 X+B+Dpx ,但 firefox ie5.5 是一样的: X= 单元格宽度

4, table border-collapse:collapse 出现的问题 table{width:500px; border-collapse:collapse;}

Ie6,ie7 表格的宽度为设置的实际宽度,但 firefox ie5.5 表格的实际宽度为设置宽度 + 右边框的宽度 /2 。但有时如果我们需要 1px 的边框高度,必须要用到 border-collapse:collapse 时,这个宽度问题是否就可以将就。
另外:如果我们给表格既加了外边框又给单元格加了边框,由于加了这句,显示效果是不同的,ie会显示表格边框的颜色和宽度,但firefox不会,它会用单元格的边框属性覆盖住表格外边框的属性。

有另一种做出单边框的效果:

表格中 table 标签: cellspacing="1" cellpadding="0"

样式表中: table:{ background:red;border:0;}    td{background:green;}

则结果显示的就是红色的边框绿色背景的表格。这是否能替代 border-collapse:collapse ,做单边框表格,而解决 firefox 中宽度超出设置宽度的问题。

试验证明:解决了!不过这样不能单独设置某个单元格的边框效果,不然会出现该单元格多边框的效果:

得出另一种设置表格的方法:

代码中的设置:
table
标签中: cellspacing="1" cellpadding="0"

css 中设置 table:{width:500px; background:red;border:0;}    td,th{background:#fff; line-height:20px;}; 即用行高的设置代替高度设置。

具体表格算法就不再说了,

这种做法好处:

解决了第一个种做法中表格宽度的问题,表格的宽度就直接等于我们设置的宽度了,高度计算和上一种方法一致。


综上,重点:
1,用line-height的设置代替height的设置来设置单元格的高度。
2,
cellspacing,cellpadding这两个属性的重要性。
3,
border-collapse:collapse这句给表格设置带来的差别。
4,td的padding属性ie6,ie7和firefox对此解释的不同。

原文地址:http://hi.baidu.com/bujichong/blog/item/7a24ffde81020a5795ee3762.html
分享到:
评论

相关推荐

    HTML表格及排版实例 PPT

    例如,`border`属性可以设置表格的边框宽度,`bordercolor`设置边框颜色,`width`和`height`分别设置表格的宽度和高度,`bgcolor`定义表格的背景色,`cellspacing`控制单元格之间的间距,`cellpadding`设置单元格...

    Dreamweaver中的表格怎么排版?

    当您在Dreamweaver中插入表格后,可能会发现表格的默认样式并不符合设计需求,这时就需要进行表格的排版和美化。 首先,让我们详细了解一下在Dreamweaver中如何创建和编辑表格: 1. **创建表格**: - 打开...

    尺寸ET2010万能格博版

    根据给定的信息,“尺寸ET2010万能格博版”主要涉及表格尺寸的应用以及相关的设置参数。这里我们将从标题、描述、标签以及部分内容中提取出关键知识点,并进行详细的阐述。 ### 关键知识点 #### 1. 表格尺寸(ET...

    DW CS5模拟题.docx

    - 要实现细线表格效果,可能需要删除单元格内的空格占位符、插入1×1像素图像占位符、设置单元格背景色和调整边框等,选项B、C和D正确。 4. 基础知识: - Dreamweaver中的样式表可以事先定义,并且可以通过样式...

    html+css考试题.docx

    7. 如果一个表格包括有 1 行 4 “列,表格的总宽度为 699”“,间距为 5”“,填充为 0”“,边框为 3”,每列的宽度相同,那么应将单元格定制为多少像素宽。( D)A.126B.136C.147D.167 知识点:HTML 表格宽度...

    d w 基 础

    - **创建1px边框的表格**:虽然默认情况下Dreamweaver不支持创建1像素宽的表格边框,但通过调整表格属性,仍然可以实现这一效果。 - 在插入表格后,将表格边框(Border)设置为0,单元格填充(Cell Padding)设置为...

    DIV+CSS属性设置参数.pdf

    我们将逐一探讨行距、背景图像、宽度、高度、最大字符数等核心概念,并深入讲解各种排版、定位、字体样式、文本装饰以及表格、列表和鼠标样式的相关属性。 1. **行距(Line-height)**:用于设置文本行之间的距离,...

    网页设计考试题.doc

    `type="image"`并不表示按钮。 3. 文本标签属性:`nbsp;`是空格实体,非属性;`align`用于对齐文本,`color`设定文本颜色,`face`用于字体选择,`align`和`color`是文本标签属性。 4. 电子邮件链接:正确的电子...

    分享网络编辑人员必备工具

    是否保留图片的1像素边框,以保持视觉一致性;以及是否保留文章中的表格。此外,一键排版能够自动删除所有样式、JS脚本和注释代码,确保内容纯净。编辑完成后,用户还可以在编辑框内进一步编辑样式,如加粗、下划线...

    HTML基础代码

    * `设置表格格子边框与其内部内容之间空间的大小 * `<table width=? or %>`:设置表格的宽度-用绝对像素值或文档总宽度的百分比 * `设置表格格子的水平对齐(左中右) * `设置表格格子的垂直对齐(上中下) * `设置...

    上海市高校计算机等级考试一级试题A卷.pdf

    - **计算总分和录取意见**:根据总分不少于465分且语文成绩不少于90分的标准来判断是否“录取”,并使用条件格式设置100分以下的成绩为绿色、100分及以上为红色。 - **设置表格格式**:设置C列至G列的列宽为6,...

    20春福师大《网页设计与网站建设》在线作业二答案(100分).docx

    1. **表格布局**:在HTML中,如果一个表格有1行4列,总宽度为699,间距为5,填充为0,边框为3,每列宽度相同,每个单元格的宽度应为(699 - 3*4 - 5*3) / 4 = 167像素。 2. **HTML属性**: - `bgcolor`用来设置背景...

    HTML标签与属性大全

    - `border`: 设置表格边框宽度。 - `cellspacing`: 设置单元格之间的间距。 - `cellpadding`: 设置单元格内容与边框的距离。 - `width`: 设置表格宽度。 - `align`和`valign`: 设置单元格内容的水平和垂直对齐方式。...

    css盒子模型的讲解

    在网页设计领域,随着技术的发展和标准的不断演进,越来越多的设计者开始放弃传统的表格排版方式,转而采用更灵活、强大的CSS(Cascading Style Sheets)来实现网页的布局与美化。其中,CSS盒子模型作为DIV排版的...

    网页制作案例教程试题库.doc

    网页分为静态和动态,Word虽然能撰写文本,但并不适合创建复杂的网页。动态网页的URL中可能包含问号`?`作为参数的分隔符。 15. 动态网页的理解:动态网页的内容会根据时间、用户或其他因素变化,包含交互性的应用...

    html习题(答案).docx编程资料

    要使表格的边框不显示,应设置border的值是()。** - **答案:** B.0 - **解析:** 将`border`属性设置为0可以隐藏表格的边框。 **20. 在HTML中,()不是链接的目标属性。** - **答案:** B.new - **解析:** 链接...

    HTML 常用标签

    - `border`:设置表格边框宽度。 - `cellspacing`:设置单元格间距。 - `cellpadding`:设置单元格内容与边框的距离。 - `width`:设定表格宽度,可以是像素值或百分比。 - `align` 和 `valign`:分别设置...

    PHPWord中文手册

    - **表格样式**:包括表格边框、填充、对齐方式等。 **页眉与页脚** - **添加页眉**:`$section->addHeader($content);` - **添加页脚**:`$section->addFooter($content);` #### 三、其他问题与优化 **解决中文...

    山东省计算机文化基础统考考试题1.pdf

    5. 关于 Frontpage 中表格的知识,表格可以用来控制网页布局,可以插入图片和剪贴画,设置边框参数使其不可见,但不能插入数学公式进行计算。 6. 第三代计算机主要采用中小规模集成电路作为逻辑元件。 7. IE6.0 是...

    Web程序开发:第10章 CSS样式.pdf

    CSS可以用于美化表格,如设置`border-collapse`控制边框合并,`border-spacing`定义单元格之间的间距,`text-align`和`vertical-align`调整单元格内文字的对齐方式。 10.7 轮廓: `outline`属性用于创建元素的轮廓...

Global site tag (gtag.js) - Google Analytics