`
ilyych
  • 浏览: 12619 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

都是table集标签默认的display样式惹得祸

阅读更多

http://www.iteye.com/topic/765150 提及该问题。做个分析记录如下:

文中引介了几个解决方案
1)hack方法,IE和FF显示正常,但是chrome,opera, safari不能正常显示了,并且hack方法不建议使用。
2)在div外加center标签,显示效果OK,但不符合布局规则并且是不建议使用的标签。
3)经测试,效果完美。

<style type="text/css">
.container {border: solid 1px blue; text-align:center;}
table {border: solid 1px red; margin-left:auto; margin-right:auto; }
td {border: solid 1px green;}
</style>
<div class=container>
    <table>
        <tr><td>Text</td></tr>
    </table>
</div>
 

经仔细分析,这个问题是因为table,thead, tbody, tfooter, tr,th, td都有默认的display样式导致,而IE与其他浏览解析不同。

CSS2下display相关属性值

display : none | inline | block | list-item | run-in | compact | marker | table | 
          inline-table| table-row-group | table-header-group | table-footergroup | 
          table-row | table-column-group | table-column | table-cell | table-caption 

 

以下代码就会出现与使用table同样的问题

<style type="text/css">
.container {border:solid 1px blue; text-align:center;}
.content {border:solid 1px red; display:table;}
</style>
<div class="container">
    <div class="content">test</div>
</div>


其他不完美的解决方式:
1)如果简单要让table居中,可以设置table的display:inline。
问题:IE、chrome、safari显示OK;firefox、opera显示有问题。
         因为inline不能设置宽度和高度,浏览器对inline的解析效果不同。

<style type="text/css">
.container{border:solid 1px blue; text-align:center;}
table {border:solid 1px red; display:inline;}
td {border:solid 1px green; }
</style>
<div class="container">
    <table>
        <tr><td>Text</td></tr>
    </table>
</div>

2)设置table宽度100%,并让td的text-align:center;
问题:td中的文本只是相对table居中。

<style type="text/css">
.container{border:solid 1px blue; text-align:center;}
table{border:solid 1px red; width:100%;}
td {border:solid 1px green; text-align:center;}
</style>
<div class=container>
    <table>
        <tr><td>Text</td></tr>
    </table>
</div>

 

1
1
分享到:
评论

相关推荐

    HTML标签的默认CSS样式汇总

    2. **标题标签(h1-h6)**:这些标签表示不同级别的标题,字号由大到小,且都有一定的默认外边距。 3. **无序列表(ul)和有序列表(ol)**:无序列表的默认样式是使用圆点作为项目符号,有序列表则使用数字。它们...

    XHTML标签的默认样式

    在XHTML中,每个标签都有其预设的默认样式,这些样式由浏览器自动应用,使得网页能够呈现出基本的布局和外观。理解这些默认样式对于开发人员来说至关重要,它可以帮助我们在设计网页时避免一些常见的布局问题,并且...

    table嵌套table边框样式

    当涉及到`div嵌套table`的外边框时,由于div默认没有边框,我们需额外设置`div`的样式: ```css div.container { border: 1px solid #black; display: inline-block; /* 或者使用 "block",取决于你的布局需求 */...

    好看table样式 好看的CSS——Table样式表

    网络上收集的css table样式 好看table样式 好看的CSS——Table样式表

    漂亮的table表格样式

    在网页设计中,表格(Table)是一种常见的数据展示方式,尤其在数据分析、报告撰写和信息组织等方面发挥着重要作用。"漂亮的table表格样式"是关于如何通过CSS(Cascading Style Sheets)来美化HTML表格,使其视觉...

    几种实用table样式

    根据给定文件的信息,本文将详细介绍几种实用的表格(table)样式,并且深入解析每种样式的具体实现方法。这几种样式包括纯CSS样式、图片背景的CSS样式、颜色变化的CSS样式以及需要JavaScript支持的表格样式。 ### ...

    漂亮的table样式(内附css)

    在网页设计中,表格(Table)是展示数据的重要方式,然而默认的HTML表格样式往往显得单调,不符合现代网页设计的美观需求。为了提升表格的视觉效果,我们可以利用CSS(Cascading Style Sheets)来定制表格的样式。...

    bootstrap集成table样式的总结

    本篇文章将深入探讨如何在Bootstrap中集成和使用Table样式。 一、基础样式 Bootstrap的表格默认具有简洁的样式,包括水平对齐的单元格、行高亮以及可选的striped(斑马纹)和bordered(带边框)样式。通过添加`...

    html标签默认样式整理

    在HTML中,每个标签都有其默认的样式属性,这些属性在不同的浏览器之间可能存在细微差异。本文主要整理了一些常见的HTML标签的默认样式,这对于理解CSS布局以及进行网页设计非常有帮助。 首先,很多标签默认是块级...

    各种浏览器的默认css 样式

    在网页设计和开发中,了解不同浏览器的默认CSS样式至关重要,因为这直接影响到网页在不同环境下的呈现效果。本文将详细探讨各种浏览器,包括IE(Internet Explorer)的多个版本、Firefox(火狐)等,它们对CSS样式的...

    table样式.zip

    "table样式.zip"这个压缩包就是为此目的提供的,它包含了一些预设的、美观的Table样式,帮助开发者快速创建出吸引眼球的前台Table。 在"tablecloth"这个文件中,我们可以找到一系列CSS样式和可能的HTML结构示例,...

    display标签使用

    在display:table标签中,默认情况下,空记录时不显示表头信息。如果想要显示表头信息,可以使用以下代码: `&lt;display:setProperty name="basic.msg.empty_list_row" value="" /&gt;` `&lt;display:setProperty name=...

    html中table的表格样式

    此外,响应式设计是现代网页开发的重要组成部分,对于表格,可以使用媒体查询或`display: table-cell`/`display: block`切换来实现不同屏幕尺寸下的适配。 最后,`&lt;caption&gt;`标签用于添加表格标题,而`&lt;tfoot&gt;`则...

    displaytable标签.pdf

    displaytable标签.pdf

    Table常用的几种CSS样式

    - 使用`display: table`、`table-cell`和`table-row`等CSS属性,可以模拟表格布局,实现更复杂的样式效果。 - 利用`box-shadow`和`rgba()`创建阴影效果,增加表格立体感。 10. **自定义提示信息**: - 使用`:...

    HTML4标签的默认样式列表

    本文将详细介绍这些标签的默认样式,并提供如何根据需要自定义这些样式的指导。 #### 块级元素 块级元素(block-level elements)默认占据其父容器的整个宽度。以下是一些常见的块级元素及其默认样式: - **html**...

    CSS3默认样式

    ### CSS3默认样式的解析与应用 #### 一、引言 在网页设计与开发过程中,CSS(层叠样式表)扮演着至关重要的角色。它不仅能够帮助开发者美化页面布局,还能实现各种复杂的视觉效果。CSS3作为CSS的最新版本之一,引入...

    table与tab页css样式与demo.zip

    2. 布局:表格默认有自动调整列宽的特性,但可以通过CSS控制如`width`、`height`、`border`等属性来自定义样式。 3. CSS美化:在描述中提到,将`th`的颜色替换为#E4EDF9可以使表头更加突出。此外,还可以使用`...

    CSS样式Table[6] - style-table

    在这个主题"CSS样式Table[6] - style-table"中,我们将深入探讨如何使用CSS来美化和控制表格的样式。 表格在数据展示和组织信息时非常有用,但默认的HTML表格样式通常较为朴素。CSS提供了丰富的选择器和属性,让...

    经典使用的table样式

    总的来说,"经典使用的table样式"涵盖了从基本的样式设计到高级的交互功能,通过使用如TableCloth这样的工具,开发者可以轻松实现这些效果,提升表格在网页中的呈现质量和用户体验。同时,理解并掌握这些样式和功能...

Global site tag (gtag.js) - Google Analytics