search
HomeWeb Front-endHTML TutorialA detailed introduction to the calculation rules for table cell width in HTML


About the rendering rules of tablewidth

The calculation method of table cell width is mainly divided into two methods: Fixed table layout, automatic table layout, People who often write CSS should still know this, but we often find that setting the width of the table does not work, or it is rendered without a fixed width. Is this normal? Let’s introduce how these two methods calculate rendering.

First set a few common variables:

  • tableWidth=Table width=100%

  • tableBorderWidth=The left and right border width of the table

  • tdBorderWidth=The sum of the left and right border widths of all columns (the combined border is counted as 1px)

  • tdPadding=The left and right padding sum of all columns

  • tdWidth=The width sum of all columns with width defined

  • tdLength=number of columns

1. Fixed table layout, table additiontable-layout:fixed

ps: In a fixed table layout, the width of a table column has nothing to do with the column content. It is only related to the table width, column width, table left and right borders, column left and right borders, and column left and right padding

By using a fixed table layout, the user agent can display the table after receiving the first row, i.e. only the width of the first row will work

width is the width of the column with auto (i.e. where width is not defined The width of the column, if the calculation result is negative, it is 0) = (tableWidth-tableBorderWidth-tdBorderWidth-tdPadding-tdWidth)/tdLength

1. All th widths are undefined

The width of each column Evenly distributed by table width

th1 th2 th3 th4 th5 th6 th7 th8 th9 th10
row1row1row1row1row1row1row1row1 row2row2row2row2row2row2row2row2 row3 row4row4row4row4row4row4row4row4 row5row5row5row5row5row5row5row5 row6 row7row7row7row7row7row7row7row 7 row8row8row8row8row8row8row8row8 row9row9row9row9row9row9row9row9 row10row10row10row10row10row10row10


2. All th have a defined width, and the sum of the widths of all columns is less than Table width (tableBorderWidth+tdBorderWidth+tdPadding+tdWidth

The width of each column is evenly distributed through the total width; the width of the table is its defined width

#row1row1row1row1row1row1row1row1row2row2row2row2row2row2row2row2 row3row4row4row4row4row4row4row4row4row5row5row5row5row5row5row5row5row6row7row7row7row7row7row7row7row7row8row8row8row8row8row8row8row8row9row9row9row9row9row9row9row9row10row10row10row10row10row10row10


3. All th have a defined width, and the sum of all column widths is greater than the table width (tableBorderWidth+tdBorderWidth+tdPadding+tdWidth > tableWidth)

The width of each column is self-defined Width; the width of the table is the sum of the widths of all columns (which will exceed the width defined by the table)


th1 th2 th3 th4 th5 th6 th7 th8 th9 th10
th1 th2 th3 th4 th5 th6 th7 th8 th9 th10
row1row1row1row1row1row1row1row1 row2row2row2row2row2row2row2row2 row3 row4row4row4row4row4row4row4row4 row5row5row5row5row5row5row5row5 row6 row7row7row7row7row7row7row7row7 row8row8row8row8row8row8row8row8 row9row9row9row9row9row9row9row9 row10row10row10row10row10row10row10

4. The width of part th is set, and the width of the column with th width set at the same time is smaller than the table width (tableBorderWidth+tdBorderWidth+tdPadding+tdWidth

ps: Column with dark gray background For columns with a defined width

The width of a column with a defined width is its own defined width, and the width of other columns without a defined width is the total width of the table minus the sum of the defined widths and then evenly distributed


th1 th2 th3 th4 th5 th6 th7 th8 th9 th10
row1row1row1row1row1row1row1row1 row2row2row2row2row2row2row2row2 row3 row4row4row4row4row4row4row4row4 row5row5row5row5row5row5row5row5 row6 row7row7row7row7row7row7row7row 7 row8row8row8row8row8row8row8row8 row9row9row9row9row9row9row9row9 row10row10row10row10row10row10row10

5. Part of the th width is set, and the width of the column with the th width is set to be greater than Table width (tableBorderWidth+tdBorderWidth+tdPadding+tdWidth > tableWidth)

ps: The columns with dark gray background are columns with defined widths

The actual width of the columns with defined widths is self-defined Width, the width of other columns with no defined width is the total width of the table minus the sum of the defined widths and then evenly distributed. The width after even distribution is less than zero, then Other The width of other columns with no defined width is 0


##th1th2th3th4th5th6th7#th8th9th10row1row1row1row1row1row1row1row1row2row2row2row2row2row2row2row2row3row4row4row4row4row4row4row4row4row5row5row5row5row5row5row5row5row6row7row7row7row7row7row 7row7row7row8row8row8row8row8row8row8row8row9row9row9row9row9row9row9row9row10row10row10row10row10row10row10

2. Automatic table layout, table setting table-layout:auto (the propertydefault value is auto)

The width of each column is determined by the width of the cell without folding. This algorithm is sometimes very slow because it needs to access all columns in the table before determining the final layout

1. The minimum width of all th is not determined

The width of each column is completely determined by the content inside.


##th1th2th3th4th5th6th7#th8th9th10row1row1row1row1row1row1row1row1row2row2row2row2row2row2row2row2row3row4row4row4row4row4row4row4row4row5row5row5row5row5row5row5row5row6row7row7row7row7row7row 7row7row7row8row8row8row8row8row8row8row8row9row9row9row9row9row9row9row9row10row10row10row10row10row10row10
#2. All th have a minimum width defined, and all th are calculated based on the content. The sum of the columns is less than the table width

The width of each column is first calculated based on the content, and cannot be less than the defined minimum width. The excess width is evenly distributed on each column.


##th1row1##3. All th have a minimum width defined, and all ths are calculated based on the content. The sum of columns is greater than the table width
th2 th3 th4 th5 th6 th7 #th8 th9 th10
row2row2row2row2row2row2row2row2 row3 row4 row5 row6 row7 row8 row9 row10
The width of each column is first calculated based on the content, and secondly it cannot be less than the defined minimum width


# #th1th2##row1row2row2row2row2row2row2row2row2row3row4row4row4row4row4row4row4row4row5row6row6row6row6row6row6row6row6row7row6row6row6row6row6row6row6row6row9row10row10row10row10row10row10row10ps: The columns with dark gray background define the minimum width The width of each column
th3 th4 th5 th6 th7 th8 th9 th10
4. Part th defines the minimum width, and the sum of all columns calculated based on the content is less than the table width
is first calculated based on the content, secondly it cannot be less than the defined minimum width, and finally the width rendered by the table cannot be less than the width defined by the table itself.

##th1

th2th3row2row3
th4 th5 th6 th7 #th8 th9 th10 row1
row4row4row4row4row4row4row4row4 row5 row6 row7 row6 row9 row10

5. Part th defines the minimum width, and the sum of all columns calculated based on the content is less than the table width

ps: The columns with dark gray background define the minimum width of the columns

Every The column width is first calculated based on the content, and secondly it cannot be less than the defined minimum width


##th1th2th3th4th5th6th7th8th9th10##row1
row2row2row2row2row2row2row2row2 row3 row4row4row4row4row4row4row4row4 row5 row6row6row6row6row6row6row6row6 row7 row6row6row6row6row6row6row6 row9 row10row10row10row10row10row10row10

The above is the detailed content of A detailed introduction to the calculation rules for table cell width in HTML. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
HTML超文本标记语言--超在那里?(文档分析)HTML超文本标记语言--超在那里?(文档分析)Aug 02, 2022 pm 06:04 PM

本篇文章带大家了解一下HTML(超文本标记语言),介绍一下HTML的本质,HTML文档的结构、HTML文档的基本标签和图像标签、列表、表格标签、媒体元素、表单,希望对大家有所帮助!

html和css算编程语言吗html和css算编程语言吗Sep 21, 2022 pm 04:09 PM

不算。html是一种用来告知浏览器如何组织页面的标记语言,而CSS是一种用来表现HTML或XML等文件样式的样式设计语言;html和css不具备很强的逻辑性和流程控制功能,缺乏灵活性,且html和css不能按照人类的设计对一件工作进行重复的循环,直至得到让人类满意的答案。

web前端笔试题库之HTML篇web前端笔试题库之HTML篇Apr 21, 2022 am 11:56 AM

总结了一些web前端面试(笔试)题分享给大家,本篇文章就先给大家分享HTML部分的笔试题(附答案),大家可以自己做做,看看能答对几个!

HTML5中画布标签是什么HTML5中画布标签是什么May 18, 2022 pm 04:55 PM

HTML5中画布标签是“<canvas>”。canvas标签用于图形的绘制,它只是一个矩形的图形容器,绘制图形必须通过脚本(通常是JavaScript)来完成;开发者可利用多种js方法来在canvas中绘制路径、盒、圆、字符以及添加图像等。

总结HTML中a标签的使用方法及跳转方式总结HTML中a标签的使用方法及跳转方式Aug 05, 2022 am 09:18 AM

本文给大家总结介绍a标签使用方法和跳转方式,希望对大家有所帮助!

html5废弃了哪个列表标签html5废弃了哪个列表标签Jun 01, 2022 pm 06:32 PM

html5废弃了dir列表标签。dir标签被用来定义目录列表,一般和li标签配合使用,在dir标签对中通过li标签来设置列表项,语法“<dir><li>列表项值</li>...</dir>”。HTML5已经不支持dir,可使用ul标签取代。

html中document是什么html中document是什么Jun 17, 2022 pm 04:18 PM

在html中,document是文档对象的意思,代表浏览器窗口的文档;document对象是window对象的子对象,所以可通过“window.document”属性对其进行访问,每个载入浏览器的HTML文档都会成为Document对象。

html5支持boolean值属性吗html5支持boolean值属性吗Apr 22, 2022 pm 04:56 PM

html5支持boolean值属性;boolean值属性指是属性值为true或者false的属性,如input元素中的disabled属性,不使用该属性表示值为flase,不禁用元素,使用该属性可以不设置属性值表示值为true,禁用元素。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment